Skip to main content
The NaijaTaste REST API lets you programmatically generate Nigerian-style restaurant reviews and get personalized restaurant recommendations powered by the Nigerian Persona Engine. You can integrate review simulation, location-based discovery, and restaurant detail lookups directly into your own application using standard HTTP requests.

Base URL

All API requests go to the following base URL:
https://naijataste-api-vcp4.onrender.com
Use the interactive Swagger UI at https://naijataste-api-vcp4-vcp4.onrender.com/docs to explore and test all endpoints without writing any code.

Making requests

Every request and response uses JSON. Set the Content-Type header to application/json on all requests that include a body.
curl -X GET https://naijataste-api-vcp4.onrender.com/health
The API returns a JSON object for every response, including errors.

Available endpoints

MethodPathDescription
POST/simulate-reviewGenerate a Nigerian-style restaurant review
POST/recommendGet personalized restaurant recommendations
GET/places/top-picksGet top-rated nearby restaurants
GET/place-details/{place_id}Get full details for a specific restaurant
GET/cache/statsView cached Google Places query statistics
GET/healthAPI health check

Error codes

The API uses standard HTTP status codes. When a request fails, the response body contains a JSON object with details about the error.
CodeMeaning
422Invalid or missing request fields
500Internal server error
502Unexpected AI response
503External service unavailable
422 Unprocessable Entity is returned when required fields are missing from the request body — for example, when neither user_id nor persona is provided to /simulate-review, or when neither user_id nor cold_start_signals is provided to /recommend. 503 Service Unavailable is returned when an external dependency — Google Places or Gemini AI — cannot be reached or is not configured.

Rate limiting

During high-traffic periods, the API’s AI service layer may become temporarily rate-limited. If this happens, you will receive a 502 or 503 error response. Wait approximately 60 seconds before retrying your request.
Implement retry logic with a short delay in production integrations. A 60-second wait before retrying is usually sufficient during peak periods.