Skip to main content
CreatorDB communicates request status through HTTP response codes. A response in the 2xx range means the request was successful, while a 4xx response suggests an error caused by invalid credentials, insufficient API credits, or missing parameters. A response in the 5xx range indicates an error on the server side, which may be temporary. If you encounter a 5xx error, please try your request again later. If the issue persists, contact CreatorDB support for assistance.

Error types and HTTP status codes

The following table shows the different error types based on the status code of the HTTP response:
HTTP STATUS CODEERROR TYPEDESCRIPTION
400VALIDATION ERRORThis request is invalid or a validation error occurred. Check the details field in the response for more information about the specific errors.
401UNAUTHORIZEDThis request is unauthorized. This error occurs when the API key is missing or invalid. Please check the API key in the request header and make sure it is correct.
402PAYMENT REQUIREDYou have exhausted all plan and purchased credits. Add credits to your account or wait for your monthly plan refresh before retrying. You can check your remaining balance by calling the GET /usage endpoint.
403FORBIDDENThis request is authenticated but the user does not have permission to access the requested resource. Check your API key permissions and ensure you are authorized to access the requested data.
404NOT FOUNDThe requested resource could not be found. This error occurs when the specified endpoint or resource does not exist. Verify the endpoint URL and parameters in your request.
409CONFLICTThis request could not be completed due to a conflict with the current state of the resource. This error may occur when there are duplicate entries or conflicting data in the request. Check the request data for any conflicts and try again.
429RATE LIMIT EXCEEDEDToo many requests. Wait and retry your request with backoff. Note that credit exhaustion returns a 402 Payment Required error, not a 429.
500INTERNAL SERVER ERRORAn unexpected error occurred on the server. This error may occur due to temporary issues or maintenance. Please try again later. If the issue persists, contact CreatorDB support for assistance.
503SERVICE UNAVAILABLEThe server is currently unavailable. This error may occur due to temporary database or upstream service issues or maintenance. Please try again later. If the issue persists, contact CreatorDB support for assistance.

Response envelope

Every CreatorDB API response follows the same JSON envelope. The fields vary slightly depending on whether the call succeeded or failed.

Success

{
  "data": { /* endpoint-specific payload */ },
  "creditsUsed": 2,
  "creditsAvailable": 850,
  "traceId": "d052411b141435a0a47bf503598ffa0e",
  "timestamp": 1780241588992,
  "errorCode": "",
  "errorDescription": "",
  "success": true
}

Error

{
  "success": false,
  "error": "ValidationError",
  "message": "Request validation failed",
  "errorCode": "VALIDATION_ERROR",
  "traceId": "0e3562b4949d2d24effc8d089037e7b0",
  "timestamp": 1780242520254,
  "details": [ /* field-level errors, 400 only */ ]
}

Field reference

FieldPresent onNotes
successAll responsestrue on 2xx, false on 4xx/5xx.
dataSuccess onlyEndpoint-specific payload.
creditsUsed / creditsAvailableSuccess onlyCredits consumed by this call and your remaining balance. Absent on error responses.
traceIdMost responsesUnique request ID. Include this when contacting support.
timestampMost responsesUnix epoch in milliseconds.
errorError responsesError class name (e.g. ValidationError, UnauthorizedError). Use for matching on a typed name.
errorCodeSuccess (empty string) + most error responsesStable machine-readable code (e.g. VALIDATION_ERROR, UNAUTHORIZED). Use this for programmatic branching — the table above is keyed on errorCode.
messageError responsesHuman-readable error description. Some errorCode values have more than one possible message — see notes below.
errorDescriptionSuccess only (empty string)Placeholder for forward compatibility. Error responses use message instead.
details400 VALIDATION_ERROR onlyArray of field-level validation errors describing which parameter failed and why.

Schema notes

UNAUTHORIZED covers two cases. The errorCode is identical for both; use message to distinguish them:
  • "API Key is required" — the api-key header is missing or empty
  • "Invalid API Key" — the header is present but the key is not recognized
Malformed IDs and unknown IDs return different status codes. If a channelId, videoId, uniqueId, or brandId fails format validation (wrong length, invalid characters), you get a 400 VALIDATION_ERROR with a details[] array describing the problem. If the ID is correctly formatted but doesn’t exist in the database, you get a 404 with a resource-specific errorCode: NOT_FOUND for creator and brand lookups, SUBTITLE_VIDEO_NOT_FOUND for subtitle lookups. If you’re used to APIs that return 404 for all unknown input, expect malformed values to take the 400 path here. 404 has two distinct response shapes. A resource-not-found 404 follows the standard error envelope — it includes error: "NotFoundError", errorCode, traceId, and timestamp. A path-level 404 (a request to a URL that doesn’t exist, like /youtube/no-such-endpoint) does not: error is the plain string "Not Found", and errorCode, traceId, and timestamp are all absent. An availableEndpoints array appears in their place. Treat path-level 404s as a separate response shape.
Last modified on June 4, 2026