semust logo

API Platform

Error Codes

Error codes returned by the API and what they mean.

All errors return a JSON object with a human-readable message and an uppercase error code.

{
  "error": "Rate limit exceeded",
  "code": "RATE_LIMIT_EXCEEDED"
}

Error codes

CodeHTTPMeaning
INVALID_REQUEST400Request body is malformed or missing required fields
KEYWORD_REQUIRED400The keyword field is empty or missing
URL_REQUIRED400The url field is empty or missing
INVALID_URL400The url does not start with http:// or https://
INVALID_FORMAT400The format field is not "json" or "raw"
INVALID_MATCH_TYPE400Invalid match_type. Allowed: broad, phrase_match, exact_match, related
INVALID_CREDENTIALS401Invalid username or password
INVALID_API_KEY401Authentication failed
CREDENTIALS_EXPIRED401API user credentials have expired
INSUFFICIENT_CREDITS402Your account does not have enough credits
IP_NOT_WHITELISTED403Your IP address is not whitelisted
RATE_LIMIT_EXCEEDED429Rate limit exceeded
INTERNAL_ERROR500An internal server error occurred
SERP_FAILED502Failed to fetch search results
WORKER_FAILED502Failed to fetch data from the worker
SCRAPE_FAILED502Failed to scrape the target page
AUDIT_FAILED502The audit could not be completed
TARGET_UNREACHABLE502The target site could not be reached
TARGET_BLOCKED502The target site blocked the request
TIMEOUT504The request timed out — see the note below
TARGET_REQUIRED400The target field is empty or missing
INVALID_TARGET400The target is not a valid domain or URL
INVALID_TYPE400Unknown report type
TYPE_UNAVAILABLE400That report type is not available yet
INVALID_FILTER400Unknown filter field, wrong operator, or too many conditions
INVALID_ORDER_BY400Unknown sort field, or more than 3 sort rules
INVALID_DATE_RANGE400date_from is after date_to, or the dates are unparseable
INVALID_CURSOR400The pagination cursor is unknown or expired
SERVICE_NOT_ENABLED403This service is not enabled for your account
REQUEST_IN_PROGRESS409A request with the same idempotency_key is already running
REQUEST_TOO_LARGE413The request body exceeds the size limit
REQUEST_FAILED502The request could not be completed
EMPTY_RESULTS200No results found for this query

Timeout duration

The timeout differs per endpoint: 10 minutes for SERP, Keyword Data and Google Images, 2 minutes for Technical SEO.

EMPTY_RESULTS

EMPTY_RESULTS is not an error — the request succeeded (200), there were simply no results for the query.

Last updated: 2026-08-21