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.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a month 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 or API key needed. 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"
}

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.

Good to know

  • Queries are written the way you'd type into Apple Maps — put the location in the query ("in Austin, TX") unless you set coordinates, and the Actor resolves the area itself.
  • Results are de-duplicated by placeId across all queries in a run, and plain geographic hits (cities, streets, postcodes) are filtered out so you only get places.
  • An empty result set finishes as a successful run with a clear status message. A run only fails when Apple Maps could not be reached at all for a query.

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.
  • Google Maps Scraper — the Google side of the same place data, for cross-checking coverage
  • Yelp Business Scraper — full Yelp business listings and reviews, one of Apple Maps' own rating sources
  • TripAdvisor Scraper — reviews and ratings for the hotels and attractions mixed into local search results

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

Last verified: 2026-09

More scrapers at thirdwatch.dev.