Google Local Services API
Search Google Local Services Ads: Google Guaranteed and Google Screened home-service pros with ratings, reviews, and phone numbers as clean JSON. Built for local SEO agencies, home-services lead gen, and competitor tracking. Pay per business returned. MCP-ready for Claude and AI agents.
MEDIAN LAGon demand
PARAMETERS7
TOTAL USERS12
MONTHLY ACTIVE11
TOTAL RUNS80
RUNS SUCCEEDED100.0%
RATING5.0 (1)
Input parameters
| PARAMETER | TYPE | REQ | DEFAULT | DESCRIPTION |
|---|---|---|---|---|
| query | string | no | — | REQUIRED (or use `queries`). |
| queries | string[] | no | — | Provide a list of services to search in one run, e.g. ['plumber', 'electrician', 'roofer']. |
| location | string | no | — | The US city or district to search in, e.g. 'Austin, TX' or 'Brooklyn, NY'. Resolved internally to the Google place ID (one billed resolution for each unique location). |
| dataCid | string | no | — | Advanced: the decimal Google CID of a city or district level place, e.g. '6745062158417646970' for Austin, TX. |
| jobType | string | no | — | Optional subcategory of the service, e.g. 'restore_power' for electricians or 'unclog_drain' for plumbers. |
| language | string | no | en | Two-letter language code for the results, e.g. 'en' or 'es'. Defaults to 'en'. |
| maxResultsPerQuery | integer | no | — | Optional cap on how many businesses to return for each query (a listing typically returns up to about 20). — drives your bill |
Worked examples
{
"query": "plumber",
"queries": [
"example"
]
}
Tasks
Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.
Code
curl
curl -X POST "https://api.apify.com/v2/acts/johnvc~google-local-services-api/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query": "plumber", "queries": ["example"]}'
Python
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/google-local-services-api").call(
run_input={'query': 'plumber', 'queries': ['example']}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)