Yell Reviews API
Fetch Yell 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 Yell profile
One call connects a profile - the first crawl collects its review history in the background:
curl -u :YOUR_API_KEY \
-X POST https://api.repuso.com/public/v1/profiles/add \
-H 'Content-Type: application/json' \
-d '{"type": "yell", "url": "https://..."}'Accepted URL formats
https://www.yell.com/biz/anoo-accounting-boston-7355947 https://www.yell.com/biz/ben-roche-carpentry-and-joinery-london-6413102/
Monitoring starts immediately: the first crawl pulls the full history, then it refreshes automatically every day.
Every request for a Yell 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": "yell",
"label": "Yell",
"name": "Yell - 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": "yell",
"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. 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 Yell - 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 - Yell, 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": "yell", "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 Yell reviews
The API doubles as an MCP server, so AI tools can manage your Yell 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 Yell profile and run AI insights - what do customers praise, what should we fix first?
Get pushed on every new Yell 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": "yell"
}
}A managed alternative to Yell review scraping
Building a Yell 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 Yell 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 Yell 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.
More platforms
Facebook Reviews API · 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