Travel API · Live

OpenTable Restaurant Details API

Get an OpenTable restaurant from its URL, including cuisine, price band, detailed diner ratings, review summary, recent reviews, address and coordinates, contact details, hours, dress code, amenities, menus, experiences, popular dishes, photos, private dining and FAQs.

No credit card required · Pay only for what you use

Price
$0.02 / req
Rate limit
60 req/min
Output
Structured JSON
Modes
Sync & async
POSThttps://api.dataguru.cc/api/v1/opentable/restaurants/details
curl -X POST "https://api.dataguru.cc/api/v1/opentable/restaurants/details" \
  -H "Authorization: Api-Key YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"restaurant_url": "example"}'
Response · 200 OK
{
  "restaurant_id": 0,
  "name": "string",
  "url": "https://example.com/...",
  "permanently_closed": false,
  "cuisine": "string",
  "cuisines": [
    "string"
  ],
  "dining_style": "string",
  "price_band": "string",
  "price_level": 0,
  "currency_symbol": "string",
  "description": "string",
  "review_summary": "string",
  "rating": 0.0,
  "ratings": {
    "overall": 0.0,
    "food": 0.0,
    "service": 0.0,
    "ambience": 0.0,
    "value": 0.0,
    "noise": 0.0
  },
  "rating_distribution": {},
  "rated_review_count": 0,
  "review_count": 0,
  "recent_bookings": 0,
  "review_tags": [
    "string"
  ],
  "awards": [
    "string"
  ],
  "address": {
    "full": "string",
    "line1": "string",
    "line2": "string",
    "city": "string",
    "state": "string",
    "postal_code": "string",
    "country": "string"
  },
  "neighborhood": "string",
  "metro": "string",
  "cross_street": "string",
  "latitude": 0.0,
  "longitude": 0.0,
  "time_zone": "string",
  "phone": "string",
  "website": "string",
  "facebook_url": "https://example.com/...",
  "hours": [
    "string"
  ],
  "dress_code": "string",
  "parking": "string",
  "parking_details": "string",
  "public_transit": "string",
  "executive_chef": "string",
  "entertainment": "string",
  "catering": "string",
  "amenities": [
    "string"
  ],
  "payment_options": [
    "string"
  ],
  "outdoor_seating": false,
  "bar_seating": false,
  "max_party_size": 0,
  "booking_window_days": 0,
  "takeout": false,
  "order_online_url": "https://example.com/...",
  "delivery_partners": [
    {
      "name": "string",
      "url": "https://example.com/..."
    }
  ],
  "private_dining": {
    "available": false,
    "description": "string",
    "phone": "string",
    "largest_capacity": 0,
    "rooms": [
      {
        "name": "string",
        "description": "string",
        "max_capacity": 0
      }
    ]
  },
  "profile_photo": "string",
  "photos": [
    {
      "url": "https://example.com/...",
      "category": "string",
      "source": "string",
      "width": 0,
      "height": 0
    }
  ],
  "photo_count": 0,
  "popular_dishes": [
    {
      "name": "string",
      "description": "string",
      "review_count": 0,
      "photo": "string"
    }
  ],
  "experiences": [
    {
      "experience_id": 0,
      "name": "string",
      "type": "string",
      "description": "string",
      "price_from": 0.0,
      "currency": "USD",
      "price_type": "string",
      "start_date": "2026-01-01T12:00:00Z",
      "end_date": "2026-01-01T12:00:00Z",
      "bookable": false,
      "sold_out": false
    }
  ],
  "menus": [
    {
      "title": "string",
      "currency": "USD",
      "sections": [
        {
          "title": "string",
          "description": "string",
          "items": [
            {
              "name": "string",
              "description": "string",
              "price": 0.0
            }
          ]
        }
      ]
    }
  ],
  "reviews": [
    {
      "review_id": "1234567890",
      "text": "string",
      "rating": 0.0,
      "food": 0.0,
      "service": 0.0,
      "ambience": 0.0,
      "value": 0.0,
      "noise": "string",
      "author": "string",
      "author_metro": "string",
      "author_review_count": 0,
      "submitted_at": "2026-01-01T12:00:00Z",
      "dined_at": "2026-01-01T12:00:00Z",
      "helpful_votes": 0,
      "restaurant_reply": "string",
      "photos": [
        "string"
      ]
    }
  ],
  "faqs": [
    {
      "question": "string",
      "answer": "string"
    }
  ],
  "featured_in": [
    {
      "title": "string",
      "url": "https://example.com/...",
      "summary": "string"
    }
  ],
  "time_taken": 0.0,
  "_metadata": {
    "request_id": "3f6c1a2e-8b4d-4c1e-9a7f-2d5e6b7c8d9e",
    "execution_time_ms": 842,
    "endpoint": "OpenTable Restaurant Details",
    "mode": "live",
    "format": "json",
    "timestamp": "2026-01-01T12:00:00+00:00"
  }
}

