Local Business
Local-business data: Google Maps place search, place detail with popular times, and review history from Google Maps or Yelp.
What it scrapes
| Source | Data |
|---|---|
| Google Maps | Business listings by query + location (name, address, rating, review count, category); place detail including popular times when available |
| Google Maps / Yelp | Review history for a place (source = google or yelp) |
Endpoints
Router: routers/local_data.py · tag: LocalData
| Method | Path | Summary |
|---|---|---|
| GET | /v1/local/places/search | Google Maps business search (query, location, limit 1–100, default 20) |
| GET | /v1/local/places/{place_id} | Place detail + popular times |
| GET | /v1/local/reviews/{place_id} | Review history (source = google | yelp, limit 1–100, default 20) |
GET /v1/local/places/search
Query params: query (required, e.g. taco), location (e.g. Austin TX),
limit (1–100, default 20).
curl -X GET "http://localhost:8005/v1/local/places/search?query=taco&location=Austin%20TX&limit=5" \
-H "Authorization: Bearer <key>"
Response (200):
{
"success": true,
"query": "taco",
"location": "Austin TX",
"limit": 5,
"data": [
{
"place_id": "ChIJabc123",
"name": "Example Taqueria",
"address": "100 Congress Ave, Austin, TX",
"rating": 4.6,
"review_count": 812,
"category": "Mexican restaurant",
"phone": "+1-512-555-0123",
"url": "https://maps.google.com/?cid=123456789"
}
]
}
GET /v1/local/places/{place_id}
curl -X GET "http://localhost:8005/v1/local/places/ChIJabc123" \
-H "Authorization: Bearer <key>"
Response (200):
{
"success": true,
"place_id": "ChIJabc123",
"data": {
"name": "Example Taqueria",
"address": "100 Congress Ave, Austin, TX",
"rating": 4.6,
"review_count": 812,
"category": "Mexican restaurant",
"hours": {"monday": "10:00–22:00", "tuesday": "10:00–22:00"},
"popular_times": {
"monday": [{"hour": 12, "percent": 82}, {"hour": 13, "percent": 90}],
"saturday": [{"hour": 19, "percent": 95}]
},
"price_level": 2,
"website": "https://example-taqueria.com"
}
}
GET /v1/local/reviews/{place_id}
Query params: source (google — CID/slug — or yelp — biz slug, default
google), limit (1–100, default 20).
curl -X GET "http://localhost:8005/v1/local/reviews/ChIJabc123?source=google&limit=5" \
-H "Authorization: Bearer <key>"
Response (200):
{
"success": true,
"place_id": "ChIJabc123",
"source": "google",
"limit": 5,
"data": [
{
"author": "Jane D.",
"rating": 5,
"text": "Best tacos in town, fast service.",
"date": "2026-08-01",
"language": "en"
}
]
}
MCP tools
No dedicated MCP tool for local-data endpoints yet — call REST directly.
For agents, pry_scrape + pry_extract can pull custom review/listing
pages.
Who uses this
- Local SEO agencies — review monitoring and rating tracking for clients.
- Market research — popular-times data for foot-traffic analysis.
- Competitive intelligence — review sentiment across a category in a city.
- Reputation management — watch for new 1-star reviews in near real time (pair with monitors).
Next steps
- Real Estate — property data in the same markets
- Monitoring — watch place pages for new reviews
- Browser Automation — automate interactions with map UIs