Errors
Every RealtyCrawl error code, what it means and what to do. Calls that fail are never charged.
Errors come back as {"error": {"code", "message", "param"}}. param names the input to fix on a 422.
#HTTP errors
| Status | Code | What it means |
|---|---|---|
| 401 | invalid_api_key | The API key is missing, malformed or revoked. |
| 403 | account_suspended | The account is suspended, so none of its keys work. Email support to restore it. |
| 403 | origin_not_allowed | A browser sent the request from a site that isn't allowed. Call the API from your server. |
| 404 | not_found | No such path. |
| 404 | request_not_found | The job ID is well-formed but unknown, or belongs to another account. An ID that isn't a UUID is no such path: 404 not_found. |
| 405 | method_not_allowed | Wrong method for this route. Every v1 route uses GET. |
| 409 | idempotency_conflict | This Idempotency-Key was already used with different search parameters. |
| 409 | result_not_ready | CSV was requested before every search settled. Poll as JSON until status is complete, then ask for CSV. |
| 414 | uri_too_long | The query string is longer than 2,048 characters. |
| 422 | unsupported_or_invalid_query | An unknown parameter, or a value outside the documented range. error.param names the input to fix when it is one of the route's inputs. |
| 422 | duplicate_parameter | A parameter was sent more than once. |
| 422 | invalid_idempotency_key | Idempotency-Key must be 1–128 printable ASCII characters, with no spaces. |
| 422 | invalid_wait | wait must be a whole number from 0 to 20. |
| 429 | rate_limited | More than 60 API calls this minute for your account. |
| 429 | quota_exceeded | Your plan's credits are used up, and you have no extra credits left. |
| 429 | too_many_pending | Your account has too many searches still pending. Wait for results before sending more. |
| 503 | queue_full | The collection queue is full. |
| 503 | collection_unavailable | We can't collect from this source right now. |
| 503 | storage_unavailable | Our database is briefly unavailable. |
| 503 | origin_unavailable | The edge couldn't reach our API server. |
| 503 | service_unconfigured | The API is misconfigured on our side. Contact support. |
| 422 | location_required | Send exactly one location: zip, city with state, bbox, or lat with lng and radius_mi. param is location. |
| 422 | lookup_required | Send exactly one of address, url or source_id. param is lookup. |
| 422 | location_too_large | The area is bigger than this route allows. Send a smaller box or radius. |
| 422 | address_ambiguous | The address matches more than one home. Add the unit number or ZIP code, or send the home's url or source_id. Not charged. |
| 404 | address_not_found | The source has no home at that address. Not charged. |
| 422 | invalid_cursor | The cursor is damaged, came from another route, or was made with different inputs. param is cursor. |
#Failed job codes
A job that runs and fails has status: failed and one of these codes. Failed jobs are free.
| Code | HTTP status | What it means |
|---|---|---|
page_mismatch | 503 | The source repeatedly returned a different page than requested. Retries were exhausted; this search was not charged. |
schema | 503 | The source page changed shape. We fail the job rather than return data we can't trust. |
network | 503 | We couldn't reach the source, or it timed out. |
upstream | 503 | The source returned a server error. |
throttled | 503 | The source rate-limited us. |
blocked | 503 | The source blocked the request. |
rejected | 422 | The source rejected the search as asked, for example a filter combination it refuses. Not charged. |
not_found | 404 | The home doesn't exist on the source or was removed. Not charged. |
filter_not_supported | 422 | The source doesn't offer a filter you sent on this route. Not charged. |
filter_not_applied | 422 | The source returned results that don't match a filter you sent, so we don't return them. Change or drop that filter and search again. Not charged. |
location_not_served | 422 | The source has no results page for this location right now. Try a nearby ZIP code or a map box. Not charged. |
auth | 503 | The source didn't accept our session. |
deadline_exceeded | 503 | The job didn't finish in time. |
address_not_found | 404 | The source has no home at that address. Not charged. |
address_ambiguous | 422 | The address matches more than one home. Add the unit number or ZIP code, or send the home's url or source_id. Not charged. |