Author
Your agent inspects the page with its own browser and writes a flat parser config — CSS selectors, field types, transforms. ~20 lines of JSON, not a codebase.
"price": { "css": "span.price", "type": "number" }Author parsers with the agent you already use — Claude Code, Cursor, any MCP client. Test them against the live web, then run batches, crons, and multi-step crawls that land clean rows in a SQL database your agent queries directly.
You
“Scrape these three stores into a products table. Keep it fresh nightly.”
Your agent
→ test_parser · title 20/20 · price 20/20 · sku 19/20
→ save_parser · price-monitor v2 · green
→ run_batch · 4,980 urls queued · fair queue
→ create_cron · 0 6 * * * · nightly
SELECT * FROM products ORDER BY _scraped_at DESC
4,980 rows · private database · updated today at 06:00
| sku | price | in_stock | _scraped_at |
|---|---|---|---|
| alpine-jacket-m | $118.00 | true | 06:00:12 |
| trail-runner-42 | $89.50 | true | 06:00:12 |
| summit-pack-28l | $134.00 | false | 06:00:13 |
| ridge-fleece-l | $72.25 | true | 06:00:13 |
Claude Code · Cursor · Codex
Full surface over MCP — 16 tools
20+ prebuilt APIs
A private SQL database per dataset
01 / How it works
The intelligence happens once, when your agent authors the parser. Every run after that is deterministic — fast, cheap, repeatable, debuggable.
Your agent inspects the page with its own browser and writes a flat parser config — CSS selectors, field types, transforms. ~20 lines of JSON, not a codebase.
"price": { "css": "span.price", "type": "number" }One call runs the config through the production fetch stack and returns per-field match counts and samples. The agent iterates until green — no deploy loop.
POST /v1/parsers/test → title 20/20 · price 20/20One call submits 5,000 URLs. Fair queueing, retries, and rate control are our problem, not yours.
POST /v1/batches → 5,000 urls acceptedRows upsert into your private SQL database, keyed so re-runs keep tables clean. Your agent reads results the way it already knows how.
SELECT * FROM products WHERE price < 2002 / The runtime
Your agent authors the intelligence once. These are the parts that run it forever — deterministic, fair, and debuggable.
HTML, JSON, API, or regex — one compact config format your agent writes and owns. Per-field diagnostics show what matched, what nulled, and what to fix.
Submit thousands of URLs in one call. Weighted fair admission means a whale next door never starves your jobs; retries and idempotency come standard.
Every dataset is a real, private SQL database. Keyed upserts keep re-runs clean. Query with SQL, dump as CSV or NDJSON, wire it straight into your app.
Schedule any parser or workflow. Overlap protection, durable fire records, and automatic disable after repeated failures — no babysitting.
List page → detail pages in one linear pipeline, with URL dedupe across runs so you only ever fetch what's new.
Instagram, TikTok, YouTube and 20+ more endpoints, ready on day one. Batch them like anything else. No parser needed.
03 / Built for agents
The MCP server isn't a demo with three tools — it's the whole product: parsers, batches, databases, SQL, crons, workflows, status. Sixteen tools, the same API key as HTTP, the same shapes back. Whatever your agent can do over the API, it can do over MCP.
Add one server entry and your agent gets the full toolset — create parsers, run batches, query results — inside Claude Code, Cursor, or any MCP client.
A clean /v1 REST surface with one error envelope. Every error carries a hint field — written for a model to act on, not a human to google.
A step-by-step agent guide teaches the whole authoring loop: discover selectors, dry-run, save, scale. Paste it into your agent's context and go.
test_parser price-monitor — live urls, sample of 20
hint
3 pages nulled `sku` — selector `.sku-code` absent on bundle pages. Samples attached; add a fallback selector and re-test.
Designed for context windows
Responses are counts and samples, never dumps. Results over the cap come back truncated with a hint for paging the rest. Your agent's tokens are the scarcest resource in the loop — we treat them that way.
04 / Reliability
The runtime doesn't try to be smart. It tries to be fair, isolated, and accountable — every run, every night.
Each of your databases is a separate database — isolation by architecture, not a WHERE clause we hope holds.
Every billable execution is logged and attributable to its job, batch, cron, or workflow run.
No API key can see, run, or even confirm the existence of another user's parsers, jobs, or data.
Prebuilt APIs
Need data before you need a parser? Instagram, TikTok, YouTube and 20+ more endpoints, one credit away. Discovery is free and unauthenticated — your agent can browse the catalog before you even sign up.
Browse the catalog05 / Pricing
Credits meter live collection work—a scrape or a prebuilt call. Creating and dry-running a parser against stored HTML is free, and SQL queries are unmetered.
Start with 1,000 free credits
Every new account can create one private database and start collecting immediately. No credit card required.
For new projects and focused recurring collections.
$49/ month
Credits replenish monthly
For growing data operations with multiple live jobs.
$99/ month
Credits replenish monthly
For high-volume collection across many sources.
$299/ month
Credits replenish monthly
06 / FAQ
Your AI agent is the operator, not a gimmick. It authors parsers, tests them, submits batches, schedules crons, and queries results — over MCP or HTTP with one API key. The dashboard is optional.
No — and that's the point. Your agent writes a deterministic parser once; every run after that is plain fetch-and-extract. Re-running 10,000 pages doesn't cost 10,000 LLM calls.
Yes. The REST API is plain and documented, prebuilt APIs need zero setup, and parser configs are simple enough to write by hand.
Your parser's dry-run returns per-field match counts and samples, so the agent sees exactly which fields broke and repairs the config in the same loop it used to author it.
Rendered HTML with CSS selectors, JSON embedded in pages, JSON APIs, or regex over raw text — plus the prebuilt platform endpoints.
Your choice per run: returned inline as JSON, or upserted into a private SQL database you query with plain SQL and dump as CSV or NDJSON.
No. Admission to the execution pool is weighted fair round-robin across users, with per-user and global caps. Big batches queue; they don't starve neighbors.
Yes — cron-scheduled parsers and workflows with overlap protection and automatic disable after repeated failures. Upserts mean nightly re-runs keep tables clean instead of duplicating rows.
Every new account starts with 1,000 free credits and one private database. Credits pay for live executions; dry-running a parser against a stored body is free. Paid plans start at $49 per month.