Facebook Reviews API
Fetch Facebook reviews as clean, normalized JSON. Daily refresh, full history, rating tracking and signed webhooks on every new review - for your own profiles or any competitor's.
Connect a Facebook profile
Facebook connects via OAuth, not a URL: use the Connect button in the console (approve access, pick your page) or the POST /profiles/authorize_url flow.
Monitoring starts immediately: the first crawl pulls the full history, then it refreshes automatically every day.
Every request for a Facebook profile
Once a profile is monitored, this is the full toolkit - the same calls the console shows for each profile. Copy, add your API key, run.
curl -u :YOUR_API_KEY https://api.repuso.com/public/v1/profiles/get/512
Response
{
"id": 512,
"type": "facebook",
"label": "Facebook",
"name": "Facebook - Downtown",
"score": 4.7,
"reviews": 1284,
"group": null
}curl -u :YOUR_API_KEY 'https://api.repuso.com/public/v1/reviews/get?channels=512'
Response
{
"count": 1284,
"items": [{
"id": 90514,
"type": "facebook",
"rating_value": "5.00",
"rating_scale": 5,
"sentiment": "positive",
"text": "Great service - highly recommended!",
"from_name": "Jane Cooper",
"posted_on": "2026-08-01 14:22:00"
}],
"next_before_ts": 1779310800,
"next_before_id": 90514
}curl -u :YOUR_API_KEY 'https://api.repuso.com/public/v1/reviews/get?rating=4,5&since=2026-01-01&keyword=delivery'
Response
{
"count": 37,
"items": [{
"id": 90822,
"rating_value": "5.00",
"sentiment": "positive",
"text": "Delivery was quick and the driver was polite.",
"posted_on": "2026-06-20 18:03:00"
}]
}curl -u :YOUR_API_KEY 'https://api.repuso.com/public/v1/profiles/rating_history/512?days=90'
Response
{
"history": [
{ "date": "2026-06-14", "score": 4.8, "reviews": 112, "estimated": true },
{ "date": "2026-08-01", "score": 4.7, "reviews": 1284 }
]
}curl -u :YOUR_API_KEY https://api.repuso.com/public/v1/profiles/ai/summary/512
Response
{
"summary": "Customers consistently praise the fast, friendly service and reliable quality...",
"language": "en",
"based_on_reviews": 100,
"generated_on": "2026-08-01T12:00:00Z"
}curl -u :YOUR_API_KEY https://api.repuso.com/public/v1/profiles/ai/insights/512
Response
{
"sentiment": { "positive": 982, "neutral": 45, "negative": 34, "total": 1061, "positive_pct": 93 },
"strengths": ["Fast, friendly service", "Consistent quality"],
"improvements": [{ "text": "Reduce wait times at peak hours", "severity": "recurring" }],
"generated_on": "2026-08-01T12:00:00Z"
}curl -u :YOUR_API_KEY 'https://api.repuso.com/public/v1/reviews/get?translate=en'
Response
{
"count": 1284,
"items": [{
"id": 90514,
"text": "We had a wonderful time, the kids loved it!",
"text_original": "Nous avons passe un moment merveilleux...",
"text_language": "en",
"rating_value": "5.00"
}]
}curl -u :YOUR_API_KEY -X POST https://api.repuso.com/public/v1/profiles/refresh/512 -H 'Content-Type: application/json' -d '{}'Response
{ "success": true, "crawl_queued": true }Plain-text reviews (no HTML), one schema for every platform. Facebook reviews can carry photos or videos - they arrive in media as type + url objects. tags are your own labels: set them with PUT /reviews/update/{id} and filter with reviews/get?tags=. Full parameter list in the API reference.
Not just Facebook - every platform in one request
Reviews arrive normalized to one schema, so you don't query per platform. Drop the profiles filter and the same /reviews/get endpoint returns reviews from every profile you monitor, across all 50+ platforms, in a single list - Facebook, Google, Trustpilot and the rest, together. Each item carries a platform field so you know where it came from.
curl -u :YOUR_API_KEY \ 'https://api.repuso.com/public/v1/reviews/get?limit=50'
Response
{
"count": 8452,
"items": [
{ "id": 90514, "platform": "google", "rating_value": "5.00", "sentiment": "positive", "text": "Fast and friendly." },
{ "id": 90515, "platform": "facebook", "rating_value": "4.00", "sentiment": "positive", "text": "Great value, would use again." },
{ "id": 90516, "platform": "trustpilot", "rating_value": "5.00", "sentiment": "positive", "text": "Excellent support." }
],
"next_before_ts": 1779310800,
"next_before_id": 90514
}Ask your AI about your Facebook reviews
The API doubles as an MCP server, so AI tools can manage your Facebook monitoring conversationally: Claude and ChatGPT connect as a plugin with an OAuth sign-in (no key to paste), and Claude Code, Cursor, VS Code and other MCP clients connect with your API key. 18 tools cover profiles, reviews, AI insights and summaries, translation, rating reports and webhooks.
> add our Facebook profile and run AI insights - what do customers praise, what should we fix first?
Get pushed on every new Facebook review
No polling loop - register an endpoint once and every new review arrives as a signed webhook:
curl -u :YOUR_API_KEY \
-X POST https://api.repuso.com/public/v1/webhooks/add \
-H 'Content-Type: application/json' \
-d '{"url": "https://yourapp.com/hooks/repuso", "events": ["review.created", "rating.changed"]}'
Example delivery
POST https://yourapp.com/hooks/repuso
X-Repuso-Signature: t=1754491052,v1=9f2b...
{
"id": "evt_293060",
"event": "review.created",
"occurred_on": "2026-08-06T14:37:32Z",
"data": {
"from_name": "Jane Cooper",
"rating_value": "5",
"text": "Great service - highly recommended!",
"profile_id": 512,
"platform": "facebook"
}
}A managed alternative to Facebook review scraping
Building a Facebook review scraper means headless browsers, rotating proxies, CAPTCHAs and markup that changes without notice - and it breaks the week you stop babysitting it. Repuso runs and maintains the crawlers for you: you call a stable JSON API and the scraping, parsing and deduplication stay our problem. Reviews arrive normalized, with author, rating, date and full text, refreshed daily.
Whether you are migrating off a homegrown Facebook scraper, exporting reviews for analysis, feeding an AI pipeline or tracking competitors, the same two API calls above replace the whole scraping stack - and signed webhooks push every new review to you, no polling loop required.
No code required to get started
Profiles can be added and managed straight from the developer console - search a business by name or paste its Facebook URL, and monitoring starts within minutes. The API key, usage, webhooks and billing live there too, so the API is optional until you want the automation.
What you get
Per-profile pricing from $1.99/profile/month with volume rates - 1,000 pooled requests per profile, overage $1/1,000.
Monitor Facebook reviews in minutes
10-day full trial - every feature, no card needed.
Get your API keyMore platforms
Instagram Reviews API · App Store Reviews API · Google Play Reviews API · Google Reviews API · TripAdvisor Reviews API · Capterra Reviews API · GetApp Reviews API · G2 Reviews API · Thumbtack Reviews API · Trustpilot Reviews API · Yellow Pages Reviews API · Airbnb Reviews API