Product data for agents
Agents can decide what to buy.Reading the product page is where they still break.
Legibility reads it for them. One call turns a URL, a barcode, or a fuzzy name into a typed product object. Confidence per field, cost stamped in the response, payable by an agent.
- p50 cached
- ~80ms
- per call
- from $0.01
- payment
- key · x402
§00 · thesis
Who it's for.
You're writing the buy-flow for an agent. You don't want to maintain a JSON-LD parser, a headless Chrome fleet, a barcode lookup, and a price cache. You want one call that returns the same shape every time.
Discover the MCP server, call read_product, pay per call in USDC over x402. No account. No key rotation. The cost is in the response so you can decide whether to keep going.
§01 · tools
Four questions an agent actually asks.
Not endpoints. The shape of the call matches the shape of the problem.
§02 · vs the field
No one else ships this shape.
Diffbot has the data. Firecrawl has the render. Neither was built for an agent to call and pay on its own.
| Capability | Legibility | Diffbot | Zyte | Firecrawl + LLM | DIY |
|---|---|---|---|---|---|
| Typed product object | yes | yes | yes | you write the schema | you write the schema |
| Confidence per field | yes | no | no | no | you score it |
| Cost stamped in response | yes | no | no | no | best guess |
| MCP server | yes | no | no | no | you build it |
| x402 micropayments | yes | no | no | no | no |
| Fuzzy name resolve | yes | partial | partial | you glue it | you glue it |
| Price as a band + as_of | yes | single | single | single | single |
§03 · pricing
Per call. No seats.
Devs pay with a key, metered through Stripe. Agents pay with USDC on Base via x402.
- →Single secret API key
- →REST + MCP
- →Email support
- →Higher rate limits
- →All confidence levels
- →Priority email
- →Highest rate limits
- →Slack channel
- →SLA
§04 · surfaces
REST for you. MCP for them.
Same core, two surfaces. Devs hold a key. Agents discover the server and pay per call.
curl -X POST https://legibility.io/api/v1/read_product \
-H "authorization: Bearer lgk_…" \
-d '{ "gtin": "8076800195057" }'https://legibility.io/api/mcp
tool: read_product
pay: USDC on Base Sepolia
→ { …object, cost_usd: 0.008 }§05 · FAQ
Quick answers.
Where does the data come from?+
JSON-LD and OpenGraph first, headless render fallback, barcode databases for GTIN. The source method is on every response.
Why a confidence score?+
Because product pages lie. We tell you how sure we are per field and overall. You decide the threshold.
Is price live?+
Price is a band with an as_of timestamp and a source count. We do not present a single live number as truth.
What's x402?+
An open micropayment standard. Agents pay per call in USDC on Base. No signup, no key rotation.
Why not Diffbot?+
Diffbot returns a typed object. It does not score confidence per field, does not stamp cost in the response, and has no MCP server or x402 surface. An agent cannot discover it and pay on its own.
Why not roll your own with Firecrawl + GPT?+
You can. You also own the schema, the cache policy, the confidence rubric, the price-band semantics, the barcode merge, the MCP server, and the x402 settlement. Legibility is that work, finished, behind one call.
Can a site request takedown?+
Yes. File here. We honor it within 24h.
Early access
Start building.
Sign in with a magic link, create a key, and make your first call. Free to start, no card required.
