Getting started

Everything you need for your first successful request: how to authenticate, what a response looks like, and how limits work.

Authentication

Every request must carry your API key in the x-api-key header. Create and manage keys in the dashboard. Keys are shown once at creation – store them in a secret manager, never in client-side code.

x-api-key: dk_live_xxxxxxxxxxxxxxxxxxxxxxxx

Base URL: https://api.everydata.io. All endpoints are served over HTTPS in production.

Your first request

Fetch an Amazon product page. Pass the full product URL – the marketplace is derived from the domain. We recommend appending ?psc=1 so the exact variation is loaded.

curl "https://api.everydata.io/amz/amazon-lookup-product?url=https%3A%2F%2Fwww.amazon.com%2Fdp%2FB0B17BYJ5R%3Fpsc%3D1" \
  -H "x-api-key: YOUR_API_KEY"

Response envelope

Every JSON response starts with two fields you can rely on for routing and monitoring, followed by the endpoint-specific payload. Paged endpoints add currentPage, nextPage and lastPage.

application/json
{
  "responseStatus": "PRODUCT_FOUND_RESPONSE",
  "responseMessage": "Product successfully found!",
  "productTitle": "…",
  "asin": "B0B17BYJ5R",
  "price": 12.99
}

Error codes

Errors use the same envelope, wrapped in FastAPI's detail object.

404 Not Found
{
  "detail": {
    "responseStatus": "PRODUCT_NOT_FOUND",
    "responseMessage": "Product not found"
  }
}
HTTPresponseStatusMeaning
200PRODUCT_FOUND_RESPONSE / PAGE_FOUNDSuccess. Payload follows the envelope fields.
400PARAMETER_ERRORA required parameter is missing or malformed.
401UNAUTHORIZEDMissing or invalid x-api-key header.
403FORBIDDENKey is revoked or not allowed to access this endpoint.
404PRODUCT_NOT_FOUNDThe target page exists but no product/listing could be found for the given parameters.
429RATE_LIMITED / QUOTA_EXCEEDEDPer-minute rate limit or monthly quota exceeded. Retry after the window resets or upgrade your plan.
502BLOCKEDThe target site blocked the request. Retry – not counted against your quota.
503UPSTREAM_ERRORThe target site could not be fetched. Retry – not counted against your quota.

Rate limits & quota

Two limits apply per account: a per-minute rate limit (10 – 750 requests/minute depending on plan) and a monthly request quota. Both are shared across all platforms and all keys of your account. When a limit is hit, the API responds with 429. Rate-limit responses include a Retry-After hint; quota resets on the first day of the next billing period.

Requests that fail with 5xx because a target site could not be fetched are not counted. See pricing for the limits of each plan.

Caching

Responses are realtime by default. Where speed matters more than freshness, many endpoints accept cacheTtl (seconds) or withCache=true to allow a recent cached copy. Cached responses still count as one request.

Next: browse the full API reference.