Docs / Quickstart

Getting started

Quickstart

Fetch product data, switch platforms and watch for changes: three calls, five minutes.

1. Get an API key

Sign up and create a key under Dashboard → Developers → API keys. New accounts get 5,000 free credits. Export the key so the samples below can read it:

export SCRAPELY_API_KEY="sk_live_…"

2. Fetch products

Send a platform and its item ids. This asks Walmart for two items; one of them does not exist.

curl -X POST "https://api.scrapelyserp.com/v1/products" \
  -H "Authorization: Bearer $SCRAPELY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"walmart","ids":["931920073","1000000404"]}'
Response
{
  "platform": "walmart",
  "marketplace": "us",
  "tier": "standard",
  "results": [
    {
      "id": "931920073",
      "status": "ok",
      "fetchedAt": "2026-10-16T14:02:37.118Z",
      "title": "Mainstays 20\" 3-Speed Box Fan, White",
      "url": "https://www.walmart.com/ip/931920073",
      "price": {
        "amount": 30,
        "currency": "USD"
      },
      "availability": {
        "inStock": true,
        "message": "Available"
      },
      "seller": {
        "name": "Walmart.com"
      },
      "fulfillment": {
        "byPlatform": true,
        "name": "Walmart"
      },
      "walmart": {
        "…": "Walmart-only fields"
      }
    },
    {
      "id": "1000000404",
      "status": "not_found",
      "fetchedAt": "2026-10-16T14:02:37.118Z"
    }
  ],
  "stats": {
    "requested": 2,
    "ok": 1,
    "partial": 0,
    "notFound": 1,
    "unavailable": 0,
    "elapsedMs": 1840
  },
  "credits": 2
}

Every item comes back exactly once with a status. The missing item is not_found, a definitive answer, so it is charged like ok. Items we could not answer this time come back unavailable and are refunded. See Responses & statuses.

3. Switch platform

The same call works on every live platform: change platform and the ids. Some platforms offer several tiers; Amazon asks you to pick one.

{
  "platform": "target",
  "ids": ["83887639"]
}

4. Watch for changes

Register a webhook endpoint once, then create a watchlist. Every 15 minutes we read the items and send a signed watchlist.product.changed event when a price or stock level moves.

Register an endpoint (save the secret)
curl -X POST "https://api.scrapelyserp.com/v1/webhook_endpoints" \
  -H "Authorization: Bearer $SCRAPELY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/hooks/scrapely"}'
Create a watchlist
curl -X POST "https://api.scrapelyserp.com/v1/watchlists" \
  -H "Authorization: Bearer $SCRAPELY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "name": "Headphones",
    "platform": "bestbuy",
    "ids": ["6505727"],
    "every": "15m",
    "webhook_url": "https://example.com/hooks/scrapely"
  }'

Next: verify signatures in your receiver, and read Watchlists for custom pipelines.