Errors
Every error code Fluxcrawl returns, and what actually triggers each one.
A failed request returns a non-2xx status and this body:
{
"success": false,
"error": { "code": "RESOURCE_NOT_FOUND", "message": "..." }
}| Code | HTTP status | Meaning |
|---|---|---|
INVALID_API_KEY | 401 | Missing, malformed, or revoked X-API-Key. See Authentication. |
INVALID_REQUEST | 400 | A required parameter is missing, or the endpoint name in the URL doesn't exist. |
RESOURCE_NOT_FOUND | 404 | The upstream platform confirmed the thing you asked for (a profile, a post) doesn't exist. |
RATE_LIMITED | 429 | The provider serving this request is rate-limiting you right now. |
PROVIDER_UNAVAILABLE | 503 | Every provider in the fallback chain for this platform/endpoint failed. Not billed — see below. |
INSUFFICIENT_CREDITS | 402 | Your account doesn't have enough credits for this call. Not yet reachable — no billing exists yet. |
PROVIDER_UNAVAILABLE and fallback
This is the one code that's genuinely load-bearing, not just a placeholder.
Each platform/endpoint pair is served by an ordered list of providers. When
one fails with something that means "this provider can't answer right now,"
Fluxcrawl automatically retries the next one in the chain — you only see
PROVIDER_UNAVAILABLE if every provider in the chain failed.
This also covers a provider being fundamentally unable to serve a given
endpoint, not just downtime. For example, TikTok's search endpoint is
served by scraptik, not LamaTok — LamaTok has no user-search endpoint at
all, so it declares itself unavailable for that one endpoint specifically,
and the chain falls through automatically. You never see that distinction
from the outside; you just get a correct answer.
Any other error code (INVALID_REQUEST, RESOURCE_NOT_FOUND,
RATE_LIMITED) is treated as that provider's real answer, not a reason to
try the next one — a 404 means the profile doesn't exist, not that the
provider is broken.