Introduction

Search the web like a database.

Dataembed is an open-source alternative to Exa Websets. You describe what you're looking for in plain English — "YC companies building dev tools for Postgres" — and a durable agent turns it into a webset: a structured table of real web entities, each row verified against your criteria (with verbatim evidence quotes) and enriched with extracted data columns.

Under the hood, one run means: plan search queries + criteria + columns, fan each query out across every configured search provider, merge the ranked lists, then fetch and verify every candidate page with an LLM. Rows stream into your table live as they complete. See How it works for the full pipeline.

Try it in 2 minutes

No account needed. Go to the homepage, type a query, and watch the webset build. Anonymous sessions are capped at 3 websets per hour (per IP), 3 search queries, and 10 results per webset — sign up to raise the caps to 6 queries and 25 results.

Export any webset as CSV or JSON from the results page, or via the REST endpoints.

Self-host

Dataembed is a single Next.js app (the agent runs inside it) backed by Postgres. Minimum setup:

git clone https://github.com/kyh/dataembed.git
cd dataembed
pnpm install

cp .env.example .env
# set POSTGRES_URL, BETTER_AUTH_SECRET, AI_GATEWAY_API_KEY

pnpm db:push
pnpm dev

That's the whole stack — one API key (Vercel AI Gateway) powers planning, search, and verification. Optional provider keys (Exa, Parallel, Firecrawl) widen the search fan-out. The full environment reference lives in Self-hosting.

Pages

  • How it works — the run lifecycle: plan, search, verify, stream, resume.
  • Search providers — the provider fan-out, rank fusion, and model overrides.
  • API — the export and stream REST endpoints.
  • Self-hosting — environment variables and deployment.

On this page