Docs/Errors
Every error is a JSON body carrying statusCode and statusMessage (a message field mirrors it). Failed calls are never billed - retrying costs nothing.
400The url parameter is missing or not a valid URL, a format / framework / fields value is unknown, or the target resolves to a private or internal address (blocked).401The API key is missing, malformed, invalid, or revoked.402The key's subscription is past due, canceled, or inactive - update billing in the dashboard or create a new key.403The target site is blocking automated requests.404The target page doesn't exist - or, on /v1/code, the selector matched no element (the message lists the sections that do exist).408The target site took longer than 15 seconds to respond.422/v1/code only: the selected element produced no renderable content - pick a different selector from sections.429Per-minute rate limit exceeded (the message says how many seconds until it resets), or your monthly credit quota is used up.500The extraction failed unexpectedly. Retrying is safe - failed calls are never billed.502The target site responded with an error status of its own.503The target site is unreachable - down, or refusing connections.