Documentation

Start building with ReefAPI

One API key, one credit pool, 585 production data APIs. Every endpoint returns the same JSON envelope — so once you've called one, you've called them all.

Quickstart

Every request is POST https://api.reefapi.com/<api>/v1/<action> with your key in the x-api-key header and params as a JSON body.

curl -X POST https://api.reefapi.com/currency/v1/convert \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"from":"USD","to":"EUR","amount":1000}'

Every response is the same envelope:

{
  "ok": true,
  "data": { /* the result */ },
  "meta": { "latency_ms": 38, "record_count": 1, "completeness_pct": 100, "cache_hit": false },
  "error": null
}

Create a free account for 1,000 credits, or try any endpoint in the playground with no setup.

Authentication

Pass your key as the x-api-key header on every request. Generate and manage keys from your dashboard — the full key is shown only once, so store it safely. Keep it server-side; never ship it to a browser.

Credits & pricing

All APIs draw from a single credit balance. Successful responses consume credits. Verified SHEIN NOT_FOUND responses on product/detail and price cost 4 credits; timeout, blocked and capacity errors remain free. A billed absence still returns ok: false, data: null, and meta.charged_credits: 4. Other failed calls remain free. Most endpoints cost 1 credit; heavier ones (image rendering, AI, or large result sets) cost more, shown on each API's page. Every call fetches live data — we don't serve stale cached responses. See pricing.

Rate limits

Defaults: 30 requests every 3 seconds per key, which is about 10 requests a second, and the same again per client IP. The window is counted per endpoint, so product/detail and product/offers each get their own budget instead of sharing one. Brief bursts are fine, a sustained flood is smoothed. On a limit you get RATE_LIMITED (429) — back off briefly and retry; it clears within seconds. Each API also has its own concurrency budget, so one heavy endpoint can never starve the others. Need a higher sustained rate than that? It comes with a Custom plan — tell us the rate you need to hold and we will price it.

Errors

On failure, ok is false and error carries a stable code, a message, and retryable.

MISSING_PARAMA required parameter was omitted (400).
INVALID_PARAMA parameter was malformed (400).
NOT_FOUNDThe requested resource doesn't exist (404).
AUTH_FAILEDMissing or invalid x-api-key (401).
QUOTA_EXCEEDEDOut of credits (402).
RATE_LIMITEDToo many requests — back off and retry (429). retryable.
DISABLEDEndpoint temporarily turned off (503).
TARGET_BLOCKEDUpstream anti-bot wall (502). usually retryable.
UPSTREAM_TIMEOUTUpstream took too long (504). retryable.
PARSE_ERRORUpstream changed shape (502).
INTERNALUnexpected error on our side (500).

Use with AI agents

Point ChatGPT, Claude, or Cursor at Reef once and your assistant can call every API directly — no glue code. Add Reef to your assistant's tools:

{ "mcpServers": { "reefapi": {
  "url": "https://api.reefapi.com/mcp",
  "headers": { "Authorization": "Bearer ak_live_…" }
} } }
Browse the API reference

585 APIs · pick one from the sidebar, or start in the playground.

Open the playground →