canonical: https://jentic.com/apis/googleapis.com/localservices

# Google Local Services API

The Local Services API gives Local Services Ads providers and their agencies programmatic access to two reporting datasets: account-level performance reports summarising spend, leads, and impressions, and detailed lead reports showing per-lead metadata such as charge amount, lead type, and dispute status. It is a read-only API designed for billing reconciliation, lead quality analysis, and feeding LSA performance data into business intelligence systems.

## For AI agents

Pull Local Services Ads account performance reports and detailed lead reports for billing, dispute tracking, and lead quality analysis.

## Scope

Does not create or edit ads, manage budgets, or change service-area settings - use only to pull account-level and detailed lead reporting data.

## Capabilities

- Search Local Services Ads account-level performance reports across one or more accounts
- Search detailed lead reports for individual lead events with charge and category data
- Filter reports by start date, end date, and manager customer ID
- Identify disputed leads and track their resolution status
- Reconcile LSA charges against an internal billing system
- Aggregate spend and lead counts by category for a service area

## Use cases

### LSA billing reconciliation

Multi-location service businesses reconcile their Local Services Ads invoices by pulling detailed lead reports and matching each charged lead to a CRM record. Calling /v1/detailedLeadReports:search with a date range returns charge amount, lead category, and dispute status for every lead, which an agent can compare against expected internal data.

Example prompt: Search detailedLeadReports for the last invoice period and join each charged lead to the CRM by phone number.

### Lead dispute tracking

When a Local Services Ads lead is invalid (spam, wrong service area, duplicate) advertisers can dispute the charge inside the LSA console. Detailed lead reports include the dispute status of every lead so an agency agent can list pending or resolved disputes and chase them up without logging into the UI.

Example prompt: Filter detailedLeadReports.search results to those with disputeStatus=DISPUTED and produce a CSV grouped by service category.

### Performance analytics for an agency

Agencies managing many LSA accounts feed daily account performance into BI tools to compare spend efficiency across clients. /v1/accountReports:search returns daily metrics - leads, impressions, spend - by account ID, which a scheduled agent can pull into BigQuery or a sheet.

Example prompt: Search accountReports for all child customer IDs of a manager account for the last 7 days and load the result into BigQuery.

### Agent-driven LSA performance brief via Jentic

A weekly performance agent can query both account and lead reports through Jentic and produce a natural-language brief for the account manager. Jentic surfaces the two search operations with their full filter parameter sets, so the agent can ask for date ranges and account IDs without learning the LSA API.

Example prompt: Run google_localservices_search_account_reports for the last 7 days and write a 5-bullet performance summary.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v1/accountReports:search | Search account-level Local Services Ads performance reports |
| GET | /v1/detailedLeadReports:search | Search detailed per-lead reports |

## Key resources

- **accountReports** — Account-level Local Services Ads performance metrics
- **detailedLeadReports** — Per-lead reports with charge amount, category, and dispute status

## Why Jentic

- **Setup:** Wiring the Local Services API by hand means configuring Google Ads OAuth2, managing the adwords scope and a developer token, refreshing access tokens, and shaping its report search queries yourself. Through Jentic you install once, import the Local Services API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** This API exposes only account-level and detailed lead reporting, passing its filters as query parameters rather than a resource in the URL path, so scope the agent to the operations it needs, such as searching account reports or detailed lead reports. Both endpoints are read-only, so the agent can pull reporting data but never edit ads or budgets.
- **Credential handling:** Your Google Ads OAuth credential and developer token are stored once, encrypted, by your own Jentic One instance and injected at execution time as a short-lived adwords access token. The refresh token and developer token never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'pull local services account reports' or 'list detailed lead reports', and Jentic returns the matching v1 search operation with its query parameters so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **AdSense Management API** — AdSense reports on display ad earnings; Local Services reports specifically on LSA lead-based ads
- **My Business Business Information API** — Business Information manages a service location's profile; Local Services reports on the ads run for that location
- **Search Ads 360 Reporting API** — Search Ads 360 reports on cross-platform paid search performance; Local Services reports specifically on LSA

## FAQ

### What authentication does the Local Services API use?

OAuth 2.0 with the https://www.googleapis.com/auth/adwords scope, the same scope used by the Google Ads API. The calling user must have access to the LSA account or its manager account. Through Jentic the credentials sit in the encrypted vault and only a short-lived access token reaches the agent.

### Can I create or edit Local Services Ads with this API?

No. The v1 API is read-only and exposes only accountReports:search and detailedLeadReports:search. Ad and budget changes must still be made through the LSA console or the underlying Google Ads API.

### What are the rate limits for the Local Services API?

Quota is shared with the Google Ads API service in the same Google Cloud project - 15,000 operations per day by default with a burst limit of 1 query per second per user. Agencies pulling many accounts should batch with backoff on 429 responses.

### How do I pull lead reports through Jentic?

Run jentic search 'pull local services ad lead reports' to find GET /v1/detailedLeadReports:search, jentic load to retrieve its query parameters, then jentic execute with managerCustomerId, startDate, and endDate. Jentic returns the paginated lead list.

### Does this API include lead phone numbers?

Detailed lead reports include the phone call duration, lead type, and consumer phone number for phone leads, plus the message body for message leads, subject to Google's privacy policies. Use the data only for the purposes the customer consented to.

### Is the Local Services API free?

Yes. The reporting API has no per-call charge - you only pay for the underlying Local Services Ads charges that the reports describe.

### Can I limit what my agent is allowed to do with the Local Services API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent can use, so you can allow it to search account-level performance reports while withholding detailed lead reports, or grant only the operation it needs. Both operations are read-only, passing their filters as query parameters, so the agent can pull reporting data but can never create or edit ads, change budgets, or alter service-area settings. Your Google Ads credential stays with your instance and reaches the agent only as a short-lived token at execution time.
