Docs
Authentication
Authenticate every request with your API key in a header. One key works for every endpoint and platform.
Send your API key in the x-api-key header of every request:
curl -H "x-api-key: $SOCIALTAP_API_KEY" "https://staging.socialtap.dev/v1/youtube/transcript?..."The key is a secret. Call SocialTap from your server or backend jobs, never from code that ships to browsers or apps, and rotate the key if it leaks.
Request headers
| Header | Type | Description |
|---|---|---|
x-api-key | string | Your API key. |
Response headers
| Header | Type | Description |
|---|---|---|
x-request-id | string | Unique request ID; include it when contacting support. |
x-credits-charged | int | Credits charged for this request (0 for errors and cache hits). |
x-credits-remaining | int | Account balance after this request. |
retry-after | int | Seconds to wait before retrying (rate_limited and overloaded only). |
allow | string | Methods the endpoint accepts (method_not_allowed only). |
age | int | Seconds since the data was fetched (cache hits only). |
x-credits-charged and x-credits-remaining are on every response to an authenticated request,
successful or not: errors show a charge of 0 and your unchanged balance. A request rejected for its key has neither,
because there is no account to report on.
Missing or invalid keys
A request without a key, or with an unknown or revoked one, fails with unauthorized (HTTP
401), carries no credit headers and costs nothing.
Rate limits
Plans do not limit request rate: you pay for credits (see Pricing), and you can send requests as fast and as many in parallel as your balance covers.
Each account has a high safety ceiling on requests per second that only stops runaway clients, such as a retry loop
without backoff. Above it, requests fail with rate_limited (HTTP 429) and cost nothing;
wait the number of seconds in the retry-after header, then retry. If your sustained traffic needs more,
ask support and the ceiling is raised for your account.