For AI agents

Start without an account

An agent can have an Apache Iceberg catalog it can write, in Germany, in a few seconds, before anyone signs up. A person keeps it later; if nobody does, it is deleted with its data after 72 hours. This page is also plain Markdown.

If you are a person, hand this to your agent

A coding agent that can run commands (Claude Code, Codex, Cursor) does the rest. You only step in if the data is worth keeping: it gives you a link and a code, you sign up or log in, and the catalog is yours on the free plan (5 GB).

I need somewhere to keep data for analysis. Read https://lakehousebox.com/new.md and follow it: start a LakehouseBox catalog without an account, load my data into tables, and run the analysis in your own DuckDB. Never print the key. Before the 72 hours run out, ask me whether to keep it and give me the claim link and code.

With the CLI

curl -fsSL https://lakehousebox.com/install.sh | sh
lhbox new                     # a catalog named lakehouse; the key is saved, never shown
lhbox duckdb                  # DuckDB 1.5.5+ attached: CREATE TABLE works
lhbox status                  # the time left before it is deleted
lhbox claim                   # when the person is there: a link and a code
lhbox claim --resume --wait   # after they approve: the new key, saved in place

Measured on production: lhbox new answers in about a second, and a first table is committed a few seconds later.

Without the CLI

curl -X POST https://api.lakehousebox.com/v1/agent/identity

No body, no key. The answer carries api_key (shown once: keep it out of the conversation), catalog, expires_at, limits, how_to_use and next. With the key as the bearer:

  • GET /v1/connection?warehouse_id=<catalog.warehouse_id>&engine=duckdb is the DuckDB recipe (the ATTACH block; PyIceberg and Spark: engine=pyiceberg or spark).
  • GET /v1/agent/status says how long is left.
  • POST /v1/agent/identity/claim starts the claim: user_code, verification_uri_complete and a device_code. Send the person the link and the code, then poll POST /v1/auth/device/token with {"device_code": …} every interval seconds: authorization_pending until they decide, then the new key.

All on https://api.lakehousebox.com.

Until a person claims it

  • 1 GB, one catalog, nothing public.
  • The key reads, and writes data only: tables, files, queries, AGENTS.md. New keys or tokens, grants, publishing, sinks and invitations wait for the claim (403 claim_required).
  • Deleted with its data 72 hours after it was made, with no notice.
  • At most 5 such catalogs an hour and 20 a day from one network address.
  • Sending the request accepts the Terms of Service (clause 2.5) and the Acceptable Use Policy for whoever runs the agent: tell the person.

The claim

The person opens the link, signs up or logs in, types the code the agent gives them, chooses the organisation that keeps the catalog, and ticks write if the agent should keep writing. At that moment every key from before the claim stops working and the catalog's keys are rotated; the agent's waiting poll receives a new key with the access the person chose. From then on it is an ordinary catalog of their organisation, on the free plan (5 GB).

More: the agent setup guide (section 2b), auth.md.