# Apple Maps Scraper (`scrapesmith/apple-maps-scraper`) Actor

Cheapest & fastest Apple Maps scraper. Extract names, addresses, phone numbers, websites, ratings, reviews, hours, photos, amenities, categories,  coordinates, and 50+ fields per place. JSON/CSV/Excel. API, MCP, webhook, AI-agent ready.

- **URL**: https://apify.com/scrapesmith/apple-maps-scraper.md
- **Developed by:** [Scrape Smith](https://apify.com/scrapesmith) (community)
- **Categories:** Developer tools, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 results

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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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 Scraper

The most affordable and comprehensive Apple Maps data extraction tool available. Get real-time place data from Apple Maps including business names, addresses, phone numbers, websites, ratings, reviews, business hours, photos, amenities, categories, GPS coordinates, Michelin stars, editorial content, and 60+ fields per result.

### ⚡ Why this scraper?

- 💰 **Cheapest on the market** — significantly lower cost per result than any alternative
- 📋 **60+ data fields per place** — more comprehensive than any competing Apple Maps tool
- 🔧 **No setup required** — works instantly, no Apple account or API key needed
- 🌍 **40+ languages supported** — English, French, German, Japanese, Chinese, Arabic, and many more
- 🔄 **Real-time data** — every result is fetched live from Apple Maps
- 🚀 **Lightning fast** — hundreds of places extracted per minute
- 🧹 **Automatic deduplication** — no duplicate results in your dataset
- 💾 **Resume support** — long runs save progress and resume after interruptions

### 📊 What data can you extract?

Every place result includes up to 60+ structured fields:

#### 🏢 Core business information

| Field | Description |
|-------|-------------|
| `name` | Business or place name |
| `placeId` | Unique Apple Maps place identifier |
| `muid` | Apple Maps internal unique ID |
| `placeType` | Type classification (BUSINESS, LANDMARK, etc.) |
| `placeDisplayType` | Display type classification |
| `categoryName` | Primary category (e.g., Restaurant, Hotel, Coffee Shop) |
| `categories` | Full multi-level category tree with IDs and hierarchy levels |
| `categoryIds` | Flat array of all category IDs |
| `mapsCategoryMuid` | Apple Maps internal category identifier |
| `description` | Place description text |
| `brandMuid` | Brand identifier for chain businesses |

#### 📞 Contact details

| Field | Description |
|-------|-------------|
| `phone` | Primary phone number |
| `phoneFormatted` | Formatted phone number |
| `altPhones` | Additional/alternate phone numbers |
| `fax` | Fax number |
| `website` | Business website URL |

#### 📍 Address and location

| Field | Description |
|-------|-------------|
| `address` | Short formatted address |
| `fullAddress` | Complete multi-line address |
| `street` | Full street address |
| `subThoroughfare` | Street number |
| `thoroughfare` | Street name |
| `subLocality` | Sub-locality or district |
| `city` | City or locality |
| `subAdministrativeArea` | County or sub-administrative area |
| `state` | State or administrative area |
| `stateCode` | State/province abbreviation |
| `postalCode` | ZIP or postal code |
| `country` | Country name |
| `countryCode` | ISO country code |
| `neighborhood` | Neighborhood or district name |
| `areaOfInterest` | Named areas of interest near the place |
| `latitude` | GPS latitude coordinate |
| `longitude` | GPS longitude coordinate |
| `timezone` | IANA timezone identifier (e.g., America/New_York) |
| `timezoneOffset` | UTC offset string (e.g., -05:00) |

#### ⭐ Ratings and reviews

| Field | Description |
|-------|-------------|
| `rating` | Average rating score (e.g., 4.5) |
| `maxRating` | Maximum possible rating score |
| `reviewCount` | Total number of ratings |
| `reviewCountFormatted` | Human-readable rating count (e.g., "1.4K") |
| `ratingProvider` | Rating source (e.g., "Yelp") |
| `reviewsUrl` | Direct link to reviews on provider site |
| `priceLevel` | Price level on a 1–4 scale |
| `maxPriceLevel` | Maximum price level |
| `reviews` | Array of review snippets with text, rating, reviewer name, and date |

#### 🕐 Hours and availability

| Field | Description |
|-------|-------------|
| `hours` | Full weekly business hours schedule (day, open/close times) |
| `open24Hours` | Whether the place is open 24 hours |

#### 📸 Media, editorial, and recognition

| Field | Description |
|-------|-------------|
| `photos` | Photo URLs with dimensions, author, provider, and category |
| `editorial` | Editorial content from guides (Michelin, The Infatuation, etc.) |
| `accolades` | Awards and recognitions (Michelin stars, James Beard, etc.) |
| `featuredIn` | Curated guides and publications featuring this place |
| `amenities` | Available amenities with status (parking, Wi-Fi, accessibility, etc.) |
| `actions` | Available actions (reservations, online ordering, menus) with URLs |
| `containmentLine` | Parent location context (e.g., "Inside Terminal 3") |
| `lookAroundAvailable` | Whether Apple Look Around street view is available |

#### 🏷️ Ownership and claims

| Field | Description |
|-------|-------------|
| `claimUrl` | URL to claim this business on Apple Business Connect |
| `isClaimable` | Whether the listing can be claimed |
| `buildingId` | Apple Maps building identifier |

#### 🔗 Metadata

| Field | Description |
|-------|-------------|
| `inputContext` | The search query or URL that produced this result |
| `appleUrl` | Direct link to the place on Apple Maps |
| `scrapedAt` | ISO timestamp of when the data was collected |

### 📥 Input options

#### 🔍 Search by query
Use natural language search queries, just like you would on Apple Maps:
```json
{
    "searchQueries": [
        "coffee shops in San Francisco",
        "hotels near Times Square New York",
        "dentists in Chicago"
    ]
}
````

#### 📌 Search with specific coordinates

Target a precise geographic area:

```json
{
    "searchQueries": ["restaurants"],
    "latitude": 48.8566,
    "longitude": 2.3522
}
```

#### 🏙️ Search by location name

Let the scraper resolve coordinates automatically:

```json
{
    "searchQueries": ["gyms"],
    "location": "Miami, FL"
}
```

#### 🔗 Scrape specific places by URL

Extract data from specific Apple Maps place URLs:

```json
{
    "placeUrls": [
        "https://maps.apple.com/place?auid=15734941717876813476"
    ]
}
```

#### 🌐 Use Apple Maps search URLs

Paste search URLs directly from your Apple Maps browser:

```json
{
    "searchUrls": [
        "https://maps.apple.com/?q=pizza&ll=40.7128,-74.0060"
    ]
}
```

#### 🌏 Multilingual results

Get results in any of 40+ supported languages:

```json
{
    "searchQueries": ["restaurants in Paris"],
    "language": "fr-FR"
}
```

#### 🔀 Combine multiple input types

Mix and match in a single run:

```json
{
    "searchQueries": ["coffee shops in Seattle"],
    "placeUrls": ["https://maps.apple.com/place?auid=15734941717876813476"],
    "location": "Seattle, WA",
    "maxItems": 500,
    "language": "en-US"
}
```

### 📤 Output example

```json
{
    "inputContext": "restaurants in new york",
    "placeId": "IDA5DBE200785AEA4",
    "muid": "15734941717876813476",
    "name": "The River Cafe",
    "placeType": "BUSINESS",
    "placeDisplayType": "BUSINESS",
    "categoryName": "New American Cuisine",
    "categories": [
        {"name": "New American Cuisine", "categoryId": "restaurant.american.new", "level": 2}
    ],
    "description": "Fine dining restaurant in NYC.",
    "phone": "+17185225200",
    "phoneFormatted": "+1 (718) 522-5200",
    "altPhones": ["+17185522427"],
    "website": "https://rivercafe.com/",
    "brandMuid": "",
    "address": "1 Water St, Brooklyn",
    "fullAddress": "1 Water St Brooklyn, NY 11201 United States",
    "street": "1 Water St",
    "city": "Brooklyn",
    "state": "New York",
    "stateCode": "NY",
    "postalCode": "11201",
    "country": "United States",
    "countryCode": "US",
    "neighborhood": "Fulton Ferry",
    "latitude": 40.7037044,
    "longitude": -73.9948297,
    "timezone": "America/New_York",
    "rating": 4.1,
    "maxRating": 5,
    "reviewCount": 1396,
    "reviewCountFormatted": "1.4K",
    "ratingProvider": "Yelp",
    "reviewsUrl": "http://yelp.com/apple_maps_action?id=...",
    "priceLevel": 4,
    "maxPriceLevel": 4,
    "hours": [
        {"day": "MONDAY", "hours": []},
        {"day": "WEDNESDAY", "hours": [{"open": "17:00", "close": "22:30"}]}
    ],
    "open24Hours": false,
    "reviews": [
        {
            "text": "Beautiful dining room, attentive service, gorgeous gardens.",
            "rating": 4,
            "maxRating": 5,
            "reviewer": "Marianne F.",
            "time": "2026-06-07T15:42:13.000Z"
        }
    ],
    "photos": [
        {
            "photoId": "photo_xyz",
            "url": "https://is1-ssl.mzstatic.com/image/thumb/.../320x320bb.jpeg",
            "width": 308,
            "height": 308,
            "author": "The River Cafe",
            "provider": "MICHELIN Guide",
            "category": "Interior"
        }
    ],
    "amenities": [
        {"name": "Accepts Apple Pay", "amenityId": "apple_pay", "available": true},
        {"name": "Has Parking", "amenityId": "parking", "available": true},
        {"name": "Wheelchair Accessible", "amenityId": "wheelchair", "available": true}
    ],
    "accolades": [
        {"text": "Three Stars", "provider": "MICHELIN Guide"}
    ],
    "editorial": [
        {
            "title": "Michelin",
            "text": "Iconic waterfront fine dining with stunning Manhattan views...",
            "url": "https://guide.michelin.com/..."
        }
    ],
    "featuredIn": [],
    "actions": [
        {"title": "Reserve a Table", "url": "https://resy.com/...", "categoryId": "reservation"}
    ],
    "lookAroundAvailable": false,
    "claimUrl": "https://business.apple.com/?claimId=15734941717876813476",
    "isClaimable": true,
    "buildingId": "360850920180673950",
    "appleUrl": "https://maps.apple.com/place?auid=15734941717876813476",
    "scrapedAt": "2026-07-23T12:00:00.000Z"
}
```

### 💼 Use cases

- 🏪 **Lead generation** — Build targeted business lists with phone numbers, websites, and addresses for sales outreach
- 📈 **Market research** — Analyze business density, ratings, and pricing tiers across geographic areas
- 🗺️ **Location analytics** — Create detailed business maps with GPS coordinates and category data
- 💬 **Review monitoring** — Track customer sentiment and compare review performance against competitors
- 🔍 **Local SEO audits** — Verify business listing consistency across Apple Maps
- 🏠 **Real estate analysis** — Assess nearby amenities and neighborhood quality for property evaluations
- ✈️ **Travel and hospitality** — Compile destination guides with ratings, hours, photos, and Michelin content
- 🎓 **Academic research** — Study commercial corridors and urban development trends

### 🌍 Supported languages

40+ languages including English (US, UK, AU), French, German, Spanish, Italian, Japanese, Korean, Portuguese, Chinese (Simplified, Traditional), Dutch, Swedish, Danish, Norwegian, Finnish, Polish, Turkish, Russian, Arabic, Hebrew, Hindi, Thai, Vietnamese, Indonesian, Malay, Ukrainian, Czech, Hungarian, Romanian, Slovak, Slovenian, Croatian, Greek, and Catalan.

### 🔌 API, MCP & integrations

- 🌐 **REST API** — Start runs and retrieve datasets from any programming language
- 🤖 **MCP server** — Connect to AI agents like Claude, ChatGPT, or any MCP-compatible assistant
- 🔔 **Webhooks** — Get notified when scraping completes
- ⚙️ **Integrations** — Zapier, Make, n8n, LangChain, and hundreds more
- 📅 **Scheduled runs** — Recurring data collection on any schedule
- 📁 **Export formats** — JSON, CSV, Excel, or via API

#### 🐍 Python example

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("YOUR_ACTOR_ID").call(run_input={
    "searchQueries": ["coffee shops in San Francisco"],
    "maxItems": 100,
    "language": "en-US"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["name"], item["phone"], item["rating"])
```

#### 📜 JavaScript example

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

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('YOUR_ACTOR_ID').call({
    searchQueries: ['hotels in London'],
    maxItems: 200,
    language: 'en-GB'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(item.name, item.rating, item.website));
```

### 💡 Tips for best results

1. 📍 **Include location in your query** — "pizza in Chicago" works better than just "pizza"
2. 🎯 **Use coordinates for precision** — Set latitude/longitude to target a specific area
3. 🔢 **Multiple queries for coverage** — Apple Maps returns ~70 results per search area, so use multiple queries with different locations
4. 🔀 **Combine input types** — Use search queries for discovery and place URLs for specific businesses
5. 🌐 **Language matters** — Set the language to match your target market for localized results

### ⚙️ Proxy configuration

This scraper works without any proxy for most use cases. If you experience rate limiting on very large runs, you can optionally configure a proxy in the input settings.

### 📏 Limitations

- Each search query returns up to ~70 results from Apple Maps (Apple's internal limit per search area)
- For broader coverage, use multiple queries with different geographic coordinates or location names
- Review snippets are limited to what Apple Maps provides (typically 3 per place)
- Some fields may be empty for places with incomplete listings

### ❓ FAQ

**How many results can I get per run?**
Each search query returns up to ~70 results. For larger datasets, use multiple queries targeting different areas. There is no hard cap on total results — combine as many queries as you need.

**Do I need to provide coordinates?**
No. Include location in your search query (e.g., "restaurants in Paris") or use the `location` field. Explicit latitude/longitude gives the most precise control.

**What happens if a run is interrupted?**
The scraper saves progress automatically. Interrupted runs resume from where they left off.

**Can I get data in my language?**
Yes — 40+ languages supported. Set the `language` field to your desired locale code.

**How fresh is the data?**
Every result is fetched live from Apple Maps. No caching — always the most current data.

**Can I scrape specific businesses by URL?**
Yes. Use `placeUrls` to provide direct Apple Maps place links.

**Is there a free tier?**
Yes — free users can extract up to 25 results per run.

### 🔗 Related scrapers

- [Google Maps Reviews Scraper](https://apify.com/scrapesmith/Google-Maps-Reviews-Scraper) — Extract reviews from Google Maps
- [TripAdvisor Reviews Scraper](https://apify.com/scrapesmith/tripadvisor-reviews-scraper) — Scrape hotel and restaurant reviews
- [Nominatim Geocoder](https://apify.com/scrapesmith/nominatim-geocoder) — Forward and reverse geocoding with 120+ enriched fields
- [Telefonbuch Scraper](https://apify.com/scrapesmith/telefonbuch-de-scraper) — German business directory with GPS, hours, and reviews

### 🛟 Support

Questions or issues? Open an issue on this actor's page — we actively maintain and update this scraper.

# Actor input Schema

## `searchQueries` (type: `array`):

Search terms to find places on Apple Maps. Example: 'coffee shops in San Francisco', 'hotels near Times Square'. You can include location in the query itself.

## `placeUrls` (type: `array`):

Direct Apple Maps place URLs. Supports links with ?auid= parameter. Example: https://maps.apple.com/place?auid=15734941717876813476

## `searchUrls` (type: `array`):

Apple Maps search URLs with query and coordinates baked in. Paste URLs directly from the Apple Maps browser.

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

Location to center the search around. Example: 'New York, NY', 'London, UK'. Overridden by latitude/longitude if both are set.

## `latitude` (type: `number`):

Latitude for the search center point. Use with longitude for precise geographic targeting.

## `longitude` (type: `number`):

Longitude for the search center point. Use with latitude for precise geographic targeting.

## `maxItems` (type: `integer`):

Maximum number of places to return across all queries. Default: no limit (up to plan cap).

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

Language for results. Affects place names, categories, and descriptions. Default: en-US.

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

ISO country code to bias search results. Affects which places are returned. Example: US, GB, DE, FR.

## `proxyConfiguration` (type: `object`):

Optional proxy settings. Not required for most runs — Apple Maps works without proxy.

## Actor input object example

```json
{
  "searchQueries": [
    "restaurants in new york"
  ],
  "language": "en-US",
  "countryCode": "US"
}
```

# 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 = {
    "searchQueries": [
        "restaurants in new york"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesmith/apple-maps-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 = { "searchQueries": ["restaurants in new york"] }

# Run the Actor and wait for it to finish
run = client.actor("scrapesmith/apple-maps-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 '{
  "searchQueries": [
    "restaurants in new york"
  ]
}' |
apify call scrapesmith/apple-maps-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Apple Maps Scraper",
        "description": "Cheapest & fastest Apple Maps scraper. Extract names, addresses, phone numbers, websites, ratings, reviews, hours, photos, amenities, categories,  coordinates, and 50+ fields per place. JSON/CSV/Excel. API, MCP, webhook, AI-agent ready.",
        "version": "0.1",
        "x-build-id": "AJghblGOEdRIq4zrL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapesmith~apple-maps-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapesmith-apple-maps-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/scrapesmith~apple-maps-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapesmith-apple-maps-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/scrapesmith~apple-maps-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapesmith-apple-maps-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": {
                    "searchQueries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "Search terms to find places on Apple Maps. Example: 'coffee shops in San Francisco', 'hotels near Times Square'. You can include location in the query itself.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "placeUrls": {
                        "title": "Place URLs",
                        "type": "array",
                        "description": "Direct Apple Maps place URLs. Supports links with ?auid= parameter. Example: https://maps.apple.com/place?auid=15734941717876813476",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchUrls": {
                        "title": "Search URLs",
                        "type": "array",
                        "description": "Apple Maps search URLs with query and coordinates baked in. Paste URLs directly from the Apple Maps browser.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Location to center the search around. Example: 'New York, NY', 'London, UK'. Overridden by latitude/longitude if both are set."
                    },
                    "latitude": {
                        "title": "Latitude",
                        "minimum": -90,
                        "maximum": 90,
                        "type": "number",
                        "description": "Latitude for the search center point. Use with longitude for precise geographic targeting."
                    },
                    "longitude": {
                        "title": "Longitude",
                        "minimum": -180,
                        "maximum": 180,
                        "type": "number",
                        "description": "Longitude for the search center point. Use with latitude for precise geographic targeting."
                    },
                    "maxItems": {
                        "title": "Max Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of places to return across all queries. Default: no limit (up to plan cap)."
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "en-US",
                            "en-GB",
                            "en-AU",
                            "fr-FR",
                            "fr-CA",
                            "de-DE",
                            "es-ES",
                            "es-MX",
                            "it-IT",
                            "ja-JP",
                            "ko-KR",
                            "pt-BR",
                            "pt-PT",
                            "zh-CN",
                            "zh-TW",
                            "zh-HK",
                            "nl-NL",
                            "sv-SE",
                            "da-DK",
                            "nb-NO",
                            "fi-FI",
                            "pl-PL",
                            "tr-TR",
                            "ru-RU",
                            "ar-SA",
                            "he-IL",
                            "hi-IN",
                            "th-TH",
                            "vi-VN",
                            "id-ID",
                            "ms-MY",
                            "uk-UA",
                            "cs-CZ",
                            "hu-HU",
                            "ro-RO",
                            "sk-SK",
                            "sl-SI",
                            "hr-HR",
                            "el-GR",
                            "ca-ES"
                        ],
                        "type": "string",
                        "description": "Language for results. Affects place names, categories, and descriptions. Default: en-US.",
                        "default": "en-US"
                    },
                    "countryCode": {
                        "title": "Country Code",
                        "type": "string",
                        "description": "ISO country code to bias search results. Affects which places are returned. Example: US, GB, DE, FR.",
                        "default": "US"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Optional proxy settings. Not required for most runs — Apple Maps works without proxy."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
