Product data for agents

Agents can decide what to buy.Reading the product page is where they still break.

Plinth 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
POST/api/v1/read_product
streaming
{ "url": "https://www.lego.com/en-us/product/millennium-falcon-75192" }
responseapplication/json
 
A real response, captured live from the product URL above. Confidence and cost stamped in.

§00 · thesis

Who it's for.

Devs

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.

Agents

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.

read_product·One reference (URL/GTIN) → typed product object.
shipping
resolve_product·Fuzzy string → canonical identifiers.
shipping
compare_products·N references → matrix of deltas.
shipping
brief_product·Object + short read for the agent.
shipping

§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.

CapabilityPlinthDiffbotZyteFirecrawl + LLMDIY
Typed product objectyesyesyesyou write the schemayou write the schema
Confidence per fieldyesnononoyou score it
Cost stamped in responseyesnononobest guess
MCP serveryesnononoyou build it
x402 micropaymentsyesnononono
Fuzzy name resolveyespartialpartialyou glue ityou glue it
Price as a band + as_ofyessinglesinglesinglesingle

§03 · pricing

Per call. No seats.

Devs pay with a key, metered through Stripe. Agents pay with USDC on Base via x402.

Free
$0/mo
1,000 trusted reads/mo · no card
  • Single secret API key
  • REST + MCP
  • Email support
Starter
recommended
$29/mo
5,000 trusted reads · $0.01 overage
  • Higher rate limits
  • All confidence levels
  • Priority email
Growth
$199/mo
50,000 trusted reads · $0.005 overage
  • 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.

dev · REST
curl -X POST https://onplinth.io/api/v1/read_product \
  -H "authorization: Bearer plk_…" \
  -d '{ "gtin": "8076800195057" }'
agent · MCP + x402
https://onplinth.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. Plinth 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.