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

Extract location, business, and point-of-interest data from Apple Maps—addresses, coordinates, contact details, images, reviews, amenities, business hours, and more. Ideal for mapping apps, travel platforms, and market intelligence. Fast, reliable, and fully customizable.

- **URL**: https://apify.com/lexis-solutions/apple-maps-scraper.md
- **Developed by:** [Lexis Solutions](https://apify.com/lexis-solutions) (community)
- **Categories:** AI, Lead generation, Travel
- **Stats:** 30 total users, 0 monthly users, 96.7% runs succeeded, 5 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$39.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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 Scraper

![banner](https://i.ibb.co/twHZJBb9/apple-maps-cover.png)

The **Apple Maps Scraper** is an Apify actor that extracts location data, businesses, landmarks, and points of interest from Apple Maps. It searches by query and returns comprehensive location information including addresses, coordinates, contact details, images, reviews, amenities, business hours, and more for deeper analysis.

---

### ✨ Key Features

- **Flexible query search**: Search for any location, business, landmark, or point of interest using natural language queries.
- **Comprehensive location data**: Extract detailed information including addresses, coordinates, phone numbers, websites, and business hours.
- **Rich media support**: Collect images, ratings, reviews, and vendor information for each location.
- **Category classification**: Get main categories and subcategories for better organization and filtering.

---

### 💡 Why It's Important

Apple Maps provides detailed location and business information integrated with Apple's ecosystem. With this actor, you can:

- **Discover and analyze locations** across any region or city worldwide.
- **Extract business intelligence** including contact information, operating hours, and amenities.
- **Automate location data collection** for mapping, analysis, and business intelligence purposes.

---

### 👤 Who Is It For?

This actor is a great fit for:

- **Business intelligence and market researchers** analyzing local business data and locations.
- **Data teams and developers** building location-based applications and services.
- **Travel and hospitality companies** curating location information for their platforms.

---

### 🚀 Business Use Cases

- **Location data aggregation**: Collect comprehensive location information for mapping and geospatial analysis.
- **Business directory building**: Extract contact details, addresses, and business information for directories.
- **Competitive intelligence**: Analyze location distribution, amenities, and ratings across different regions.

---

### 🛠 Input Schema

```json
{
  "query": "The Pyramids", // Required: location query
  "proxyConfiguration": {
    // Optional: Apify proxy configuration
    "useApifyProxy": false
  }
}
````

Notes:

- Required: `query`.
- Use `proxyConfiguration` for Apify proxy settings.

***

### ⚠️ Important: Proxy Configuration

**The proxy configuration set for a specific country impacts the search results**, as Apple Maps search always returns nearby places based on the proxy's geographic location.

To get location-specific results, configure your proxy to match the target country or region. For example:

- To search for locations in France, use a proxy configured for France
- To search for locations in the USA, use a proxy configured for the USA

This ensures you receive the most relevant and geographically accurate search results.

***

### 📦 Output Schema

The actor returns location data with comprehensive information for each search result:

```json
{
  "id": "IED10F53B2E30A0CD",
  "name": "Great Pyramid of Giza",
  "secondaryName": "هرم خوفو",
  "description": "The Great Pyramid of Giza is the largest Egyptian pyramid. It served as the tomb of pharaoh Khufu, who ruled during the Fourth Dynasty of the Old Kingdom. Built c. 2600 BC, over a period of about 26 years, the pyramid is the oldest of the Seven Wonders of the Ancient World, and the only wonder that has remained largely intact. It is the most famous monument of the Giza pyramid complex, which is part of the UNESCO World Heritage Site \"Memphis and its Necropolis\".",
  "appleMapsUrl": "https://maps.apple.com/place?place-id=IED10F53B2E30A0CD",
  "vendor": {
    "name": "siri_kg",
    "url": "https://ar.wikipedia.org/wiki/الهرم_الأكبر"
  },
  "mainPhoneNumber": "+20227354532",
  "phoneNumbers": ["+20227354532"],
  "website": "https://egymonuments.gov.eg/en/monuments/the-great-pyramid",
  "mainCategory": "Landmark",
  "categories": ["travel_and_leisure", "historic_landmark"],
  "mainImage": "https://irs1.4sqi.net/img/general/original/2663822_UI9Bx-WqZEPyUQbjcvc2WYxRpSItcUd5Qb05aExgJdk.jpg",
  "images": [
    "https://irs1.4sqi.net/img/general/original/2663822_UI9Bx-WqZEPyUQbjcvc2WYxRpSItcUd5Qb05aExgJdk.jpg",
    "https://is1-ssl.mzstatic.com/image/thumb/nofVQGUj3vSBpj0IO43ULw/1284x1284bb.jpg",
    "https://is1-ssl.mzstatic.com/image/thumb/Jh9N5uz3XqNBt6SDSRuMWg/1284x1284bb.jpg"
  ],
  "rating": 4.25,
  "reviews": [
    {
      "snippet": "The setting was beautiful, the garden in particular. The staff was really friendly and Hady was very kind and helpful. It was great value for money with a wonderful view of the Great Pyramid.",
      "reviewTime": "2025-05-05T00:00:00.000Z",
      "reviewer": {
        "name": "anonymous"
      },
      "reviewId": "5154853675",
      "rating": {
        "ratingType": "USER_RATING",
        "score": 4,
        "maxScore": 5
      }
    }
  ],
  "businessAvailability": {
    "days": [
      "SUNDAY",
      "MONDAY",
      "TUESDAY",
      "WEDNESDAY",
      "THURSDAY",
      "FRIDAY",
      "SATURDAY"
    ],
    "hours": {
      "dayStartHour": 8,
      "dayEndHour": 16
    }
  },
  "externalLinks": [
    "https://viator.com/app-clip/d23032-a1506",
    "https://tiqets.com/appclip/venue/169240?partner=95014"
  ],
  "summarizedAddress": "Great Pyramid of Giza, Giza, Egypt",
  "address": {
    "country": "Egypt",
    "countryCode": "EG",
    "administrativeArea": "Giza",
    "locality": "Giza",
    "postCode": "12557",
    "subLocality": "Nazlet Al Siman And Al Sisi",
    "thoroughfare": "Al Amira Ferbal Street",
    "subThoroughfare": "11",
    "fullThoroughfare": "Al Amira Ferbal Street 11",
    "areaOfInterest": ["Great Pyramid of Giza", "Giza Necropolis"],
    "dependentLocality": [
      "Nazlet Al Siman And Al Sisi",
      "Al Amrania",
      "Pyramids"
    ],
    "subPremise": [],
    "geoId": [],
    "_unknownFields": {}
  },
  "coordinates": {
    "latitude": 29.9789881,
    "longitude": 31.13432
  },
  "amenities": [
    {
      "key": "accessibleWheelchair",
      "name": "Wheelchair Accessible",
      "category": [
        "crossbusiness",
        "accessibility_features",
        "wheelchair_accessible"
      ]
    },
    {
      "key": "person.3.fill",
      "name": "Good for Groups",
      "category": ["crossbusiness", "goodfor", "groups"]
    }
  ]
}
```

#### Output Fields Description

- **id**: Unique Apple Maps place identifier
- **name**: Primary name of the location
- **secondaryName**: Alternative name (often in a different language or script)
- **description**: Detailed description often sourced from Wikipedia or other knowledge bases
- **appleMapsUrl**: Direct link to view the location in Apple Maps
- **vendor**: Information about the data source (e.g., Siri Knowledge Graph, Booking.com)
- **mainPhoneNumber**: Primary contact phone number
- **phoneNumbers**: Array of all associated phone numbers
- **website**: Official website URL
- **mainCategory**: Primary category classification (e.g., Landmark, Hotel, Restaurant)
- **categories**: Array of category tags for classification
- **mainImage**: Primary image URL
- **images**: Array of image URLs
- **rating**: Numeric rating (if available)
- **reviews**: Array of review objects with snippets, ratings, reviewers, and timestamps
- **businessAvailability**: Operating schedule with days and hours
- **externalLinks**: Links to third-party services (e.g., booking sites, review platforms)
- **summarizedAddress**: Human-readable address summary
- **address**: Detailed address object with country, region, locality, street, postal code, and more
- **coordinates**: Geographic coordinates (latitude, longitude)
- **amenities**: Array of amenities with keys, names, and category classifications

👀 p.s.

Got feedback or need an extension?

Lexis Solutions is a [certified Apify Partner](https://apify.com/partners/find). We can help you with custom solutions or data extraction projects.

Contact us over [Email](mailto:scraping@lexis.solutions) or [LinkedIn](https://www.linkedin.com/company/lexis-solutions)

### Support Our Work 💝

If you're happy with our work and scrapers, you're welcome to leave us a company review [here](https://apify.com/partners/find/lexis-solutions/review) and leave a review for the scrapers you're subscribed to. It will take you less than a minute but it will mean a lot to us!

Image Credit: https://www.apple.com/maps/

# Actor input Schema

## `query` (type: `string`):

Enter location query

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

Your proxy configuration from Apify

## Actor input object example

```json
{
  "query": "The Pyramids",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "query": "The Pyramids"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lexis-solutions/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 = { "query": "The Pyramids" }

# Run the Actor and wait for it to finish
run = client.actor("lexis-solutions/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 '{
  "query": "The Pyramids"
}' |
apify call lexis-solutions/apple-maps-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Apple Maps Scraper",
        "description": "Extract location, business, and point-of-interest data from Apple Maps—addresses, coordinates, contact details, images, reviews, amenities, business hours, and more. Ideal for mapping apps, travel platforms, and market intelligence. Fast, reliable, and fully customizable.",
        "version": "0.1",
        "x-build-id": "g75S6Y1jjvvJ8Y6q5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lexis-solutions~apple-maps-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lexis-solutions-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/lexis-solutions~apple-maps-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lexis-solutions-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/lexis-solutions~apple-maps-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lexis-solutions-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",
                "required": [
                    "query"
                ],
                "properties": {
                    "query": {
                        "title": "Location Query",
                        "type": "string",
                        "description": "Enter location query"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Your proxy configuration from Apify",
                        "default": {
                            "useApifyProxy": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
