# Apple Maps Places Scraper (`fetch_cat/apple-maps-places-scraper`) Actor

Extract Apple Maps places, businesses, POIs, contacts, addresses, coordinates, ratings, websites, and local lead data from searches or URLs.

- **URL**: https://apify.com/fetch\_cat/apple-maps-places-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** Lead generation, Travel, SEO tools
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.03 / 1,000 item extracteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Apple Maps Places Scraper

Collect public place, business, and point-of-interest data from Apple Maps searches and Apple Maps place URLs. Use it to build local lead lists, enrich store-location databases, monitor competitors, or research places in a city.

### Ready-to-run examples

- [Apple Maps Blue Bottle Known Place Url](https://apify.com/fetch_cat/apple-maps-places-scraper/examples/apple-maps-blue-bottle-known-place-url)
- [Apple Maps Multiple Categories Boston](https://apify.com/fetch_cat/apple-maps-places-scraper/examples/apple-maps-multiple-categories-boston)
- [Apple Maps Bookstores Seattle With Photos](https://apify.com/fetch_cat/apple-maps-places-scraper/examples/apple-maps-bookstores-seattle-with-photos)
- [Apple Maps Grocery Stores Downtown La Coordinates](https://apify.com/fetch_cat/apple-maps-places-scraper/examples/apple-maps-grocery-stores-downtown-la-coordinates)
- [Apple Maps Coworking Spaces Berlin](https://apify.com/fetch_cat/apple-maps-places-scraper/examples/apple-maps-coworking-spaces-berlin)
- [Apple Maps Gyms Sydney](https://apify.com/fetch_cat/apple-maps-places-scraper/examples/apple-maps-gyms-sydney)

[View all ready-to-run examples](https://apify.com/fetch_cat/apple-maps-places-scraper/examples)
### What does Apple Maps Places Scraper do?

Apple Maps Places Scraper turns Apple Maps searches into structured datasets. You provide search terms such as `coffee shops`, `hotels`, `dentists`, or `EV chargers`, choose a location or coordinates, and the actor saves matching public places.

It can also process direct Apple Maps URLs when you already know a business or place page.

### Who is it for?

**Sales and lead generation teams**

- 🧲 Build local prospect lists from Apple Maps categories and city searches.
- 📞 Export phone, website, address, and coordinate fields for outreach preparation.

**Retail, franchise, and expansion teams**

- 🏬 Check nearby competitors before opening or evaluating a new location.
- 📍 Compare business density across neighborhoods, suburbs, or target cities.

**POI data and operations teams**

- 🗺️ Enrich store-location databases with Apple Maps place identifiers and coordinates.
- 🔁 Monitor recurring local data changes for known categories or service areas.

**Analysts and growth teams**

- 📈 Research local market coverage for campaigns, partnerships, and territory planning.
- 🧪 Compare categories such as restaurants, EV chargers, pharmacies, gyms, or hotels across regions.

### Why use it?

Apple Maps is a major discovery surface for local businesses. This actor gives you a clean export with the fields teams usually need: name, category, address, coordinates, phone, website, ratings, and source metadata.

### Output fields

| JSON key | Label | Type | Description |
| --- | --- | --- | --- |
| `name` | Name | string / null | Output field for name. |
| `category` | Category | string / null | Output field for category. |
| `appleMapsUrl` | AppleMapsUrl | string / null | Output field for applemapsurl. |
| `muid` | Muid | string / null | Output field for muid. |
| `resultProviderId` | ResultProviderId | integer / null | Output field for resultproviderid. |
| `address` | Address | string / null | Output field for address. |
| `streetAddress` | StreetAddress | string / null | Output field for streetaddress. |
| `city` | City | string / null | Output field for city. |
| `region` | Region | string / null | Output field for region. |
| `country` | Country | string / null | Output field for country. |
| `postalCode` | PostalCode | string / null | Output field for postalcode. |
| `latitude` | Latitude | number / null | Output field for latitude. |
| `longitude` | Longitude | number / null | Output field for longitude. |
| `phone` | Phone | string / null | Output field for phone. |
| `website` | Website | string / null | Output field for website. |
| `hours` | Hours | array / null | Output field for hours. |
| `rating` | Rating | number / null | Output field for rating. |
| `reviewCount` | ReviewCount | integer / null | Output field for reviewcount. |
| `price` | Price | string / null | Output field for price. |
| `photos` | Photos | array / null | Output field for photos. |
| `sourceQuery` | SourceQuery | string / null | Output field for sourcequery. |
| `sourceUrl` | SourceUrl | string / null | Output field for sourceurl. |
| `scrapedAt` | ScrapedAt | string | Output field for scrapedat. |

### Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

| Event | What is charged | Price |
| --- | --- | ---: |
| `start` | One-time fee charged when a run starts. Covers fixed startup cost (init, proxy warmup, first HTTP setup). | $0.005 |

| Event | What is charged | Free / no discount | Starter / Bronze | Scale / Silver | Business / Gold | Custom / Platinum | Custom / Diamond |
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: |
| `item` | Charged per item extracted. | $0.04902 / 1,000 | $0.04263 / 1,000 | $0.03325 / 1,000 | $0.02558 / 1,000 | $0.01705 / 1,000 | $0.01193 / 1,000 |

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

### How to use Apple Maps Places Scraper

1. Open the actor on Apify.
2. Add one or more search queries.
3. Enter a city in `location`, or provide exact `lat` and `lng`.
4. Set `maxResults` to the number of places you need.
5. Run the actor.
6. Download results as JSON, CSV, Excel, or through the Apify API.

### Search query examples

- `coffee shops`
- `restaurants`
- `hotels`
- `electric vehicle charging stations`
- `dentists`
- `gyms`
- `pharmacies`
- `coworking spaces`

### Location examples

Use a human-readable location such as:

- `San Francisco, CA`
- `Austin, Texas`
- `Berlin, Germany`
- `Sydney, Australia`

For repeatable local searches, use `lat` and `lng` instead of a text location.

### Direct Apple Maps URLs

If you already have Apple Maps URLs, paste them into `startUrls`. The actor will extract details from the public page when Apple Maps exposes a reusable place identifier.

### Input settings

| Setting | JSON key | Type / default | Description |
| --- | --- | --- | --- |
| Search queries | `queries` | array, default `["coffee shops"]` | Apple Maps searches to run, such as coffee shops, hotels, EV chargers, or dentists. |
| Location | `location` | string, default `"San Francisco, CA"` | City, area, or landmark used as the search center when latitude/longitude are not provided. |
| Latitude | `lat` | number | Optional numeric latitude for the search center. Use with longitude for more precise searches. |
| Longitude | `lng` | number | Optional numeric longitude for the search center. Use with latitude for more precise searches. |
| Apple Maps place or search URLs | `startUrls` | array, default `[{"url":"https://maps.apple.com/?address=55%20S%20Van%20Ness%20Ave%2C%20San%20Francisco%2C%20CA%2094103%2C%20United%20States&name=Blue%20Bottle%20Coffee"}]` | Optional Apple Maps URLs to extract directly. Use this for known businesses or saved Apple Maps links. |
| Maximum places | `maxResults` | integer, default `20` | Maximum number of places to save across all searches and URLs. |
| Language | `language` | string, default `"en-US"` | Apple Maps language/locale for labels and addresses. |
| Country code | `countryCode` | string, default `"US"` | Two-letter country code used by Apple Maps for search context. |
| Include photos | `includePhotos` | boolean, default `false` | Include public photo URLs when Apple Maps returns them. Disable for smaller output and faster runs. |
### Example input

```json
{
  "queries": [
    "coffee shops"
  ],
  "location": "San Francisco, CA",
  "lat": 40.7128,
  "lng": -74.006,
  "startUrls": [
    {
      "url": "https://maps.apple.com/?address=55%20S%20Van%20Ness%20Ave%2C%20San%20Francisco%2C%20CA%2094103%2C%20United%20States&name=Blue%20Bottle%20Coffee"
    }
  ],
  "maxResults": 20,
  "language": "en-US",
  "countryCode": "US",
  "includePhotos": false
}
````

### Output example

```json
{
  "name": "Blue Bottle Coffee",
  "category": "Coffee Shop",
  "appleMapsUrl": "https://maps.apple.com/place?auid=13662822354918264874",
  "muid": "13662822354918264874",
  "address": "55 S Van Ness Ave, San Francisco, CA 94103, United States",
  "city": "San Francisco",
  "region": "CA",
  "country": "United States",
  "latitude": 37.7739331,
  "longitude": -122.4186265,
  "phone": "+1 (510) 653-3394",
  "website": "https://bluebottlecoffee.com/",
  "rating": 3.5,
  "reviewCount": 36,
  "sourceQuery": "coffee shops",
  "scrapedAt": "2026-07-03T00:00:00.000Z"
}
```

### Tips for best results

- 🎯 Use specific categories such as `orthodontists` instead of broad terms like `businesses`.
- 📍 Use coordinates for precise neighborhoods.
- 🧪 Start with `maxResults` 10-25 before larger runs.
- 🌎 Set `countryCode` to match the target market.
- 🖼️ Enable photos only when you need them.

### Integrations

Use the dataset in CRM enrichment, lead scoring, local SEO audits, store expansion research, spreadsheet workflows, and BI dashboards. Apify integrations can send results to Google Sheets, webhooks, Make, Zapier, or your own database.

### API usage

Run Apple Maps Places Scraper from your own code with the Apify API.

**Node.js**

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "queries": [
    "coffee shops"
  ],
  "location": "San Francisco, CA",
  "lat": 40.7128,
  "lng": -74.006,
  "startUrls": [
    {
      "url": "https://maps.apple.com/?address=55%20S%20Van%20Ness%20Ave%2C%20San%20Francisco%2C%20CA%2094103%2C%20United%20States&name=Blue%20Bottle%20Coffee"
    }
  ]
};

const run = await client.actor('fetch_cat/apple-maps-places-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**Python**

```python
from apify_client import ApifyClient
import os

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fetch_cat/apple-maps-places-scraper").call(run_input={
  "queries": [
    "coffee shops"
  ],
  "location": "San Francisco, CA",
  "lat": 40.7128,
  "lng": -74.006,
  "startUrls": [
    {
      "url": "https://maps.apple.com/?address=55%20S%20Van%20Ness%20Ave%2C%20San%20Francisco%2C%20CA%2094103%2C%20United%20States&name=Blue%20Bottle%20Coffee"
    }
  ]
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)
```

**cURL**

```bash
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~apple-maps-places-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries":["coffee shops"],"location":"San Francisco, CA","lat":40.7128,"lng":-74.006,"startUrls":[{"url":"https://maps.apple.com/?address=55%20S%20Van%20Ness%20Ave%2C%20San%20Francisco%2C%20CA%2094103%2C%20United%20States&name=Blue%20Bottle%20Coffee"}]}'
```

### Use with AI agents via MCP

Apple Maps Places Scraper can be used by AI assistants through the hosted Apify MCP server.

**Claude Code setup**

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/apple-maps-places-scraper"
```

**Claude Desktop, Cursor, or VS Code JSON config**

```json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=fetch_cat/apple-maps-places-scraper"
    }
  }
}
```

**Example prompts**

- "Run Apple Maps Places Scraper with this input JSON and summarize the dataset."
- "Export the latest Apple Maps Places Scraper results to a table I can review."
- "Schedule this Actor for monitoring and tell me what changed between runs."

### Data quality notes

Apple Maps may return different fields for different place types. Restaurants often include ratings and hours, while parks, landmarks, or regions may have fewer business fields.

### Limits

The actor saves up to `maxResults` places. Apple Maps search availability, field availability, and result ordering can vary by country, query, and location.

### FAQ

#### Why did I get fewer places than requested?

Apple Maps may have fewer public matches for the exact query/location. Try a broader query, nearby coordinates, or a different city.

#### Why are some phone numbers or websites missing?

The actor only returns public fields Apple Maps exposes for each place. Some places do not publish phone or website data.

### Legality

This actor extracts publicly available Apple Maps place information. Make sure your use complies with applicable laws, privacy rules, and Apple Maps terms. Do not use scraped data for spam, harassment, or prohibited profiling.

### Related actors

- [Agoda Reviews Scraper](https://apify.com/fetch_cat/agoda-reviews-scraper)
- [Airbnb Listings Scraper](https://apify.com/fetch_cat/airbnb-listings-scraper)
- [Airbnb Reviews Scraper](https://apify.com/fetch_cat/airbnb-reviews-scraper)
- [Ashby Jobs Scraper](https://apify.com/fetch_cat/ashby-jobs-scraper)
- [ATS Jobs Scraper for 6 ATS Sources](https://apify.com/fetch_cat/ats-jobs-scraper)

### Support

Report bugs, wrong output, blocked runs, or missing fields from the Actor page. Include the Apify run ID or run URL, your input JSON, what you expected, what the Actor returned, and one reproducible public URL so the issue can be tested quickly.

# Actor input Schema

## `queries` (type: `array`):

Apple Maps searches to run, such as coffee shops, hotels, EV chargers, or dentists.

## `location` (type: `string`):

City, area, or landmark used as the search center when latitude/longitude are not provided.

## `lat` (type: `number`):

Optional numeric latitude for the search center. Use with longitude for more precise searches.

## `lng` (type: `number`):

Optional numeric longitude for the search center. Use with latitude for more precise searches.

## `startUrls` (type: `array`):

Optional Apple Maps URLs to extract directly. Use this for known businesses or saved Apple Maps links.

## `maxResults` (type: `integer`):

Maximum number of places to save across all searches and URLs.

## `language` (type: `string`):

Apple Maps language/locale for labels and addresses.

## `countryCode` (type: `string`):

Two-letter country code used by Apple Maps for search context.

## `includePhotos` (type: `boolean`):

Include public photo URLs when Apple Maps returns them. Disable for smaller output and faster runs.

## Actor input object example

```json
{
  "queries": [
    "coffee shops"
  ],
  "location": "San Francisco, CA",
  "startUrls": [
    {
      "url": "https://maps.apple.com/?address=55%20S%20Van%20Ness%20Ave%2C%20San%20Francisco%2C%20CA%2094103%2C%20United%20States&name=Blue%20Bottle%20Coffee"
    }
  ],
  "maxResults": 20,
  "language": "en-US",
  "countryCode": "US",
  "includePhotos": false
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "queries": [
        "coffee shops"
    ],
    "location": "San Francisco, CA",
    "startUrls": [
        {
            "url": "https://maps.apple.com/?address=55%20S%20Van%20Ness%20Ave%2C%20San%20Francisco%2C%20CA%2094103%2C%20United%20States&name=Blue%20Bottle%20Coffee"
        }
    ],
    "maxResults": 20,
    "language": "en-US",
    "countryCode": "US",
    "includePhotos": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/apple-maps-places-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "queries": ["coffee shops"],
    "location": "San Francisco, CA",
    "startUrls": [{ "url": "https://maps.apple.com/?address=55%20S%20Van%20Ness%20Ave%2C%20San%20Francisco%2C%20CA%2094103%2C%20United%20States&name=Blue%20Bottle%20Coffee" }],
    "maxResults": 20,
    "language": "en-US",
    "countryCode": "US",
    "includePhotos": False,
}

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/apple-maps-places-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "queries": [
    "coffee shops"
  ],
  "location": "San Francisco, CA",
  "startUrls": [
    {
      "url": "https://maps.apple.com/?address=55%20S%20Van%20Ness%20Ave%2C%20San%20Francisco%2C%20CA%2094103%2C%20United%20States&name=Blue%20Bottle%20Coffee"
    }
  ],
  "maxResults": 20,
  "language": "en-US",
  "countryCode": "US",
  "includePhotos": false
}' |
apify call fetch_cat/apple-maps-places-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=fetch_cat/apple-maps-places-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Apple Maps Places Scraper",
        "description": "Extract Apple Maps places, businesses, POIs, contacts, addresses, coordinates, ratings, websites, and local lead data from searches or URLs.",
        "version": "0.1",
        "x-build-id": "1JgYCUaALeBpqHvQe"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fetch_cat~apple-maps-places-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fetch_cat-apple-maps-places-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/fetch_cat~apple-maps-places-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fetch_cat-apple-maps-places-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/fetch_cat~apple-maps-places-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fetch_cat-apple-maps-places-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "queries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Apple Maps searches to run, such as coffee shops, hotels, EV chargers, or dentists.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City, area, or landmark used as the search center when latitude/longitude are not provided."
                    },
                    "lat": {
                        "title": "Latitude",
                        "type": "number",
                        "description": "Optional numeric latitude for the search center. Use with longitude for more precise searches."
                    },
                    "lng": {
                        "title": "Longitude",
                        "type": "number",
                        "description": "Optional numeric longitude for the search center. Use with latitude for more precise searches."
                    },
                    "startUrls": {
                        "title": "Apple Maps place or search URLs",
                        "type": "array",
                        "description": "Optional Apple Maps URLs to extract directly. Use this for known businesses or saved Apple Maps links.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxResults": {
                        "title": "Maximum places",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of places to save across all searches and URLs.",
                        "default": 20
                    },
                    "language": {
                        "title": "Language",
                        "type": "string",
                        "description": "Apple Maps language/locale for labels and addresses.",
                        "default": "en-US"
                    },
                    "countryCode": {
                        "title": "Country code",
                        "type": "string",
                        "description": "Two-letter country code used by Apple Maps for search context.",
                        "default": "US"
                    },
                    "includePhotos": {
                        "title": "Include photos",
                        "type": "boolean",
                        "description": "Include public photo URLs when Apple Maps returns them. Disable for smaller output and faster runs.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
