# OpenTable Reviews API | Restaurant Review Intelligence (`johnvc/opentable-reviews-api`) Actor

Scrape OpenTable restaurant reviews as structured JSON: review text, dined and submitted dates, the diner's profile, and the full rating breakdown (overall, food, service, ambience, value, noise). For hospitality analytics and restaurant competitive intelligence. Pay per review, MCP-ready.

- **URL**: https://apify.com/johnvc/opentable-reviews-api.md
- **Developed by:** [John](https://apify.com/johnvc) (community)
- **Categories:** Travel, AI, MCP servers
- **Stats:** 22 total users, 10 monthly users, 100.0% runs succeeded, 3 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $7.76 / 1,000 review scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## OpenTable Reviews API | Restaurant Review Intelligence

The OpenTable Reviews API scrapes [OpenTable](https://www.opentable.com/) restaurant reviews as clean structured JSON. Give the API a restaurant and get its reviews, each with the full review text, the dates the diner visited and posted, the diner's public profile, and the complete rating breakdown: overall, food, service, ambience, value, and noise. It is review intelligence for hospitality analytics, restaurant competitive research, and food-media sentiment analysis.

If you need to book a table, use a booking Actor. If you need the review data for analytics, this is the one: it returns the same reviews your competitors are reading, as structured JSON for AI agents.

### What you get

One row per review:

- `content`: the full review text
- `rating`: the breakdown (overall, food, service, ambience, value, noise)
- `dined_at` and `submitted_at` timestamps
- `user`: the diner's name, review count, and location
- `review_id` and the `restaurant_id` it belongs to

Enable `includeRestaurantSummary` to also get one restaurant-level row with the aggregate ratings and total counts.

### Use cases

- Track sentiment and ratings for a restaurant or a chain over time
- Benchmark a restaurant against competitors on food, service, and ambience
- Mine reviews for menu, pricing, and experience feedback
- Power restaurant analytics dashboards and food-media research
- Feed an AI agent a restaurant's reviews to summarize themes and complaints

### 🔌 Integrations: Automate OpenTable Reviews API Monitoring

A single run answers one question ("what are diners saying about this restaurant right now?"). The real value comes from running the OpenTable Reviews API repeatedly, so fresh reviews and rating shifts land in your stack as they post. See the full list of [Apify platform integrations](https://docs.apify.com/platform/integrations).

**Tasks and Schedules (the core recipe).** Save one [task](https://docs.apify.com/platform/actors/running/tasks) per thing you watch: a single restaurant, or a city watchlist in `restaurantIds`. Then attach a [schedule](https://docs.apify.com/platform/schedules) from the actor's Actions, then Schedule menu. Each run re-pulls the most recent `maxResultsPerRestaurant` reviews for every restaurant, so you keep a rolling feed; dedupe downstream on `review_id` to keep only reviews you have not stored yet. Useful cron strings: `0 7 * * *` (daily 7 AM), `0 */6 * * *` (every 6 hours), `0 9 * * 1` (Mondays). One schedule can trigger many tasks at once. The [Monitor OpenTable reviews for San Francisco restaurants](https://apify.com/johnvc/opentable-reviews-api/examples/monitor-opentable-reviews-for-san-francisco-restaurants?fpr=9n7kx3) task shows the watchlist pattern end to end.

**n8n.** This API ships an n8n community node (see the n8n integration section below). A four-step monitor: Schedule Trigger, then the OpenTable Reviews API node with your `restaurantIds`, then a Filter on `rating.overall` below a threshold, then Slack or email so a low rating pings the team.

**Make and Zapier.** The same pattern works no-code with [Make](https://docs.apify.com/platform/integrations/make) and [Zapier](https://docs.apify.com/platform/integrations/zapier): trigger on a schedule, run the actor, route the new reviews where you need them.

**Store the history (Supabase).** Send each run's rows into a table so a review and rating history accumulates per venue. No-code: the n8n Actor node, then a Supabase node. Or in Python (each review row carries `restaurant_id`, `review_id`, `content`, `dined_at`, `submitted_at`, `rating`, and `user`):

```python
from apify_client import ApifyClient
from supabase import create_client

apify = ApifyClient("YOUR_APIFY_TOKEN")
supabase = create_client("YOUR_SUPABASE_URL", "YOUR_SUPABASE_KEY")

run = apify.actor("johnvc/opentable-reviews-api").call(run_input={
    "restaurantIds": [
        "r/central-park-boathouse-new-york-2",
        "r/tosca-cafe-san-francisco",
    ],
    "maxResultsPerRestaurant": 50,
})
rows = list(apify.dataset(run["defaultDatasetId"]).iterate_items())
supabase.table("opentable_reviews").upsert(rows, on_conflict="review_id").execute()
```

**MCP and AI agents.** Add this API as a tool in Claude or Cursor through the Apify MCP server so an agent can pull a restaurant's reviews and summarize the themes on its own (see the Use this API from Claude section below).

**Webhooks.** For anything custom, fire an [Apify webhook](https://docs.apify.com/platform/integrations/webhooks) on `ACTOR.RUN.SUCCEEDED` to push each run's dataset into your own service.

### Input

| Field | Type | Description |
|-------|------|-------------|
| `restaurantId` | string | A single restaurant, given as either the OpenTable URL slug (e.g. `r/central-park-boathouse-new-york-2`) or the full restaurant page URL (e.g. `https://www.opentable.com/r/central-park-boathouse-new-york-2`). The slug is detected and extracted automatically. Provide this, `restaurantIds`, or both. |
| `restaurantIds` | array of strings | A batch of restaurants to fetch in one run, each a slug or a full URL. Merged with `restaurantId` and de-duplicated. All restaurants are fetched in parallel. |
| `maxResultsPerRestaurant` | integer | Reviews per restaurant. Default 30, maximum 500. |
| `includeRestaurantSummary` | boolean | Also return a restaurant-summary row with aggregate ratings. Charged once per restaurant. Default off. |

To find a restaurant, open it on OpenTable and either copy the `r/...` slug from the URL or just paste the whole page URL - either works.

#### Example input

```json
{
  "restaurantId": "r/central-park-boathouse-new-york-2",
  "maxResultsPerRestaurant": 50,
  "includeRestaurantSummary": true
}
```

### Sample output

```json
{
  "result_type": "review",
  "restaurant_id": "r/central-park-boathouse-new-york-2",
  "position": 1,
  "review_id": "OT-1294132-168206-130084588143",
  "content": "Beautiful restaurant, lovely setting and great service ...",
  "dined_at": "2026-04-01T20:30:00Z",
  "submitted_at": "2026-04-02T17:43:04Z",
  "rating": { "overall": 5, "food": 4, "service": 5, "ambience": 5, "value": 4, "noise": "Moderate" },
  "user": { "name": "PAULINA", "number_of_reviews": 28, "location": "New York Area" }
}
```

### Pricing

Pay-per-result: a flat **$0.008 per review** returned. The optional restaurant summary is **$0.005** once per restaurant, only when you enable it. No setup fee, no per-run fee, no monthly minimum.

### How to get started

1. Open [OpenTable Reviews API on the Apify Store](https://apify.com/johnvc/opentable-reviews-api?fpr=9n7kx3).
2. Enter a `restaurantId` (or a `restaurantIds` list of OpenTable slugs).
3. Set `maxResultsPerRestaurant`, then run the Actor.
4. Export the dataset as JSON, CSV, or Excel, or pull it from the API.

Prefer code? See the [OpenTable Reviews API example repo](https://github.com/johnisanerd/Apify-OpenTable-Reviews-API) for a Python quick-start and MCP setup guides.

### Run from the API

```bash
curl -X POST "https://api.apify.com/v2/acts/johnvc~opentable-reviews-api/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"restaurantId":"r/central-park-boathouse-new-york-2","maxResultsPerRestaurant":30}'
```

### 🔌 Use this API from Claude (MCP)

This Actor is compatible with the Model Context Protocol (MCP), so AI agents can call it as a tool. Add it through the hosted Apify MCP server using this Actor-specific URL:

https://mcp.apify.com/?tools=actors,docs,johnvc/opentable-reviews-api

If you run agents from [Claude Code](https://claude.ai/referral/uIlpa7nPLg) (free trial) or [Claude Cowork](https://claude.ai/referral/uIlpa7nPLg) (free trial), add the Apify MCP server and ask it to "pull this restaurant's reviews and summarize the common complaints."

Setup walkthrough:

https://www.youtube.com/watch?v=jREWahDGhJM

Apify MCP integration docs: https://docs.apify.com/platform/integrations/mcp

#### MCP setup, step by step

Visual setup guides for each client (source and more assets: [ApifyPublicData on GitHub](https://github.com/johnisanerd/ApifyPublicData)):

**[Claude Cowork Desktop](https://claude.ai/referral/uIlpa7nPLg)** (free trial)

![Install in Claude Cowork Desktop](https://raw.githubusercontent.com/johnisanerd/ApifyPublicData/main/assets/guides/install_mcp_into_claude_desktop.png)

**[Claude Code](https://claude.ai/referral/uIlpa7nPLg)** (free trial)

![Install in Claude Code](https://raw.githubusercontent.com/johnisanerd/ApifyPublicData/main/assets/guides/install_mcp_into_claude_code.png)

**Claude (website)**

![Install in Claude website](https://raw.githubusercontent.com/johnisanerd/ApifyPublicData/main/assets/guides/install_mcp_into_claude_ai.png)

**Cursor**

![Install in Cursor](https://raw.githubusercontent.com/johnisanerd/ApifyPublicData/main/assets/guides/install_mcp_into_cursor.png)

**ChatGPT**

![Install in ChatGPT](https://raw.githubusercontent.com/johnisanerd/ApifyPublicData/main/assets/guides/install_mcp_into_ChatGPT.png)

### 💸 Pay per run with crypto (x402)

The OpenTable Reviews API supports agentic payments via the [x402 protocol](https://docs.apify.com/platform/integrations/x402).
AI agents and MCP clients can pay for runs in USDC (on Base) with no Apify account or API token needed:
point your agent at the [Apify MCP server](https://mcp.apify.com/?tools=actors,docs,johnvc/opentable-reviews-api) and it can
discover, pay for, and run this Actor autonomously. Read the
[Apify x402 announcement](https://apify.com/change-log/pay-for-apify-actors-with-x402?fpr=9n7kx3) for details.

### 🔗 Related Tools

Building a restaurant or local-business review pipeline? These tools from the same catalog pair well with OpenTable review data:

- [Yelp Reviews API](https://apify.com/johnvc/Yelp-Reviews-API?fpr=9n7kx3): pull the same venues' reviews from Yelp so you cover a second major review platform in one pipeline.
- [Yelp Business Details API](https://apify.com/johnvc/Yelp-Place-API?fpr=9n7kx3): enrich each restaurant with business details, categories, hours, and contact info to sit alongside the review data.
- [Google Maps Places Scraper](https://apify.com/johnvc/google-maps-places-api?fpr=9n7kx3): find restaurants and pull place-level data (address, coordinates, rating counts) to build the watchlist you feed here.
- [Google Maps Contributor Reviews](https://apify.com/johnvc/google-maps-contributor-reviews-api?fpr=9n7kx3): follow a reviewer's history across Google Maps for a different angle on diner sentiment.

Thinner alternatives such as [getdataforme/opentable-reviews-parser-spider](https://apify.com/getdataforme/opentable-reviews-parser-spider?fpr=9n7kx3) exist, but they take only raw review-page URLs, carry no user rating, and show little recent use. This API detects the restaurant slug for you, batches many restaurants in parallel, and returns a documented, per-field rating breakdown as clean JSON.

### FAQ

#### What is a restaurant ID?

It is the OpenTable URL slug, the `r/...` path for the restaurant. Open the restaurant on [OpenTable](https://www.opentable.com/) and copy it from the URL. A full URL also works.

#### How many reviews come back?

Up to `maxResultsPerRestaurant` (default 30). The Actor paginates a restaurant's reviews for you.

#### Does it book tables?

No. This Actor is for review data and analytics. For reservations, use a dedicated OpenTable booking Actor.

#### Can I research several restaurants at once?

Yes. Pass a `restaurantIds` list; each is fetched independently and tagged with its restaurant ID.

#### Can I schedule the OpenTable Reviews API?

Yes, and this is where it earns its keep. Save a [task](https://docs.apify.com/platform/actors/running/tasks) with your `restaurantId` or `restaurantIds` watchlist, then attach a [schedule](https://docs.apify.com/platform/schedules) from the actor's Actions, then Schedule menu. Common cron strings are `0 7 * * *` (daily 7 AM), `0 */6 * * *` (every 6 hours), and `0 9 * * 1` (Mondays), and one schedule can drive many tasks at once. Each run re-pulls the latest reviews, so dedupe on `review_id` to store only new ones. See the Integrations section above for the full monitoring recipe with cron examples and a Supabase snippet.

#### Should I use an API or a web scraper for restaurant reviews?

Both, and this Actor is both. An official reservation platform offers no public review API, and a plain [web scraper](https://en.wikipedia.org/wiki/Web_scraping) returns messy HTML you still have to parse. This Actor gives you the clean, structured result of a purpose-built [API](https://en.wikipedia.org/wiki/API): call it yourself, pay per review, no quotas, and get the same JSON whether you pull one restaurant or a whole city watchlist.

#### Can I integrate the OpenTable Reviews API with other apps?

Yes. It connects to almost any cloud service through [Apify integrations](https://docs.apify.com/platform/integrations): [Make](https://docs.apify.com/platform/integrations/make), [Zapier](https://docs.apify.com/platform/integrations/zapier), [Slack](https://docs.apify.com/platform/integrations/slack), the n8n community node, and [webhooks](https://docs.apify.com/platform/integrations/webhooks) on `ACTOR.RUN.SUCCEEDED` for custom actions. See the Integrations section above for full recipes.

#### Can I use the OpenTable Reviews API programmatically?

Yes. The Apify API runs the Actor, schedules it, and fetches datasets, and the `apify-client` package exists for both Node.js and Python. See the Run from the API section above, or the actor's [API tab](https://apify.com/johnvc/opentable-reviews-api/api?fpr=9n7kx3).

#### Can I use the OpenTable Reviews API through an MCP server?

Yes. Add it as a tool in any MCP client (Claude, Cursor, and others) through the hosted [Apify MCP server](https://mcp.apify.com/) with the actor-specific URL `https://mcp.apify.com/?tools=actors,docs,johnvc/opentable-reviews-api`. In [Claude Code](https://claude.ai/referral/uIlpa7nPLg) (free trial) or [Claude Cowork](https://claude.ai/referral/uIlpa7nPLg) (free trial) your agent can then answer prompts like "pull this restaurant's reviews and summarize the common complaints" with live data. See the [Apify MCP docs](https://docs.apify.com/platform/integrations/mcp).

#### How else can I track restaurant reviews and ratings?

Pair this API with related tools in the same catalog: the [Yelp Reviews API](https://apify.com/johnvc/Yelp-Reviews-API?fpr=9n7kx3) to cover a second review platform, the [Yelp Business Details API](https://apify.com/johnvc/Yelp-Place-API?fpr=9n7kx3) to enrich each venue, and the [Google Maps Places Scraper](https://apify.com/johnvc/google-maps-places-api?fpr=9n7kx3) to build the restaurant watchlist you feed here.

#### Is it legal to scrape OpenTable reviews?

This Actor collects publicly visible reviews and ratings for analytics and research. As with any data collection, use it responsibly and follow the source's terms and applicable law. For background on the topic, see [the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

### n8n integration

Available as an n8n community node, **[n8n-nodes-opentable-reviews-api](https://www.npmjs.com/package/n8n-nodes-opentable-reviews-api)**. In n8n: Settings, Community Nodes, install `n8n-nodes-opentable-reviews-api`, then use it in any workflow (it also works as an AI Agent tool).

### Featured Tasks

Ready-to-run examples that show this API solving a specific problem. Each opens its own setup so you can run it on your account in one click.

- [Monitor OpenTable reviews for a list of restaurants](https://apify.com/johnvc/opentable-reviews-api/examples/monitor-opentable-reviews-for-a-list-of-restaurants?fpr=9n7kx3) - Watch a fixed list of restaurants and pull recent reviews for every venue in one run.
- [Monitor OpenTable reviews for San Francisco restaurants](https://apify.com/johnvc/opentable-reviews-api/examples/monitor-opentable-reviews-for-san-francisco-restaurants?fpr=9n7kx3) - Track a watchlist of San Francisco venues, with review text, dined date, diner profile, and the full rating breakdown.
- [Monitor OpenTable reviews for Los Angeles restaurants](https://apify.com/johnvc/opentable-reviews-api/examples/monitor-opentable-reviews-for-los-angeles-restaurants?fpr=9n7kx3) - Keep tabs on a list of Los Angeles restaurants and their latest reviews.
- [Monitor OpenTable reviews for Chicago restaurants](https://apify.com/johnvc/opentable-reviews-api/examples/monitor-opentable-reviews-for-chicago-restaurants?fpr=9n7kx3) - Monitor reviews across a set of Chicago restaurants in a single run.
- [Monitor OpenTable reviews for Houston restaurants](https://apify.com/johnvc/opentable-reviews-api/examples/monitor-opentable-reviews-for-houston-restaurants?fpr=9n7kx3) - Follow a watchlist of Houston restaurants and pull each venue's recent reviews.
- [Monitor OpenTable reviews for London restaurants](https://apify.com/johnvc/opentable-reviews-api/examples/monitor-opentable-reviews-for-london-restaurants?fpr=9n7kx3) - Track London restaurants and their reviews, with the full per-review rating breakdown.
- [Monitor OpenTable reviews for Dubai restaurants](https://apify.com/johnvc/opentable-reviews-api/examples/monitor-opentable-reviews-for-dubai-restaurants?fpr=9n7kx3) - Monitor a list of Dubai restaurants and pull recent reviews for each venue at once.
- [Export OpenTable reviews to a spreadsheet](https://apify.com/johnvc/opentable-reviews-api/examples/export-opentable-reviews-to-a-spreadsheet?fpr=9n7kx3) - Pull reviews for a set of restaurants and export them to CSV or Excel, with text, dates, diner profile, and ratings.
- [Get recent OpenTable reviews for one restaurant](https://apify.com/johnvc/opentable-reviews-api/examples/get-recent-opentable-reviews-for-one-restaurant?fpr=9n7kx3) - Pull the recent review history for a single restaurant, with the full per-review rating breakdown.
- [Export OpenTable Reviews to CSV](https://apify.com/johnvc/opentable-reviews-api/examples/export-opentable-reviews-to-csv?fpr=9n7kx3)
- [Analyze OpenTable reviews for sentiment analysis](https://apify.com/johnvc/opentable-reviews-api/examples/analyze-opentable-reviews-for-sentiment-analysis?fpr=9n7kx3) - Pull reviews for a set of restaurants to feed a sentiment analysis pipeline, with review text, ratings, dates, and diner profiles.

***

### 🌐 About Alpha OSINT

This Actor is part of [Alpha OSINT](https://www.alphaosint.com), toolset of financial and operations data sources and APIs.
See the [OpenTable Reviews API source page](https://www.alphaosint.com/sources/opentable-reviews-api/) for related tools and use cases.
For support or requests for this actor, please start a ticket [directly on our support page](https://apify.com/johnvc/opentable-reviews-api/issues/open?fpr=9n7kx3).

Last Updated: 2026.09.10

# Actor input Schema

## `restaurantId` (type: `string`):

Enter a single restaurant as either its OpenTable URL slug (for example 'r/central-park-boathouse-new-york-2') or the full restaurant page URL (for example 'https://www.opentable.com/r/central-park-boathouse-new-york-2'). The slug is detected and extracted automatically. Provide this, `restaurantIds`, or both.

## `restaurantIds` (type: `array`):

Provide a list of restaurants to fetch in one run, each as an OpenTable URL slug or a full restaurant page URL. Merged with `restaurantId` and de-duplicated. All restaurants are fetched in parallel.

## `maxResultsPerRestaurant` (type: `integer`):

How many reviews to return per restaurant. The Actor paginates as needed, then stops early when a restaurant runs out of reviews. Default 30, maximum 500.

## `includeRestaurantSummary` (type: `boolean`):

If enabled, also return one restaurant-summary row per restaurant with the aggregate rating breakdown and total counts. Charged once per restaurant. Default off.

## Actor input object example

```json
{
  "restaurantId": "r/central-park-boathouse-new-york-2",
  "maxResultsPerRestaurant": 30,
  "includeRestaurantSummary": false
}
```

# Actor output Schema

## `results` (type: `string`):

All review rows stored in the default dataset, one item per review.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "restaurantId": "r/central-park-boathouse-new-york-2"
};

// Run the Actor and wait for it to finish
const run = await client.actor("johnvc/opentable-reviews-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "restaurantId": "r/central-park-boathouse-new-york-2" }

# Run the Actor and wait for it to finish
run = client.actor("johnvc/opentable-reviews-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "restaurantId": "r/central-park-boathouse-new-york-2"
}' |
apify call johnvc/opentable-reviews-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,johnvc/opentable-reviews-api"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/O63j3hLJAHrHI1P00/builds/EKUQ931TWGdQeA7xZ/openapi.json
