Apple Maps Scraper - Places, Ratings, Hours, Photos avatar

Apple Maps Scraper - Places, Ratings, Hours, Photos

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Apple Maps Scraper - Places, Ratings, Hours, Photos

Apple Maps Scraper - Places, Ratings, Hours, Photos

Scrape Apple Maps places: name, category, address, GPS coordinates, phone, website, rating, review count, opening hours, amenities, photos and review snippets. Search by query or coordinates. Pure HTTP, no browser, $1 per 1,000 places.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Apple Maps Scraper

Extract places from Apple Maps with a plain search query: business name, category, full address, GPS coordinates, phone, website, star rating and rating count, opening hours, amenities, photos, review snippets and editorial descriptions. No Apple account, no API key, no browser. Results come straight from the same data feed the Apple Maps web app uses, so they are as fresh as what you see at maps.apple.com.

Apple Maps is the default map on more than two billion iPhones, iPads and Macs, and its place data is a blend of Apple's own listings plus Yelp, TripAdvisor, Foursquare and The Infatuation. That makes it a distinct signal from Google Maps: different ratings, different photos, different business coverage, and amenities such as "Accepts Apple Pay" that only Apple tracks.

What you get

One dataset item per place. A single search returns 20 to 60 places; ask for more and the Actor tiles the resolved search area into a grid and searches again, de-duplicating by Apple place ID.

FieldDescription
placeIdApple's stable place identifier (for example I15FF30DE01EC121F)
muidApple's numeric place ID (used in auid= share links)
nameBusiness or place name
categoryPrimary category as shown on the place card ("Coffee Shop")
categoriesAll category labels, most general first ("Dining", "Coffee Shop", "Cafe")
mapsCategoryIdApple's machine category path (dining.cafe.coffee_shop)
placeTypeBUSINESS, LANDMARK, TRANSIT, ...
phone, phoneFormattedPhone in E.164 and display format
websiteBusiness website
address, addressLinesFull formatted address as one string and as lines
street, neighborhood, city, state, stateCode, county, postalCode, country, countryCodeStructured address components
latitude, longitudeWGS-84 coordinates
timezoneIANA time zone of the place (America/Chicago)
rating, maxRating, ratingOutOf5Rating score on the provider's scale (Yelp is 0-5, Apple's own ratings are 0-100) plus a normalised 0-5 value
ratingCountNumber of ratings behind the score
ratingProviderWho supplied the rating: Yelp, Apple, TripAdvisor, ...
priceLevel, priceSymbolPrice tier when Apple exposes one (sparse)
hoursOpening hours per weekday as [{ "open": "07:00", "close": "22:00" }]; 24:00 means midnight; days missing hours are closed
open24Hours, hoursTypeConvenience flags
amenities[{ "name": "Accepts Apple Pay", "id": "crossbusiness.payments.applepay", "available": true }]
coverPhoto, photosBusiness cover image and up to maxPhotos photos with URL, thumbnail, size, caption and provider
reviewsReview snippets from the place card (text, rating, reviewer, link)
descriptionBusiness-supplied "About" text
editorialEditorial blurb, for example from The Infatuation
accoladesAwards and lists ("The Infatuation: Top 25")
quickLinksMenu, reservation and ordering links
dataProvider, dataProviderUrlThird-party provider behind the listing and the link back to it
appleMapsUrlDeep link to the place on maps.apple.com
language, query, scrapedAtProvenance

Sample record

{
"placeId": "I15FF30DE01EC121F",
"name": "Daydreamer Coffee",
"category": "Coffee Shop",
"categories": ["Dining", "Coffee Shop", "Cafe"],
"phone": "+17404000238",
"website": "https://www.daydreamer.coffee/",
"address": "80 Rainey St, Austin, TX 78701, United States",
"neighborhood": "Downtown",
"city": "Austin",
"stateCode": "TX",
"postalCode": "78701",
"countryCode": "US",
"latitude": 30.2592149,
"longitude": -97.7389039,
"rating": 4,
"maxRating": 5,
"ratingOutOf5": 4.0,
"ratingCount": 27,
"ratingProvider": "Yelp",
"hours": { "Monday": [{ "open": "07:00", "close": "22:00" }], "...": "..." },
"amenities": [{ "name": "Accepts Apple Pay", "id": "crossbusiness.payments.applepay", "available": true }],
"photos": [{ "url": "https://is1-ssl.mzstatic.com/image/thumb/.../750x1000bb.jpg", "caption": "interior", "provider": "Yelp" }],
"appleMapsUrl": "https://maps.apple.com/place?place-id=I15FF30DE01EC121F"
}

