Send a Google Play or App Store review to POST /v1/reply.
Get back one polished, store-policy-safe reply ready to publish. No prompt engineering, no fine-tuning.
Free tier: 150 calls/month, no credit card.
Three actual outputs from the API. No cherry-picking — the model is prompted to avoid AI self-disclosure, fabricated contact info, and store-specific phrasing.
"Crashes every time I open settings. Total garbage, deleting."
Reply (267 chars · 1.6s)
We're sorry you're experiencing crashes in settings—that's frustrating. We'd like to help resolve this. Please try uninstalling and reinstalling the latest version. If issues persist, reach out to our support team through the in-app help.
"Decent. Wish there was a widget."
Reply (206 chars · 1.6s)
Thank you for the feedback! We're glad you're finding the app useful. A widget is a great suggestion—we appreciate you sharing what would enhance your experience. We'll keep this in mind for future updates.
"Best fitness app I've used. The streak feature keeps me going!"
Reply (196 chars · 1.5s)
Thank you so much for the kind words! We're thrilled the streak feature is motivating you to stay consistent with your fitness goals. Your support means everything to us—keep up the great work!
Also works in
German, Spanish, French, Italian, Bulgarian, Portuguese, Dutch, Polish, Turkish, and more.
Set language: "auto" to match the review's language automatically.
One POST request, one JSON body, one reply back. No SDK. Works from any HTTP client.
https://<your-rapidapi-host>.p.rapidapi.com/v1/reply
You get the exact <your-rapidapi-host> value in your RapidAPI subscription page after you subscribe to any plan.
curl --request POST \
--url https://<your-host>.p.rapidapi.com/v1/reply \
--header 'content-type: application/json' \
--header 'x-rapidapi-host: <your-host>.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
--data '{
"review": "Crashes every time I open settings.",
"rating": 1,
"appName": "Fitness Tracker",
"language": "en",
"tone": "apologetic"
}'
const res = await fetch('https://<your-host>.p.rapidapi.com/v1/reply', {
method: 'POST',
headers: {
'content-type': 'application/json',
'x-rapidapi-host': '<your-host>.p.rapidapi.com',
'x-rapidapi-key': 'YOUR_RAPIDAPI_KEY',
},
body: JSON.stringify({
review: 'Crashes every time I open settings.',
rating: 1,
appName: 'Fitness Tracker',
language: 'en',
tone: 'apologetic',
}),
});
const data = await res.json();
console.log(data.reply);
All fields go in the JSON request body. content-type: application/json is required.
| Field | Type | Required | Description |
|---|---|---|---|
| review | string | required | The user review text. 3–1000 characters. |
| rating | integer | required | Rating from 1 (worst) to 5 (best). |
| appName | string | optional | Your app's name. Used for light personalization. Max 80 chars. |
| language | string | optional | ISO 639-1 code (en, de, bg, …) or auto. Default: auto (match the review's language). |
| tone | string | optional | One of professional, friendly, apologetic. Default: professional. |
| maxLength | integer | optional | Soft maximum reply length in characters. 80–500. Default: 350. The service post-truncates at the nearest sentence boundary if the model overshoots. |
Tip for Google Play replies: leave maxLength at its default of 350 — Google Play hard-caps developer replies at 350 characters. For Apple App Store, you can go up to 500.
{
"reply": "We're sorry you're experiencing crashes in settings—that's frustrating. We'd like to help resolve this. Please try uninstalling and reinstalling the latest version. If issues persist, reach out to our support team through the in-app help.",
"metadata": {
"language": "en",
"tone": "apologetic",
"rating": 1,
"maxLength": 350,
"modelProvider": "bedrock",
"model": "claude-haiku-4-5",
"version": "v1",
"cached": false
}
}
metadata.cached is true when the reply was served from the 24-hour request-hash cache.
Cached replies do not consume your monthly quota.
All errors follow the same shape:
{ "error": { "code": "...", "message": "...", "details": {} } }.
The code is stable and safe to switch on; message may change.
| HTTP | Code | When |
|---|---|---|
| 400 | VALIDATION_ERROR | Missing or invalid input field. details.field names which. |
| 408 | REQUEST_TIMEOUT | Upstream model timed out. Safe to retry. |
| 429 | RATE_LIMITED | You hit your plan's monthly quota or per-second rate limit. |
| 500 | INTERNAL_ERROR | Unexpected server error. |
| 502 | AI_PROVIDER_ERROR | The model failed, or the generated reply failed the output safety check. Safe to retry. |
POST /v1/reply takes a review, a rating, and a handful of optional knobs (tone, language, app name, max length).
Returns one reply. That's it. No SDK required.
The model is prompted to never name a specific store, never invent email addresses or URLs, never claim to be AI, never overpromise. Output is post-validated against a denylist before it ever leaves the server.
Set the language explicitly with an ISO-639-1 code, or let the API detect from the review. Tested across English, German, Spanish, Bulgarian, and more.
Send the same review twice within a day, get the same reply — no extra cost on metered plans. Useful during integration and for re-runs.
professional, friendly, and apologetic.
Each prompt-tuned to fit common review-reply scenarios. Override length with maxLength.
Review text is processed transiently. Cached replies are stored for up to 24 hours keyed by a hash of the request — never as raw user text. We don't retain or associate any data with end users.
Billed monthly via RapidAPI. No setup fees.
Basic
$0
per month
150 calls / month
For testing and integration.
Pro
$9
per month
1,000 calls / month
Indie developers and side projects.
Ultra
$29
per month
5,000 calls / month
Small studios shipping multiple apps.
Mega
$99
per month
25,000 calls / month
Agencies and tools.
All tiers: 10 requests/sec rate limit. Identical requests within 24h are cached (no quota hit).
Google Play and the Apple App Store. The API doesn't need to know which store the review came from — the generated reply is store-agnostic and safe to publish on either.
About 1.5–2 seconds end-to-end per fresh reply. Cached replies (identical inputs within 24h) return in under 100ms.
Any language Claude understands — practically every major world language. Eval-tested in English, German, Bulgarian, Spanish.
Set language: "auto" to match the review's detected language.
Yes — it's a plain HTTP API. Drop a single POST call wherever your tool currently does its review handling. Works from any language with an HTTP client.
Review text is processed transiently and never stored as raw text. Generated replies are cached for 24 hours keyed by a hash of the request, then deleted automatically. No data is associated with end users or sold to third parties. Powered by Anthropic Claude on AWS Bedrock.
No. The prompt explicitly forbids AI self-disclosure and contact-info fabrication, and every generated reply is post-validated against a denylist of risky patterns before being returned. A reply that fails the safety check is rejected and the API returns a 502 instead of unsafe content.