Search
/api/google-local/search
Get the local businesses for a query such as "coffee" in a city such as Austin, Texas
Search Google Local (tbm=lcl) for local businesses, shops and services and get the local finder list as structured JSON. Each result carries the business name, rating, review count, price level, type, address, phone, hours, description, website, thumbnail and the Google place id, with start-offset pagination. SerpApi google_local compatible naming.
Try it now
Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.
curl -X GET "https://scrappa.co/api/google-local/search?query=coffee&hl=en&gl=us" \
-H "Accept: application/json" \
-H "X-API-KEY: YOUR_API_KEY"
{
"query": "coffee",
"location": "Austin, Texas",
"page": 1,
"page_size": 20,
"has_more": true,
"results": [
{
"position": 1,
"title": "Black Fox Coffee",
"rating": 4.6,
"reviews": 77,
"price": "$1–10",
"type": "Coffee shop",
"website": "https://www.blackfoxcoffee.com/",
"address": null,
"phone": null,
"hours": null,
"description": null,
"thumbnail": null,
"place_id": "/g/11mky5508y",
"provider_id": "/g/11mky5508y",
"links": { "website": "https://www.blackfoxcoffee.com/", "directions": null },
"local_map": { "link": "https://maps.google.com/maps?...", "gps_coordinates": null }
}
]
}
Structured data for real applications. Here are some ideas.
Build directories and lead flows for any query and city: coffee shops, restaurants, shops and services with rating, reviews, phone and address from one API.
Track which businesses Google ranks for your keywords in a market, with their ratings, review counts and price levels.
Measure business density, ratings and price coverage for a category in a city before you enter it.
Everything you need in one API.
/api/google-local/search
Get the local businesses for a query such as "coffee" in a city such as Austin, Texas
See how Scrappa compares to the official API.
| Feature | Scrappa | SerpApi Google Local |
|---|---|---|
| Local business results for a query | ||
| Field naming | SerpApi-compatible (results) | Native (local_results) |
| Rating, review count, price level | ||
| Address, phone, hours, website | ||
| Pagination via start offset | ||
| GPS coordinates | null (not in the SERP source) | |
| Service options | sparse | |
| Pricing | $0.20 per 1,000 requests | Paid plans |
| Free tier | 500 credits per month | Limited trial |
It returns the Google Local (tbm=lcl) finder list for a query as JSON. Send a query such as "coffee" with a city such as Austin, Texas and get an array of local businesses, each carrying the business name, rating, review count, price level, type, address, phone, hours, description, website, thumbnail and Google place id. Field names follow the SerpApi google_local convention.
No. There is no public Google Local API; Scrappa is an independent service and is not affiliated with or endorsed by Google. You do not need a Google account or a Google Cloud project — a Scrappa API key is the only credential.
Coverage is the Google Local finder list, so the core fields match: title, rating, review count, price level, type, address, phone, hours, website and place id. The SERP source carries no GPS coordinates, only sparse service options and no ludocid deep-link parameter, so those fields are returned as null. Pagination uses the start offset with step 20.
Call GET /api/google-local/search with query, hl, gl and location, for example ?query=coffee&hl=en&gl=us&location=Austin, Texas. The location is sent to Google as a uule parameter; it is best-effort because exit-IP geolocation may override it.
A full page with no business for the query returns 200 with an empty results array and is billed, because the answer is a valid empty result. A block page, a captcha, a consent page, a page without the local finder list, or an exhausted session never returns data and is never billed.
Yes. Every Scrappa account includes 500 free credits per month with no credit card required. Requests are $0.20 per 1,000 after that, and a request that returns an error consumes no credits.