POST /v1/extract

Price and inventory monitoring at scale.

Track competitor prices, stock levels, and product changes.

Monitor product pages across e-commerce sites, marketplaces, and supplier catalogs. webclaw handles the bot protection, extracts structured data, and diffs against previous snapshots to alert you only when something meaningful changes.

Extract a product
How it works

Build it step by step.

The real flow, one step at a time. Switch between TypeScript, Python, and cURL on any snippet.

  1. 1

    Define a price schema

    Write a JSON schema with title, price, currency, in_stock, and sku fields for your product pages.

    const schema = {  type: "object",  properties: {    title: { type: "string" },    price: { type: "number" },    currency: { type: "string" },    in_stock: { type: "boolean" },    sku: { type: "string" },  },};
  2. 2

    Extract product data

    Call /v1/extract on each product URL to pull structured pricing and inventory as JSON.

    const result = await webclaw.extract({  url: "https://example.com/product/sku-123",  schema,});console.log(result.data);// { title: "...", price: 49.99, currency: "USD", in_stock: true, sku: "..." }
  3. 3

    Diff against the last run

    Use /v1/diff to compare the current extraction with a stored snapshot and detect meaningful changes.

    const diff = await webclaw.diff({  url: "https://example.com/product/sku-123",  previous: lastSnapshot,  current: JSON.stringify(result.data),});console.log(diff.changed);
  4. 4

    Alert on change

    When the price or stock field moves, fire a webhook to Slack, Discord, or your own endpoint.

    if (result.data.price !== previous.price || result.data.in_stock !== previous.in_stock) {  await fetch(SLACK_WEBHOOK_URL, {    method: "POST",    headers: { "Content-Type": "application/json" },    body: JSON.stringify({      text: `${result.data.title}: ${previous.price} -> ${result.data.price} ${result.data.currency}`,    }),  });}
Why webclaw

Built for price monitoring.

Bypass Cloudflare and e-commerce bot protection automatically

Structured extraction with JSON schema for prices, SKUs, availability

Content diff detects price and stock changes incrementally

Webhooks for real-time alerts on meaningful changes

Per-page pricing: no surprise costs at volume

What you get

Everything this use case needs.

  • LLM-powered structured extraction with JSON schema
  • Cloudflare, DataDome, AWS WAF bypass
  • Content diff for change detection
  • Webhooks for alerts
  • Per-page pricing at volume
Where it fits

Built for the messy parts.

E-commerce monitoring is a game of cat and mouse with bot protection. Cloudflare, DataDome, and custom fingerprinting block most scrapers. Building an in-house monitoring pipeline requires proxies, browsers, CAPTCHA solvers, and constant maintenance.

webclaw extracts product data through TLS fingerprinting at the HTTP level, no browser required. Pair /v1/extract with a price schema for structured output, then use /v1/diff to detect changes between snapshots. Run on a schedule with webhooks to alert when prices or stock change.

Common questions

Frequently asked questions

Can webclaw scrape e-commerce sites with bot protection?

Yes. webclaw uses browser-grade TLS fingerprinting (Chrome and Firefox profiles) combined with HTTP/2 impersonation to bypass most bot protection. It clears Cloudflare, DataDome, and most other protected sites in our testing.

How do I get alerted when a price changes?

Use /v1/diff to compare a current scrape against a stored snapshot. If the price field changed, trigger a webhook. webclaw supports webhooks with HMAC signatures and auto-formatted Discord and Slack payloads.

What is the cost of monitoring 10,000 products daily?

A plain page costs 1 credit. Monitoring 10,000 products daily is roughly 300,000 credits/month before JS rendering or antibot work. The $399 Scale tier includes 1,000,000 monthly credits for that kind of volume.

For AI agents

Or hand it to your agent.

Add the webclaw MCP server to Claude, Cursor, or any MCP client, then paste this prompt. The agent calls the webclaw tools and hands the result back to your model — no code to write.

PROMPT FOR YOUR AGENT

Using the webclaw tools, monitor the price and stock for these product pages: [the product URLs, one per line]. For each URL, call the extract tool with a schema that pulls title, price, currency, in_stock (boolean), and sku, so the result comes back as clean structured JSON instead of raw page text. If I paste a previous snapshot of these products below, use the diff tool to compare the new extraction against [the previous snapshot] and flag only the products where the price or stock status actually changed. Return a table with columns Product, Current Price, In Stock, and Change (e.g. "down $10", "back in stock", or "no change"), and call out any price drops or restocks at the top as an alert. If a product page can't be read, list it separately as a failure rather than dropping it.

Ready to build? Start extracting.

Cancel anytime. Clean, structured data on every call.

View API docs