# Google Places Scraper via ScrapeForAgents

> Google Places Scraper via ScrapeForAgents is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured business listing data from Google Maps/Places based on search terms and location queries

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/google-places?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/google-places-scraper-via-scrapeforagents-3e7162c3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_89W7auryZimp5KA3Om3zL

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability google-places-scraper-via-scrapeforagents-3e7162c3 -d '<json body>'
```

Example prompt: Search Google Maps for all Italian restaurants and pizza places in Brooklyn, NY with at least 4 stars, return up to 100 results in English, and only include places that have a website.

## When to prefer this

Choose this endpoint when you need structured business listing data from Google Maps at scale, including addresses, ratings, categories, and website presence. Prefer it over manual scraping or Google Places API when you need bulk results across multiple search terms and locations without managing API quotas, and when pay-per-successful-call pricing is preferred over subscription costs.

## Known failure modes

- Empty results if search terms return no Google Maps listings for the location
- Rate limiting or blocking by Google Maps may reduce result counts below expected maximums
- Invalid or unsupported language code may fall back to default behavior
- maxCrawledPlacesPerSearch capped at 120 — requests above this are silently clamped
- Location query too vague may return geographically inconsistent results
- Payment failure results in no charge and no data returned

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object containing a count of results and an array of place items, each with fields including rank, title (business name), street, full address, categories, category name, the search string that found it, and the search page URL. Product field confirms 'google-places'.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "language": {
   "type": "string",
   "default": "en",
   "description": "Language code for map search labels and categories."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum places across all searches. Set to 0 to use only the per-search limit."
  },
  "searchUrls": {
   "type": "array",
   "default": [],
   "description": "Optional public map search URLs. Search terms and these URLs are both processed."
  },
  "minimumStars": {
   "type": "number",
   "default": 0,
   "maximum": 5,
   "minimum": 0,
   "description": "Keep places with at least this rating. Zero includes unrated places."
  },
  "locationQuery": {
   "type": "string",
   "description": "City, district, or other area added to each search term."
  },
  "websiteFilter": {
   "enum": [
    "any",
    "with",
    "without"
   ],
   "type": "string",
   "default": "any",
   "description": "Keep all places, only places with a website, or only places without one."
  },
  "searchStringsArray": {
   "type": "array",
   "description": "Business types or phrases to search. Combine each term with Location."
  },
  "maxCrawledPlacesPerSearch": {
   "type": "integer",
   "default": 50,
   "maximum": 120,
   "minimum": 1,
   "description": "Maximum distinct places to save from each term or URL. A map search usually exposes no more than about 120 results."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "rank": null,
    "title": null,
    "street": null,
    "address": null,
    "categories": null,
    "categoryName": null,
    "searchString": null,
    "searchPageUrl": null
   }
  ],
  "product": "google-places"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/google-places-scraper-via-scrapeforagents-3e7162c3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
