Your first request.
Then your next big thing.
A simple HTTP API for structured public data. Use any language, any client, and one key for the entire catalog.
Get going in three steps.
Create your API key
Sign in to your console and create a key. Copy it once and store it in your server’s environment.
Create a keyAdd a few credits
Top up from $5. Every platform uses the same balance. Your credits never expire.
Choose your amountSend a request
Choose an endpoint and provide its parameters. The response includes your request ID and credit charge.
Find an endpointcurl --request GET \
--url 'https://fetchgoblin.com/api/data/v1/instagram/profile?handle=nasa' \
--header 'x-api-key: YOUR_FETCHGOBLIN_API_KEY'Keep your key on the server.
Authenticate with the x-api-key request header. API keys are shown once, stored as keyed hashes, and can be restricted to selected platforms. Revoking a key takes effect immediately.
The console supports Google and email/password sign-in. Your applications authenticate with a FetchGoblin API key.
Know what each request costs.
Most successful live requests use one credit. Each reference page shows the base cost and any optional higher-cost features. We reserve the maximum cost for your chosen options, then settle the actual charge. Failed requests release their reservation.
On supported endpoints, set cache_max_age to 1d, 3d, 7d, 14d, or 30d. A matching cached response uses zero credits and includes cached: true and cached_at. You need enough balance to cover a live cache miss.
| Response field / header | Meaning |
|---|---|
credits_charged | Credits consumed by this request |
credits_remaining | Your available balance after settlement |
request_id / X-Request-Id | Reference for your usage history and support |
X-Credits-Charged | Credit charge available in response headers |
Errors, retries, and duplicates.
Errors return a JSON error object with a stable code and a readable message. The default limits are 120 requests per minute and 10 concurrent requests per account. Keys share these limits.
| Status | Next step |
|---|---|
| 400 / 422 | Check required parameters, types, and allowed values. |
| 401 / 403 | Check your API key, scopes, and account access. |
| 402 | Add enough credits to cover the request’s maximum cost. |
| 409 | Wait for the original request or use a different idempotency key for a different payload. |
| 429 | Respect the Retry-After header and reduce concurrency. |
| 502 / 503 / 504 | Wait briefly before retrying a failed request with a new idempotency key. |
For safe retries after a connection interruption, send an Idempotency-Key header with 8–128 allowed characters. The same key and payload return the original response for 24 hours without another upstream call or charge. A different payload with the same key returns 409. After the stored response expires, the key cannot be reused. History metadata is retained for 90 days.
Retries without this header are new requests. FetchGoblin does not automatically retry supplier requests, because that could create duplicate upstream charges.
One page per request.
Use the cursor or next-page value returned by the endpoint. Parameter names vary by platform and are listed in the reference. Keep your original search filters and change only the pagination parameter. Each page is a separate request.
Explore the full reference