Apple Maps API endpoint
Returns all of a place's photos (the place endpoint caps at 20): the business cover photo first when present, then the hero photo, then every categorized photo with its category (Food & Drink, Interior, Exterior, ...), width and height.
/apple-maps/place/photosReturns every photo Apple Maps carries for a place. /apple-maps/place caps its photos[] at 20; this endpoint returns the full set.
Query parameters:
place_id (required) — Apple place ID, in the external I… form (e.g. I594FECA0B369D14A) or the numeric id from /apple-maps/search.lang (optional) — display language as a BCP 47 tag, e.g. en-US. Photo category names follow it. Defaults to en-US.country (optional) — two-letter ISO 3166-1 code, e.g. US. Defaults to US.An unknown id returns a 404. Order is: the business cover photo first (category cover) when the business has one, then the hero photo, then every categorized photo. Duplicate URLs are removed.
Response includes place (id, name), total, and photos[], each with id, url, width, height, and category (e.g. Food & Drink, Interior, Exterior, Menu).
| Field | Filled in, of 19 checked | Values in the sample |
|---|---|---|
| id | 19 | |
| url | 19 | ir.4sqi.net and 2 other hosts |
| width | 19 | |
| height | 19 | |
| category | 19 | Food & Drink (10), Atmosphere (9) |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| place_id | string | Yes | Apple place ID (external I... form or numeric id) | I594FECA0B369D14A | |
| lang | string | No | en-US | Display language as a BCP 47 tag, e.g. en-US. Defaults to en-US. | en-US |
| country | string | No | US | Two-letter ISO 3166-1 country code. Defaults to US. | US |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/apple-maps/place/photos?place_id=I594FECA0B369D14A&lang=en&country=us" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"place": {
"id": "6435622567484707146",
"name": "Sightglass Coffee"
},
"total": 3,
"photos": [
{
"id": "0CAhwiYjFF9ql5dSScHB7A",
"url": "https://is1-ssl.mzstatic.com/image/thumb/bF51kpjYtm4-K_WMlD8Wkw/320x320bb.jpeg",
"width": 308,
"height": 308
},
{
"id": "oUtvXhZ0boFM3u5jRFl8sg",
"url": "https://is1-ssl.mzstatic.com/image/thumb/KXluIk81w86BEqUz5RPW3Q/320x320bb.jpg",
"width": 308,
"height": 308,
"category": "Food & Drink"
},
{
"id": "9v4GJ4Kz0VfjJcUbQxk7Fw",
"url": "https://is1-ssl.mzstatic.com/image/thumb/Jm6mR0Ei0GwLW7jbcttV8A/320x320bb.jpg",
"width": 308,
"height": 308,
"category": "Interior"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/applemaps.placePhotosResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | applemaps.PlacePhotosResponse | No | ||||
| data.photos | array | No | Photo record, 5 fields: category, height, id, url, width. Described under Apple Maps Guide API. | |||
| data.place | applemaps.PlaceRef | No | ||||
| data.place.id | string | No | ||||
| data.place.name | string | No | ||||
| data.total | integer | No | ||||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/apple-maps/place/photos?place_id=I594FECA0B369D14A&lang=en&country=us" \
-H "x-api-key: $CRAWLORA_API_KEY"