DEVELOPER DOCUMENTATION

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.

01

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 key
02

Add a few credits

Top up from $5. Every platform uses the same balance. Your credits never expire.

Choose your amount
03

Send a request

Choose an endpoint and provide its parameters. The response includes your request ID and credit charge.

Find an endpoint
curl --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.

Never include a live API key in browser code, mobile bundles, public repositories, or query parameters. Call FetchGoblin from your own backend.

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 / headerMeaning
credits_chargedCredits consumed by this request
credits_remainingYour available balance after settlement
request_id / X-Request-IdReference for your usage history and support
X-Credits-ChargedCredit 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.

StatusNext step
400 / 422Check required parameters, types, and allowed values.
401 / 403Check your API key, scopes, and account access.
402Add enough credits to cover the request’s maximum cost.
409Wait for the original request or use a different idempotency key for a different payload.
429Respect the Retry-After header and reduce concurrency.
502 / 503 / 504Wait 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