Data

OpenTable Restaurant Details API response (structured JSON)

Every response follows the same schema, so you can map it once and rely on it.

Response fields

restaurant_idnameurlpermanently_closedcuisinecuisinesdining_styleprice_bandprice_levelcurrency_symboldescriptionreview_summaryratingratingsrating_distributionrated_review_countreview_countrecent_bookingsreview_tagsawardsaddressneighborhoodmetrocross_streetlatitudelongitudetime_zonephonewebsitefacebook_urlhoursdress_codeparkingparking_detailspublic_transitexecutive_chefentertainmentcateringamenitiespayment_options

Request parameters

NameTypeDescription
restaurant_urlrequiredstringFull OpenTable restaurant URL (e.g. https://www.opentable.com/r/the-original-ivy-west-end-london).

Features

OpenTable Restaurant Details API features that make scraping easy

No proxies or blocks to manage

DataGuru handles proxies, retries and anti-bot measures for you. You just send a request.

Clean, structured JSON

Every response uses the same 40 fields, so your parser never breaks.

One simple request

Send restaurant_url and get results back. No browser automation or HTML parsing on your side.

Sync or async

Get the data in the response, or add ?async=true and poll the job for long-running requests.

Built to scale

Up to 60 requests per minute and 10,000 per day on this endpoint.

Pay only for what you use

No subscription or monthly minimum. Usage is deducted from your prepaid balance.

Use cases

What you can build with the OpenTable Restaurant Details API

Data pipelines

Feed fresh, structured data straight into your warehouse or ETL jobs.

Dashboards & reporting

Keep internal dashboards current without manual exports.

Product features

Power features in your app with data you would otherwise have to scrape.

Research & analysis

Collect the dataset you need for analysis in minutes.

Monitoring & alerts

Poll on a schedule and react when something changes.

AI & LLM workflows

Ground models and agents in live, structured data.

Who it's for

Built for teams of every size and background

  • Data engineers
  • Product teams
  • Analysts
  • Startups
  • Agencies
  • Researchers
  • Automation builders
  • AI teams

Get started

Start using the OpenTable Restaurant Details API in minutes

  1. 1

    Create a free account

    Sign up in seconds and get $1.00 of free balance to test with.

  2. 2

    Copy your API key

    Generate a key in the Developer Portal and send it in the Authorization header.

  3. 3

    Send a request

    Call POST /api/v1/opentable/restaurants/details with your parameters.

  4. 4

    Get structured JSON

    Use the response straight away in your app, spreadsheet or pipeline.

Pricing

Transparent & simple pricing

No subscription, no monthly minimum. Add funds to your balance and pay only for the requests you make.

Pay as you go

OpenTable Restaurant Details

$0.02 / req

  • $1.00 free balance on sign-up
  • 60 requests per minute
  • 10,000 requests per day
  • Sync and async requests

FAQ

Frequently asked questions

The OpenTable Restaurant Details API costs $0.02 per successful request, deducted from your prepaid balance. There is no subscription or monthly minimum. New accounts get $1.00 of free balance to try it.

Try the OpenTable Restaurant Details API for free!

Create an account and get $1.00 of free balance to test it. No credit card required.