All sites
Data API
Opentable Data API
Structured JSON data, on demand, with anti-bot bypass built in.
2endpointsRate Limit handled for you
Example
opentable.com
ExampleJSON responseclick the page to trace a field
{
"restaurant": "carmines-times-square-new-york",
"sort": "newest",
"rating": null,
"page": 1,
"market": "us",
"summary": {
"name": "Carmine's - Times Square",
"rating": 4.4,
"reviews_count": 13457
},
"reviews_results": {
"ratings": [
{
"stars": 5,
"count": 9120
},
{
"stars": 4,
"count": 2680
},
{
"stars": 3,
"count": 980
},
{
"stars": 2,
"count": 410
},
{
"stars": 1,
"count": 267
}
],
"reviews": {
"count": 13457,
"rating": 4.4,
"top_positive": {
"title": "Great for groups",
"rating": 5,
"user": "DianeM",
"date": "2026-08-02",
"dined_on": "2026-08-01",
"sub_ratings": {
"overall": 5,
"food": 5,
"service": 5,
"ambience": 4
},
"text": "Huge family-style portions, great for a group before a show. We were stuffed and still took home leftovers."
},
"top_negative": {
"title": "Slow service",
"rating": 3,
"user": "Rob",
"date": "2026-07-29",
"dined_on": "2026-07-27",
"sub_ratings": {
"overall": 3,
"food": 4,
"service": 2,
"ambience": 3
},
"text": "Food was good but service was slow on a busy pre-theater night."
},
"customer_reviews": [
{
"title": "Great for groups",
"text": "Huge family-style portions, great before a show.",
"rating": 5,
"sub_ratings": {
"overall": 5,
"food": 5,
"service": 5,
"ambience": 4
},
"user": "DianeM",
"date": "2026-08-02",
"dined_on": "2026-08-01",
"id": "884412201"
},
{
"title": "Fun pre-theater spot",
"text": "Loud, lively, and the chicken parm is enormous. Perfect for a birthday.",
"rating": 5,
"sub_ratings": {
"overall": 5,
"food": 5,
"service": 4,
"ambience": 5
},
"user": "Anthony G",
"date": "2026-08-01",
"dined_on": "2026-07-31",
"id": "884409980"
},
{
"title": "Good value",
"text": "One entree easily feeds three. Come hungry and split everything.",
"rating": 4,
"sub_ratings": {
"overall": 4,
"food": 4,
"service": 4,
"ambience": 4
},
"user": "Meera P",
"date": "2026-07-30",
"dined_on": "2026-07-29",
"id": "884405512"
},
{
"title": "Slow service",
"text": "Food was good but service was slow on a busy pre-theater night.",
"rating": 3,
"sub_ratings": {
"overall": 3,
"food": 4,
"service": 2,
"ambience": 3
},
"user": "Rob",
"date": "2026-07-29",
"dined_on": "2026-07-27",
"id": "884401877"
}
]
}
},
"results": [
{
"id": "884412201",
"author": "DianeM",
"title": "Great for groups",
"rating": {
"overall": 5,
"food": 5,
"service": 5,
"ambience": 4
},
"text": "Huge family-style portions, great for a group before a show.",
"date": "2026-08-02",
"dined_on": "2026-08-01"
},
{
"id": "884409980",
"author": "Anthony G",
"title": "Fun pre-theater spot",
"rating": {
"overall": 5,
"food": 5,
"service": 4,
"ambience": 5
},
"text": "Loud, lively, and the chicken parm is enormous.",
"date": "2026-08-01",
"dined_on": "2026-07-31"
},
{
"id": "884405512",
"author": "Meera P",
"title": "Good value",
"rating": {
"overall": 4,
"food": 4,
"service": 4,
"ambience": 4
},
"text": "One entree easily feeds three. Come hungry and split everything.",
"date": "2026-07-30",
"dined_on": "2026-07-29"
},
{
"id": "884401877",
"author": "Rob",
"title": "Slow service",
"rating": {
"overall": 3,
"food": 4,
"service": 2,
"ambience": 3
},
"text": "Food was good but service was slow on a busy night.",
"date": "2026-07-29",
"dined_on": "2026-07-27"
}
],
"nextCursor": "2"
}
GET
/v1/data/opentable/reviews1 credit / runRestaurant Reviews
Diner reviews and rating summary for an OpenTable restaurant, including food, service, and ambience sub-ratings when available.
Handled for you:Rate Limit
Parameters
| Name | Type | Req | Description |
|---|---|---|---|
| restaurant | string | yes | Restaurant slug (from the /r/<slug> URL) or numeric id. |
| Advanced filters | |||
| sort | string | no | Review order. (default: newest) |
| rating | integer | no | Keep only reviews with an overall score of at least this (1-5). |
| page | integer | no | Page number. (default: 1) |
| market | string | no | us | gb. (default: us) |