Apple Maps Scraper - Phones, Ratings, Hours, Amenities & Photos
Pricing
from $1.99 / 1,000 places
Apple Maps Scraper - Phones, Ratings, Hours, Amenities & Photos
Extract place data from Apple Maps at scale. Get phone numbers, ratings, opening hours, amenities, photos, and full addresses for any business. Search by query + location, paste place URLs, or replay search URLs. 30+ fields per place. Parallel requests. No Apple account needed. $2.99/1,000 places.
Pricing
from $1.99 / 1,000 places
Rating
0.0
(0)
Developer
Zen Studio
Actor stats
0
Bookmarked
11
Total users
7
Monthly active users
6 days ago
Last modified
Categories
Share
Apple Maps Scraper Pro | Extract Place Data from Apple Maps (2026)
Extract detailed place information from Apple Maps at scale. Search by query + location, paste direct place URLs, or replay search URLs with embedded coordinates. Each place returns 30+ structured fields including phone numbers, ratings, hours, amenities, photos, and full address breakdowns.
No Apple account needed. No browser. Runs 40 concurrent requests.
| 500 places in under 60 seconds — hands down the richest output on Apify. |
| Related Scrapers ➤ | Apple Directions | Yandex Places | 2GIS Places | Google Directions |
|---|
How to Scrape Apple Maps Places
Three input modes, use any combination:
Search by Query + Location
The most common way. Enter what you're looking for and where. The location is automatically converted to coordinates.
{"searchQueries": [{ "query": "coffee shops", "location": "Manhattan, New York" },{ "query": "dentist", "location": "Shibuya, Tokyo" },{ "query": "EV charging station", "location": "Berlin, Germany" }],"maxResults": 50}
Each query searches a ~5 km radius around the geocoded location. More specific locations give more accurate results -- "Soho, London" is better than "London".
Scrape Specific Places by URL
Paste Apple Maps place URLs directly. Supports place IDs, address URLs with a business name, and short share links from the Apple Maps app.
{"placeUrls": ["https://maps.apple.com/place?place-id=I918CB7E77B4C7910","https://maps.apple.com/place?auid=12345678901234567","https://maps.apple.com/?q=Lifeline+Urgent+Care&address=13410+Briar+Forest+Dr,+Houston,+TX+77077","https://maps.apple/p/g.uBeAYyG_6cdr"]}
Supported URL formats:
- Place ID URLs --
place?place-id=...orplace?auid=... - Address URLs --
?q=Business+Name&address=...(copied from the browser address bar) - Share URLs --
maps.apple/p/g.xxxshort links (from the share button in Apple Maps)
Replay a Search URL
Copy a search URL from your browser after searching on Apple Maps. The query, coordinates, and zoom level are preserved.
{"searchUrls": ["https://maps.apple.com/search?query=coffee+shops¢er=40.71,-74.00&span=0.05,0.05"]}
The span parameter controls the search radius. Smaller values = tighter area.
Country and Language Change Your Results
These aren't just formatting options. They affect which places Apple Maps returns and how it ranks them.
Country code sets the regional context. Searching "cafe" near Paris with US returns Cafe de Flore, but with FR returns Le Peloton Cafe. Set this to match where your target places are.
Language controls category names, address formatting, and result ranking. Searching near Berlin with de-DE vs en-US can return different first results and categories ("Kaffeehaus" vs "Coffee Shop").
{"searchQueries": [{ "query": "cafe", "location": "Paris, France" }],"countryCode": "FR","language": "fr-FR"}
Pricing
Pay-per-event pricing. You only pay for places successfully scraped.
| Plan | Per 1,000 places | Per place |
|---|---|---|
| Regular | $2.99 | $0.00299 |
| Bronze | $2.79 | $0.00279 |
| Silver | $2.49 | $0.00249 |
| Gold | $1.99 | $0.00199 |
Cost Examples (Regular Plan)
| Places | Cost |
|---|---|
| 100 | $0.30 |
| 500 | $1.50 |
| 1,000 | $2.99 |
Try it free -- new Apify users get $5 in platform credits. That's ~1,200 places at no cost.
Budget controls are built in. Set a maximum spend and the Actor stops automatically when the limit is reached.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | array | -- | Search queries with location. Each entry has query, location, and optional maxResults. |
placeUrls | array | -- | Direct Apple Maps place URLs. |
searchUrls | array | -- | Apple Maps search URLs with embedded coordinates. |
countryCode | string | US | Affects result ranking and which places are returned. |
language | string | en-US | Affects category names, addresses, and result ranking. |
maxResults | integer | 20 | Max places per search query. Apple typically returns 20-30 per search. |
proxyConfiguration | object | -- | Proxy settings. Not required for small runs. |
At least one of searchQueries, placeUrls, or searchUrls is required.
Output Example
Each place in the dataset looks like this:
{"placeId": "10487959837072980240","name": "Black Fox","placeType": "BUSINESS","phone": "+19177420133","phoneFormatted": "+1 (917) 742-0133","altPhones": ["+19177048198","+12124227750"],"website": "https://www.blackfoxcoffee.com","categories": ["Coffee Shop","Cafe","Restaurant","Breakfast and Brunch Restaurant","Coffee Roastery"],"categoryIds": ["coffee_shop","cafe","restaurant","breakfast_and_brunch_restaurant","coffee_roastery"],"mapsCategoryId": "dining.cafe.coffee_shop","mapsAltCategoryId": ["dining.cafe.coffee_shop.coffee_roastery","dining.restaurant.breakfast_and_brunch_restaurant"],"address": {"full": "70 Pine Street, New York, NY 10005, United States","short": "70 Pine Street, New York","street": "70 Pine Street","subThoroughfare": "70","thoroughfare": "Pine Street","subLocality": null,"city": "New York","subAdministrativeArea": "New York","state": "New York","stateCode": "NY","postalCode": "10005","country": "United States","countryCode": "US","neighborhood": ["Financial District","Manhattan","North Hudson","Wall Street"],"areaOfInterest": []},"containedIn": "Coffee Shop · Financial District, Manhattan","location": {"lat": 40.7064705,"lng": -74.0077107},"timezone": "America/New_York","timezoneOffset": null,"bounds": {"region": {"southLat": 40.705572184715884,"westLng": -74.00889571763419,"northLat": 40.70736881528412,"eastLng": -74.00652568236582},"displayRegion": {"southLat": 40.7019738,"westLng": -74.0136424,"northLat": 40.7109671,"eastLng": -74.0017789},"minZoom": 15.000031471252441},"roadAccess": [{"lat": 40.7063194,"lng": -74.00791,"type": "walking","direction": "ENTRY_EXIT"}],"lookAroundAvailable": true,"rating": {"score": 95,"maxScore": 100,"reviewCount": 40,"reviewCountFormatted": "40","categoryRatings": [{"category": "Food & Drink","score": 92,"maxScore": 100,"reviewCount": 38},{"category": "Atmosphere","score": 97,"maxScore": 100,"reviewCount": 37},{"category": "Customer Service","score": 97,"maxScore": 100,"reviewCount": 36}]},"hours": {"weekly": [{"days": ["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"],"open": "07:00","close": "17:00"},{"days": ["SUNDAY","SATURDAY"],"open": "08:00","close": "16:00"}]},"serviceHours": [],"amenities": [{"name": "Accepts Apple Pay","amenityId": "crossbusiness.payments.applepay","available": true,"source": "com.yelp"},{"name": "Accepts Contactless Payments","amenityId": "crossbusiness.payments.contactless_pay","available": true,"source": ""},{"name": "Wheelchair Accessible","amenityId": "crossbusiness.accessibility_features.wheelchair_accessible","available": true,"source": "com.yelp"},{"name": "Parking Validated","amenityId": "crossbusiness.parking.parking_validated","available": true,"source": "com.yelp"},{"name": "Good for Kids","amenityId": "crossbusiness.goodfor.families","available": true,"source": "com.yelp"},{"name": "Gender-Neutral Restrooms","amenityId": "crossbusiness.restrooms.gender_neutral_restroom","available": true,"source": "com.yelp"},{"name": "Accepts Credit Cards","amenityId": "crossbusiness.payments.creditcard","available": true,"source": "com.yelp"}],"photos": [{"url": "https://ir.4sqi.net/img/general/600x450/6054361_ggg-DEgbZ2bj3ws2vhr95CLiEjo8LLshjr3K-rnca9M.jpg","width": 308,"height": 308,"category": "Food & Drink","categoryPhotosAvailable": 48},{"url": "https://irs1.4sqi.net/img/general/600x600/159476_I1MntMA2hMgv2QKWvKtxHLetgLu0TlMGX0CbuNCnVf0.jpg","width": 308,"height": 308,"category": "Atmosphere","categoryPhotosAvailable": 28},{"url": "https://ir.4sqi.net/img/general/450x600/44969609_S8N6Wq-IXcllY1GZrqLZI9HZz25kIrx0RDx5X3jSX3I.jpg","width": 308,"height": 308,"category": "All Photos","categoryPhotosAvailable": 61}],"quickLinks": [{"title": "Menu","url": "https://www.yelp.com/menu/black-fox-coffee-new-york?utm_campaign=action_link_view_menu&utm_medium=feed_v2&utm_source=apple","linkType": "LINK_TYPE_QUICK_LINK"}],"actionData": [{"titles": ["Menu"],"links": [{"linkType": "LINK_TYPE_QUICK_LINK","url": "https://www.yelp.com/menu/black-fox-coffee-new-york?utm_campaign=action_link_view_menu&utm_medium=feed_v2&utm_source=apple"}],"categoryId": "quicklinks.restaurant_view_menu"}],"claimUrl": "https://businessconnect.apple.com/?claimId=10487959837072980240","isClaimable": true,"buildingId": "184825443563602479","mapsCategoryMuid": "1152921504606870514","appleUrl": "https://maps.apple.com/place?auid=10487959837072980240","scrapedAt": "2026-03-05T08:16:29.904594+00:00"}
API Integration
Python
from apify_client import ApifyClientclient = ApifyClient("your_token")run = client.actor("zen-studio~apple-maps-scraper-pro").call(run_input={"searchQueries": [{"query": "coffee shops", "location": "Manhattan, New York"}],"countryCode": "US","language": "en-US","maxResults": 50,})for place in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{place['name']} — {place['phone']} — {place['address']['full']}")
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'your_token' });const run = await client.actor('zen-studio~apple-maps-scraper-pro').call({searchQueries: [{ query: 'coffee shops', location: 'Manhattan, New York' },],countryCode: 'US',language: 'en-US',maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map(p => `${p.name} — ${p.phone}`));
Advanced Usage
Multi-City Search
Search the same category across multiple cities in one run:
{"searchQueries": [{ "query": "coworking space", "location": "San Francisco, CA" },{ "query": "coworking space", "location": "Austin, TX" },{ "query": "coworking space", "location": "Miami, FL" },{ "query": "coworking space", "location": "Seattle, WA" }],"countryCode": "US","maxResults": 100}
All searches run in parallel (up to 40 concurrent requests).
Per-Query Result Limits
Override the global maxResults for individual queries:
{"searchQueries": [{ "query": "restaurant", "location": "Manhattan, New York", "maxResults": 30 },{ "query": "bar", "location": "Manhattan, New York", "maxResults": 10 }],"maxResults": 20}
Mixed Input Modes
Combine all three input modes in a single run:
{"searchQueries": [{ "query": "pharmacy", "location": "Brooklyn, New York" }],"placeUrls": ["https://maps.apple.com/place?auid=5283835567047557515"],"searchUrls": ["https://maps.apple.com/search?query=gym¢er=40.68,-73.94&span=0.03,0.03"],"maxResults": 30}
Results are deduplicated automatically.
Localized Data Extraction
Extract place data in the local language for international markets:
{"searchQueries": [{ "query": "ramen", "location": "Shinjuku, Tokyo" }],"countryCode": "JP","language": "ja-JP","maxResults": 50}
Category names, addresses, and ranking will reflect the Japanese market.
Data Export
Export results from the Apify Console in:
- JSON -- programmatic analysis, database import
- CSV -- spreadsheets, quick analysis
- Excel -- reporting, pivot tables
- XML -- legacy system integration
Nested fields (address, rating, hours) are flattened automatically in tabular formats.
FAQ
How many places can I scrape per search? Apple Maps typically returns 20-30 places per search query. Use multiple queries with different locations to cover larger areas.
Do I need an Apple account? No. No login, no cookies, no authentication required.
How fresh is the data? Data is fetched in real time from Apple Maps. You get whatever Apple Maps currently shows.
What's the rating scale? Apple Maps uses a 0-100 score (not 5-star). A score of 82 roughly corresponds to 4.1 stars. Per-category ratings (food, service, ambiance) are included when available.
Can I scrape places in non-English languages?
Yes. Set language to any locale (e.g., de-DE, ja-JP, fr-FR). Category names and addresses will be localized. This also affects which places are returned.
What phone number formats are included?
Three fields: phone (raw, e.g., +12125551234), phoneFormatted (human-readable, e.g., +1 (212) 555-1234), and altPhones (array of alternate numbers).
Is there a free trial? New Apify users get $5 in platform credits, enough for ~1,200 places at no cost.
What happens when I hit my budget limit? The Actor stops gracefully and keeps all data scraped so far. Nothing is lost.
Disclaimer
Data is collected from publicly available sources and provided "as is" for informational purposes. Users are responsible for compliance with Apple's terms of service and applicable regulations in their jurisdiction.