Skip to main content

Error Codes

The ReviewData Lite API uses standardized error codes to communicate the status of your requests and tasks.

Task Status Codes

CodeMeaningDescription
200OKTask completed successfully
400Bad RequestNo business page found. Possible incorrect profile_key supplied
401UnauthorizedAuthentication error - invalid API key
404Not FoundCould not find Business
422Unprocessable EntityInvalid Payload
429Too Many RequestsToo many requests ban from publisher due to automatic retries
450Format ChangeChange detected in page format
451Encryption ErrorPublisher reverse engineered encrypt/decrypt failure
452Geoservice ErrorGeoservice failure for city and state
460No ReviewsBusiness has no reviews
461No New ReviewsBusiness has no new reviews
472Google Special CaseSpecial case failure for Google
500Internal Server ErrorAn unknown error has occurred
503Service UnavailableService temporarily unavailable
504Gateway TimeoutProcess timed out
505Fatal ErrorFatal unrecoverable error. Automatic ticket created
530Partial SuccessSome reviews present, but encountered an error
532Partial SuccessSome reviews present, but hit maximum attempts to get all reviews

HTTP Status Codes

2xx Success

  • 200 OK: Request processed successfully
  • 201 Created: Resource created successfully

4xx Client Errors

  • 400 Bad Request: Invalid request format or missing required fields
  • 401 Unauthorized: Invalid or missing API key
  • 404 Not Found: Resource not found
  • 422 Unprocessable Entity: Request validation failed
  • 429 Too Many Requests: Rate limit exceeded

5xx Server Errors

  • 500 Internal Server Error: Unexpected server error
  • 503 Service Unavailable: Service temporarily unavailable
  • 504 Gateway Timeout: Request timeout

Error Response Format

When an error occurs, the API returns a standardized error response:

{
"error": "Error message description",
"details": {
"field_name": ["Specific validation error"],
"api_key": ["The provided API key is invalid"]
}
}

Common Error Scenarios

Authentication Errors (401)

{
"error": "Invalid API key",
"details": {
"api_key": ["The provided API key is invalid or expired"]
}
}

Solution: Verify your API key is correct and active.

Validation Errors (422)

{
"error": "Invalid payload",
"details": {
"data": {
"business": {
"address": {
"street": ["This field is required."]
}
}
}
}
}

Solution: Check that all required fields are provided and properly formatted.

Rate Limiting (429)

{
"error": "Too many requests",
"details": {
"retry_after": 60
}
}

Solution: Wait for the specified retry period before making new requests.

Handling Errors

Best Practices

  1. Always Check Status Codes: Verify both HTTP status codes and task status codes
  2. Implement Retry Logic: For transient errors (5xx), implement exponential backoff
  3. Log Error Details: Store error responses for debugging and monitoring
  4. Handle Partial Success: Some tasks may complete partially (codes 530, 532)

Retry Strategy

// Example retry logic for transient errors
const retryableErrors = [500, 503, 504];
const maxRetries = 3;

if (retryableErrors.includes(response.status)) {
// Implement exponential backoff retry logic
await delay(Math.pow(2, attempt) * 1000);
// Retry request
}

Monitoring

Monitor these error patterns:

  • High rate of 401 errors (authentication issues)
  • Frequent 429 errors (rate limiting)
  • 500+ errors (server issues)
  • Publisher-specific errors (450, 451, 472)

Support

If you encounter persistent errors:

  1. Check this documentation for error code meanings
  2. Verify your request payload format
  3. Contact support at techsupport@shoutaboutus.com with:
    • Error code and message
    • Request payload (with API key redacted)
    • Task ID if available
    • Timestamp of the error

Next Steps

Now that you understand error handling, explore the API endpoints to learn how to make requests.