Appearance
GET /v1/places/:placeId
Returns the rich detail for one place — a food and beverage venue, an attraction, or a hotel. The list responses stay lean; this endpoint fills in the editorial copy, media, menu, recognition, and booking links.
http
GET /v1/places/:placeId
Authorization: Bearer <token>Path and query
| Parameter | Type | Required | Notes |
|---|---|---|---|
placeId | string | yes | Overlook place id, from a placeId in a list item or the hotel object. A namespaced id is normalized to its bare form. |
hotelPlaceId | string | no | Reference hotel; when supplied, distanceFromHotel is computed in miles. |
bash
curl -s "https://api.overlookhospitality.com/v1/places/4484774505543785?hotelPlaceId=123456" \
-H "Authorization: Bearer $OVERLOOK_TOKEN"Response 200 OK
One shape for every place. Whatever the place has is populated; the rest is empty/null. A place that is both a hotel and a restaurant comes back with the hotel fields and the food fields.
json
{
"place": {
"placeId": "4484774505543785",
"name": "Scales Food",
"category": ["food"],
"subCategories": ["seafood"],
"tags": ["Outdoor seating"],
"shortDescription": "Seafood house",
"longDescription": "A waterfront seafood house with a raw bar and harbor views.",
"foodDescription": "Raw bar and chowder.",
"ambianceDescription": "Harbor views and a lively bar.",
"storyDescription": "Opened on Portland Pier in 2013.",
"reviewSummary": "Reviewers praise the oysters and the harbor views.",
"imageUrls": ["https://…"],
"imageUrl": "https://…",
"website": "https://scalesfood.com/",
"reservationUrl": "https://www.opentable.com/r/scales-food-portland",
"phone": "+1 207-555-0100",
"openHours": {
"sunday": null,
"monday": ["11:30-22:00"],
"tuesday": ["11:30-22:00"],
"wednesday": ["11:30-22:00"],
"thursday": ["11:30-22:00"],
"friday": ["11:30-22:00"],
"saturday": ["11:30-22:00"]
},
"timezone": "America/New_York",
"layers": ["michelin"],
"aggregateRating": 4.6,
"reviewCount": 2103,
"ratingsBySource": [
{
"provider": "opentable",
"rating": 4.7,
"count": 16777,
"url": "https://www.opentable.com/r/scales-food-portland"
}
],
"address": "2 Portland Pier",
"locality": "Portland",
"region": "ME",
"postalCode": "04101",
"country": "USA",
"latitude": 43.6567,
"longitude": -70.2531,
"priceRange": "$$$",
"neighborhoods": ["Old Port"],
"recognition": [
{
"slug": "michelin",
"name": "Michelin Guides",
"shortName": "Michelin",
"iconUrl": "https://…",
"url": "https://guide.michelin.com/…"
}
],
"menu": [
{ "title": "Dinner", "items": [{ "name": "Chowder", "description": "Creamy", "price": 12 }] }
],
"similarPlaces": [
{ "placeId": "…", "name": "Eventide Oyster Co.", "imageUrl": "https://…", "section": "foodAndBeverage" }
],
"events": [{ "eventId": "…", "title": "Live Jazz", "date": "2026-10-07", "url": "https://…" }],
"distanceFromHotel": 0.1
}
}The payload is a PlaceDetail. Collections are capped server-side: 12 images, 6 similar places, 5 events, and 6 menu sections × 20 items. There is no section field on the detail — the list item you clicked carries it, and it is a property of the list, not the place.
Provenance and attribution
We do not republish the content of the sources we aggregate. Instead, the detail points back to them:
ratingsBySourceis one entry per review provider, each with aurlto that provider's page. Link guests out rather than showing review text.recognitionis one entry per curated layer (Michelin, AAA, James Beard, Eater, …) with the layer's name, badge icon, and the sourceurl.reviewSummaryis our own synthesized "what reviewers say" blurb.
Identity, location, contact, hours, and recognition come from our place data; descriptions, media, menu, and similar places come from our editorial data. aggregateRating/reviewCount are reconciled across sources.
Errors
All errors use the shared envelope and codes; see Errors. This route's own code is 404 place_not_found — no such place.