Input

{
"queries": ["coffee in Austin, TX", "dentists near Manchester"],
"maxResults": 100,
"language": "en-US",
"includePhotos": true,
"maxPhotos": 5,
"includeReviews": true
}
FieldTypeDefaultNotes
queriesarray of stringsrequiredWrite them the way you would type into Apple Maps. Put the location in the query ("in Austin, TX", "near Soho, London") unless you set coordinates.
maxResultsinteger 1-50050Per query. Above one page the search area is tiled automatically.
latitude, longitudenumber-Search around a fixed point instead of the location in the query.
radiusKmnumber 0.5-1005Radius around the point above.
languageBCP-47 tagen-USChanges names, categories, amenities and reviews (fr-FR, de-DE, ja-JP, ...).
countryCodeISO-2-Bias for ambiguous queries.
includePhotos, maxPhotosbool, inttrue, 5
includeReviewsbooltrue
proxyConfigurationobjectoffNot needed for Apple Maps; only enable if your runs start erroring.

Search around coordinates:

{
"queries": ["pharmacy"],
"latitude": 51.5074,
"longitude": -0.1278,
"radiusKm": 2,
"maxResults": 40,
"language": "en-GB"
}

Pricing

Pay per place, nothing else. No charge for the run start, for empty searches or for compute.

PlanPrice per placePer 1,000 places
Free$0.001$1.00
Bronze$0.0009$0.90
Silver$0.0008$0.80
Gold$0.0007$0.70

A run of 10 city-level queries at 100 places each costs about $1.00 and finishes in roughly a minute. The Actor runs on 256 MB with pure HTTP, so there is no hidden platform usage bill on top.

Use cases

1. Lead lists for local-business sales. Search "roofing contractors in Phoenix, AZ" or "dental clinics in Leeds" and get phone, website, full address, rating and whether they accept Apple Pay in one pass. Feed the CSV into your CRM or an enrichment step; placeId stays stable across runs so you can diff for new businesses each month.

2. Location intelligence and site selection. Pull every "coffee shop", "gym" and "grocery store" within a radius of a candidate site using latitude/longitude + radiusKm, then map density, rating and price tiers against foot traffic. Apple's categories are hierarchical (dining.cafe.coffee_shop) which makes rolling up by vertical easy.

3. Reputation monitoring across map providers. Apple Maps surfaces Yelp and TripAdvisor ratings, Apple's own 0-100 "recommend" score, editorial blurbs from The Infatuation and accolades. Scrape your locations weekly and compare with Google Maps data to catch rating drops, wrong hours or missing photos on the map two billion iPhones use by default.

How it works

The Actor talks to the JSON endpoint behind maps.apple.com search. Every response already carries the complete place card, so there is one HTTP request per search page and none per place. Queries are passed through verbatim, Apple parses "what in where" itself, and the area it resolves is reused for grid tiling when you ask for more results than one page holds. Results are de-duplicated by placeId across all queries in a run.

  • Geographic hits (cities, streets, postcodes) are filtered out; only places are pushed.
  • An empty result set from Apple finishes as a successful run with a clear status message. A run only fails when Apple Maps could not be reached for any query.
  • Requests are paced at about one per second with exponential backoff on 429/5xx.

Limitations

  • Apple returns at most around 60 places per search; grid tiling extends this but very generic queries over a whole metro area top out at a few hundred distinct places.
  • Full review text is not exposed by Apple Maps; you get the snippets shown on the place card (typically three).
  • Price tier is only present for a subset of restaurants.
  • Queries with no location and no coordinates are resolved relative to the server's IP location, which is rarely what you want. Always include a place name or set coordinates.

Questions or a source you would like added? Open an issue on the Actor page.