This endpoint validates the API key, creates a scraping request record, and queues scraping tasks for each publisher. The request is processed asynchronously, and you can retrieve results using the /retrieve-task/ endpoint.
Endpoint
POST https://data.reviewdata.ai/submit/request-reviews/
Request Payload Schema
{
"job": "App\Jobs\RequestReviews",
"data": {
"api_key": "string",
"foreign_key": "string",
"lazy": "boolean",
"business": {
"id": "string",
"name": "string",
"address": {
"street": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string"
},
"phone": "string",
"description": "string",
"tags": ["string"]
},
"publishers": {
"publisher.com": {
"profile_key": "string",
"last_review_hashes": ["string"],
"first_page_only": "boolean"
}
}
}
}Required Fields
job: Must be"App\Jobs\RequestReviews"data.api_key: Your API key for authenticationdata.foreign_key: External request identifierdata.business: Business information objectdata.publishers: Publisher configurations object
Request Payload Samples
{
"job": "App\\Jobs\\RequestReviews",
"data": {
"lazy": true,
"api_key": "Ud8lXNNl.2xhAauhdD13EzNqjYLevw7i6gx5FL2z8",
"business": {
"id": "restaurant_001",
"name": "McDonald's",
"tags": [
"restaurant",
"pizza",
"italian",
"casual"
],
"phone": "+12123852066",
"address": {
"zip": "10038",
"city": "New York",
"state": "NY",
"street": "160 Broadway",
"country": "USA"
},
"description": "Classic, long-running fast-food chain known for its burgers & fries."
},
"publishers": {
"maps.google.com": {
"profile_key": "https://www.google.com/maps/place/McDonald's/@40.7094789,-74.0126167,886m/data=!3m2!1e3!5s0x89c2592f4977ef97:0xf78d57398ac93494!4m7!3m6!1s0x89c25a177d4bf5db:0x84e51f23e8c0a75c!8m2!3d40.7094789!4d-74.0100364!10e1!16s%2Fg%2F1thtf190!5m1!1e1?entry=ttu&g_ep=EgoyMDI1MDYyMi4wIKXMDSoASAFQAw%3D%3D",
"first_page_only": false,
"last_review_hashes": []
}
},
"foreign_key": "TEST_1758286505599_u8k8ok"
}
}Response Payload Examples
{
"status": "success",
"tasks_id": "900e2ff4-2d25-4576-ab18-b9b8e73c0bd6",
"request_id": "9f9d2b5a-085c-4df3-bcca-20928f086925",
"foreign_key": "TEST_1751004113518_i6yxcl",
"publisher_key": "maps.google.com",
}Rate Limiting
This endpoint is subject to rate limiting to ensure fair usage and system stability. The default rate limit is 180 requests per 60 seconds.
Rate Limit Details
- Limit: 180 requests per 60-second window
- Window: Rolling 60-second window
- Scope: Per API key
Rate Limit Headers
All successful responses include rate limit information in the headers:
X-RateLimit-Limit: 180
X-RateLimit-Window: 60s
X-RateLimit-Remaining: 179
X-RateLimit-Reset: 1738200123456
Rate Limit Exceeded Response (429)
When you exceed the rate limit, you'll receive a 429 Too Many Requests response:
Headers
X-RateLimit-Limit: 180
X-RateLimit-Window: 60s
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1738200123456
Retry-After: 14
Content-Type: application/json
Response Body
{
"error": {
"code": "rate_limited",
"message": "Too many requests. Please wait before retrying.",
"status": 429,
"details": {
"limit_per_minute": 180,
"window_seconds": 60,
"remaining": 0,
"reset_at": 1738200123456,
"endpoint": "/v1/reviews",
"method": "POST",
"api_key": "redacted"
},
"suggestion": "Reduce request rate or implement exponential backoff with jitter."
}
}