# Twitter (X) Scraper (`maximedupre/twitter-scraper`) Actor

Collect public Twitter/X posts, profile search matches, profile network members, and regional trends. Export text, links, author data, media, engagement counts, and source details.

- **URL**: https://apify.com/maximedupre/twitter-scraper.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Social media, Developer tools
- **Stats:** 213 total users, 63 monthly users, 48.5% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.10 / 1,000 scraped items

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/platform/actors/running/actors-in-store#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

### 🔎 Twitter (X) scraper for public data

Twitter Scraper helps researchers, marketers, and developers collect public Twitter/X posts, profile matches, profile network members, and regional trends. Get text, links, authors, media, engagement counts, and source details as structured dataset rows without giving the Actor your Twitter/X login.

- Use the **[Twitter scraper API](https://apify.com/maximedupre/twitter-scraper/examples/twitter-scraper-api)** to send searches and read saved rows from your code.
- Find public posts and authors with an **[X scraper](https://apify.com/maximedupre/twitter-scraper/examples/x-scraper)** search.
- Build a small script around **[Twitter scraper Python](https://apify.com/maximedupre/twitter-scraper/examples/twitter-scraper-python)** workflows.
- Find accounts by name or topic with **[Twitter profile search](https://apify.com/maximedupre/twitter-scraper/examples/twitter-profile-search)**.
- Export current topics by region with a **[Twitter trends scraper](https://apify.com/maximedupre/twitter-scraper/examples/twitter-trends-scraper)**.
- Find posts with images using the **[Twitter image scraper](https://apify.com/maximedupre/twitter-scraper/examples/twitter-image-scraper)** setup.

#### 📦 Returned data

Post rows can include full text, links, time, language, post kind, author details, engagement counts, media, and conversation links. Profile rows can include identity, bio, images, public counts, verification, and the first source that found the account. Trend rows include rank, region, search link, and reported post volume when X gives it.

The Actor saves a post or profile the first time it is found. Later matches do not change that row or its source fields.

#### 🚀 Running the Actor

1. Choose one `target`.
2. Add the matching search, profile, network, or trend input.
3. Set filters and the work limit.
4. Run the Actor and open its dataset.

You can search public posts by plain text, advanced X syntax, account, list, search URL, post URL, post ID, conversation ID, or quoted post ID. Profile search finds accounts. Network mode collects followers or followed accounts. Trends mode returns topics for one supported region.

#### 🛠️ Input

Every public input field is listed below.

| Field | Type | What it does |
|---|---|---|
| `target` | string | Chooses posts, profile search, network members, or trends. |
| `trendRegionId` | string | Chooses a supported region for trends. |
| `profileSearchQueries` | string\[] | Finds profiles with Twitter/X People search. |
| `directPostUrls` | string\[] | Collects the exact public posts at these URLs. |
| `directPostIds` | string\[] | Collects the exact public posts with these numeric IDs. |
| `conversationIds` | string\[] | Finds public posts in these conversations. |
| `quotedPostIds` | string\[] | Finds public posts that quote these post IDs. |
| `networkProfileHandles` | string\[] | Sets profiles whose followers or following accounts to collect. |
| `networkType` | string | Chooses followers or following accounts. |
| `postSearchUrls` | string\[] | Searches from Twitter/X search, profile, list, or post URLs. A post URL here finds quotes. |
| `searchQuery` | string | Uses plain text or advanced Twitter/X search syntax. |
| `hashtags` | string\[] | Requires hashtags, without `#`. |
| `fromUsers` | string\[] | Requires authors, without `@`. |
| `mentions` | string\[] | Requires mentioned handles, without `@`. |
| `toUsers` | string\[] | Requires posts addressed to handles, without `@`. |
| `searchMode` | string | Uses latest, top, or both. Each post is saved once. |
| `startDate` | string | Keeps posts on or after this date. Empty uses the last 30 days. |
| `endDate` | string | Keeps posts on or before this date. |
| `language` | string | Requires a language code such as `en`. |
| `near` | string | Sets a place name for location search. |
| `within` | string | Sets a radius for `near`, such as `10mi`. |
| `geocode` | string | Sets latitude, longitude, and radius. |
| `placeId` | string | Requires a Twitter/X place ID. |
| `links` | string | Includes all posts, only posts with links, or only posts without links. |
| `media` | string | Includes all posts or requires media, images, or videos. |
| `postKinds` | string\[] | Keeps selected original posts, quotes, replies, and reposts. |
| `minLikes` | integer | Sets the least number of likes. |
| `minReplies` | integer | Sets the least number of replies. |
| `minRetweets` | integer | Sets the least number of reposts. |
| `shouldIncludePromotedPosts` | boolean | Keeps promoted search posts when true. |
| `sinceId` | string | Keeps posts after this post ID. |
| `maxId` | string | Keeps posts at or before this post ID. |
| `maxNbItemsToScrape` | integer | Stops after this many rows. Leave it empty to return all available results until the source is exhausted. |

This is the public input from the successful default-input QA run:

```json
{
  "target": "searchPosts",
  "trendRegionId": "1",
  "networkType": "followers",
  "searchQuery": "OpenAI",
  "searchMode": "latestAndTop",
  "links": "include",
  "media": "include",
  "postKinds": [
    "originalPosts",
    "quotePosts",
    "replies"
  ],
  "shouldIncludePromotedPosts": false,
  "maxNbItemsToScrape": 70
}
```

Post searches need at least one positive selector. Profile searches need a query. Network runs need a profile handle. Trends use only the chosen region.

#### 📄 Output

A run returns only the row shape for its chosen target. Network members use the profile shape.

##### Post row

| Field | Type | What it does |
|---|---|---|
| `rowType` | string | Is `post`. |
| `postKind` | string or null | Says if this is an original, reply, quote, or repost. |
| `postId`, `postUrl`, `postText`, `postDateTime`, `language` | string or null | Gives the post identity, link, text, time, and language. |
| `authorId`, `authorHandle`, `authorDisplayName`, `authorProfileUrl`, `authorBio`, `authorAvatarUrl` | string or null | Gives public author identity and profile details. |
| `authorFollowersCount`, `authorFollowingCount` | number or null | Gives public audience counts. |
| `authorCreatedAt` | string or null | Gives account creation time. |
| `authorIsVerified`, `authorIsBlueVerified` | boolean or null | Gives verification flags. |
| `authorVerifiedType` | string or null | Gives the verification type. |
| `nbLikes`, `nbReposts`, `nbReplies`, `quoteCount`, `nbViews`, `nbBookmarks` | number or null | Gives available engagement counts. |
| `imageUrls`, `videoUrls`, `gifUrls` | string\[] | Gives media links. |
| `mediaDetails` | object\[] | Gives available details for each media file. |
| `mediaDetails.id`, `mediaDetails.altText`, `mediaDetails.type`, `mediaDetails.url`, `mediaDetails.thumbnailUrl` | string or null | Gives the media ID, text, kind, file link, and preview link. |
| `mediaDetails.width`, `mediaDetails.height`, `mediaDetails.durationMs` | number or null | Gives the media size and length. |
| `mediaDetails.aspectRatio`, `mediaDetails.contentType` | string or null | Gives the media shape and file type. |
| `mediaDetails.variants` | object\[] | Gives available video file choices. |
| `mediaDetails.variants.url`, `mediaDetails.variants.contentType` | string or null | Gives each video file link and type. |
| `mediaDetails.variants.bitrate` | number or null | Gives each video file bitrate. |
| `hashtags` | string\[] | Gives hashtags without `#`. |
| `quotedPostId`, `quotedPostText`, `quotedAuthorHandle` | string or null | Gives quoted-post context. |
| `replyToHandle`, `replyToPostId`, `conversationId`, `inReplyToUserId` | string or null | Gives reply and conversation context. |
| `isPinned` | boolean or null | Says if X marks the post as pinned. |
| `source` | string or null | Gives the posting client label. |
| `searchQuery`, `sourceUrl`, `sourceType` | string or null | Gives the first input source that found the post. |
| `resultPosition` | number or null | Gives its 1-based place in that source. |

```json
{
  "rowType": "post",
  "postKind": "reply",
  "postId": "2082145401826607469",
  "postUrl": "https://x.com/quantlinkai/status/2082145401826607469",
  "postText": "Microsoft ended last quarter with $627B of commercial RPO, up 99% year over year. Excluding OpenAI, that backlog grew a more modest 26%.\n\nThe key question: can Azure keep converting that broader demand into growth and margins that support the AI buildout?\n\n2/3 $MSFT https://t.co/ixyMyQWRxQ",
  "postDateTime": "2026-07-28T16:45:22.000Z",
  "authorHandle": "quantlinkai",
  "authorDisplayName": "QuantLink.ai",
  "authorAvatarUrl": "https://pbs.twimg.com/profile_images/2056829078649413632/te_sKDKt_normal.jpg",
  "authorProfileUrl": "https://x.com/quantlinkai",
  "authorBio": "Quant tools for stock analysts and portfolio managers. Global stocks & ETFs, AI agents, ML, factor models, and portfolio optimization.",
  "authorCreatedAt": "2025-10-01T15:54:08.000Z",
  "nbLikes": 0,
  "nbReposts": 0,
  "nbReplies": 1,
  "nbViews": null,
  "nbBookmarks": 0,
  "imageUrls": [
    "https://pbs.twimg.com/media/HOVENWMWMAAxuDy.jpg"
  ],
  "videoUrls": [],
  "gifUrls": [],
  "mediaDetails": [
    {
      "id": "2082145398815076352",
      "altText": null,
      "type": "image",
      "url": "https://pbs.twimg.com/media/HOVENWMWMAAxuDy.jpg",
      "thumbnailUrl": "https://pbs.twimg.com/media/HOVENWMWMAAxuDy.jpg",
      "width": 1200,
      "height": 696,
      "durationMs": null,
      "aspectRatio": null,
      "contentType": null,
      "variants": []
    }
  ],
  "hashtags": [],
  "quotedPostId": null,
  "quotedPostText": null,
  "quotedAuthorHandle": null,
  "replyToHandle": "quantlinkai",
  "replyToPostId": "2082145397405810716",
  "quoteCount": 0,
  "language": "en",
  "source": null,
  "conversationId": "2082145397405810716",
  "inReplyToUserId": "1973415859856220160",
  "isPinned": null,
  "authorId": "1973415859856220160",
  "authorFollowersCount": 116,
  "authorFollowingCount": 66,
  "authorIsVerified": true,
  "authorIsBlueVerified": true,
  "authorVerifiedType": null,
  "searchQuery": "OpenAI",
  "sourceUrl": null,
  "sourceType": "searchQuery",
  "resultPosition": 1
}
```

##### Profile or network-member row

| Field | Type | What it does |
|---|---|---|
| `rowType` | string | Is `profile`. |
| `profileId`, `profileUrl`, `twitterUrl`, `handle`, `displayName`, `bio`, `createdAt`, `location`, `avatarUrl`, `bannerUrl` | string or null | Gives profile identity and public details. |
| `followersCount`, `followingCount`, `postsCount`, `likesCount` | number or null | Gives public profile counts. |
| `isVerified` | boolean or null | Gives the verification flag. |
| `pinnedPostIds` | string\[] | Gives shown pinned post IDs. |
| `searchQuery` | string or null | Gives the query or network source that first found the profile. |
| `networkOwnerHandle`, `networkType` | string or null | Gives the network source when used. |
| `scrapedAt` | string | Gives collection time. |
| `resultPosition` | number or null | Gives its 1-based place in the source. |

```json
{
  "rowType": "profile",
  "profileId": "4398626122",
  "profileUrl": "https://x.com/OpenAI",
  "twitterUrl": "https://twitter.com/OpenAI",
  "handle": "OpenAI",
  "displayName": "OpenAI",
  "bio": "OpenAI’s mission is to ensure that artificial general intelligence benefits all of humanity. We’re hiring: https://t.co/dJGr6LgzPA",
  "createdAt": null,
  "location": null,
  "avatarUrl": "https://pbs.twimg.com/profile_images/1885410181409820672/ztsaR0JW_normal.jpg",
  "bannerUrl": "https://pbs.twimg.com/profile_banners/4398626122/1777662919",
  "followersCount": 5063673,
  "followingCount": 4,
  "postsCount": 2016,
  "likesCount": 2409,
  "isVerified": true,
  "pinnedPostIds": [],
  "searchQuery": "OpenAI",
  "resultPosition": 1,
  "scrapedAt": "2026-07-28T16:47:05.569Z"
}
```

##### Trend row

| Field | Type | What it does |
|---|---|---|
| `rowType` | string | Is `trend`. |
| `trendName` | string or null | Gives the topic name. |
| `trendRank` | number or null | Gives its rank in the region. |
| `trendQuery`, `trendSearchUrl` | string or null | Gives the search query and link. |
| `tweetVolume` | number or null | Gives the post volume reported by X. |
| `regionId`, `regionName`, `regionCountry`, `regionCountryCode` | string or null | Gives region details. |
| `scrapedAt` | string | Gives collection time. |

```json
{
  "rowType": "trend",
  "trendName": "Fauci",
  "trendRank": 1,
  "trendQuery": "Fauci",
  "trendSearchUrl": "https://x.com/search?q=Fauci",
  "tweetVolume": null,
  "regionId": "23424977",
  "regionName": "United States",
  "regionCountry": "United States",
  "regionCountryCode": "US",
  "scrapedAt": "2026-07-28T16:54:14.293Z"
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. You pay for each post, profile, network member, or trend row saved to the dataset. Runs that save no rows do not charge this event. Use a small work limit for a first test, then raise it if the output fits your work.

#### 🔌 Integrations

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

Use the Apify API, schedules, webhooks, and dataset exports such as JSON, CSV, Excel, XML, or RSS.

#### ❓ FAQ

##### Does it need my Twitter/X login?

No. You do not provide Twitter/X cookies, sessions, or credentials.

##### Does a post URL fetch a thread?

`directPostUrls` fetches the exact public post. A post URL in `postSearchUrls` instead finds posts that quote it. The Actor does not expand a full thread.

##### Can it collect followers and following accounts?

Yes. Choose network members, add public handles, and choose followers or following. Private or protected data is not supported.

##### Can it return every old post?

No. It can return only public results that Twitter/X makes available.

##### Is this an official Twitter/X API?

No. Use the official API when you need its contract. Use this Actor for supported public searches with Apify datasets, schedules, and webhooks.

### 📝 Changelog

- `0.4`: Added direct post collection by URL or ID, conversation and quote discovery, and follower/following network collection. Improved search reliability when Twitter/X returns incomplete responses.
- `0.3`: Added post search URLs, advanced search query support, Latest + Top search, link/media/location filters, richer flat post fields, and cleaner handled input stops for unsupported X URLs.
- `0.2`: Added Search Profiles for query-based Twitter/X profile discovery with flat profile rows and search provenance.
- `0.1`: Added Trending Topics, verified trend regions, grouped target-specific inputs, 256 MB runtime default, and pay-per-event pricing.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~twitter-scraper/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [Twitter Media Scraper](https://apify.com/maximedupre/twitter-media-scraper) — collect image, video, and GIF links from public posts.
- [Twitter Retweet Checker](https://apify.com/maximedupre/twitter-retweet-checker) — check whether known users reposted public posts.
- [Twitter Screenshot Generator](https://apify.com/maximedupre/twitter-screenshot-generator) — make images of public posts.
- [Twitter Organization Affiliates Scraper](https://apify.com/maximedupre/twitter-organization-affiliates-scraper) — map public affiliate accounts for X organizations.
- [Social Media Stats Checker](https://apify.com/maximedupre/social-media-stats-checker) — compare public profile stats across X and other sites.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `target` (type: `string`):

Choose the kind of rows to collect.

## `trendRegionId` (type: `string`):

Trending topics only. Choose a Twitter/X trend region from the supported list.

## `profileSearchQueries` (type: `array`):

Search profiles only. Enter one or more Twitter/X People search queries. This finds matching accounts but does not open each profile page.

## `directPostUrls` (type: `array`):

Search posts only. Add public X/Twitter post URLs to collect those exact posts.

## `directPostIds` (type: `array`):

Search posts only. Add numeric public X/Twitter post IDs to collect those exact posts.

## `conversationIds` (type: `array`):

Search posts only. Find public posts that belong to these conversations.

## `quotedPostIds` (type: `array`):

Search posts only. Find public posts that quote these post IDs.

## `postSearchUrls` (type: `array`):

Search posts only. Add Twitter/X search, profile, list, or post URLs. A post URL finds posts that quote it. It does not fetch that post or its full thread.

## `searchQuery` (type: `string`):

🔎 Search posts only. Plain text or X/Twitter search syntax, such as OpenAI, from:OpenAI, or "web scraping" lang:en -filter:retweets.

## `hashtags` (type: `array`):

🔎 Search posts only. Hashtags matching posts must contain. Do not include #.

## `fromUsers` (type: `array`):

👤 Search posts only. Only include posts written by these handles. Do not include @.

## `mentions` (type: `array`):

💬 Search posts only. Only include posts that mention these handles. Do not include @.

## `toUsers` (type: `array`):

↩️ Search posts only. Only include posts addressed to these handles. Do not include @.

## `searchMode` (type: `string`):

Search posts only. Latest puts new posts first. Top uses Twitter/X's ranking. Latest + Top runs both, and each post is saved once.

## `startDate` (type: `string`):

🗓️ Search posts only. Only include posts on or after this date. When omitted, Search posts uses the last 30 days.

## `endDate` (type: `string`):

🗓️ Search posts only. Only include posts on or before this date.

## `language` (type: `string`):

🌐 Search posts only. Only include posts in a language code such as en, es, fr, or ja.

## `near` (type: `string`):

📍 Search posts only. Place name for X/Twitter location search, such as New York or San Francisco. Add Within for a tighter radius.

## `within` (type: `string`):

📍 Search posts only. Radius for Near, such as 10mi or 25km.

## `geocode` (type: `string`):

📍 Search posts only. Latitude, longitude, and radius, such as 37.776,-122.417,10km.

## `placeId` (type: `string`):

📍 Search posts only. X/Twitter place ID.

## `links` (type: `string`):

🔗 Search posts only. Choose whether matching posts may include links.

## `media` (type: `string`):

🖼️ Search posts only. Choose whether matching posts must contain media.

## `postKinds` (type: `array`):

Search posts only. Choose one or more kinds of posts to keep.

## `minLikes` (type: `integer`):

❤️ Search posts only. Only include posts with at least this many likes.

## `minReplies` (type: `integer`):

💬 Search posts only. Only include posts with at least this many replies.

## `minRetweets` (type: `integer`):

🔁 Search posts only. Only include posts with at least this many reposts.

## `shouldIncludePromotedPosts` (type: `boolean`):

📣 Search posts only. Keep promoted search results in the output.

## `sinceId` (type: `string`):

⏭️ Search posts only. Restrict the search to posts after this X post ID.

## `maxId` (type: `string`):

⏮️ Search posts only. Restrict the search to posts at or before this X post ID.

## `networkProfileHandles` (type: `array`):

Profile network members only. Add public profile handles without @.

## `networkType` (type: `string`):

Profile network members only. Choose followers or accounts followed by the profile.

## `maxNbItemsToScrape` (type: `integer`):

🔢 Stop after this many rows across the whole run. Leave it empty to return all available results until the source is exhausted.

## Actor input object example

```json
{
  "target": "searchPosts",
  "trendRegionId": "1",
  "searchQuery": "OpenAI",
  "searchMode": "latestAndTop",
  "links": "include",
  "media": "include",
  "postKinds": [
    "originalPosts",
    "quotePosts",
    "replies"
  ],
  "shouldIncludePromotedPosts": false,
  "networkType": "followers",
  "maxNbItemsToScrape": 10
}
```

# Actor output Schema

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

The Twitter/X posts, profiles, network members, or trends found by this run.

# 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 = {
    "target": "searchPosts",
    "searchQuery": "OpenAI",
    "searchMode": "latestAndTop",
    "maxNbItemsToScrape": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/twitter-scraper").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 = {
    "target": "searchPosts",
    "searchQuery": "OpenAI",
    "searchMode": "latestAndTop",
    "maxNbItemsToScrape": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/twitter-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "target": "searchPosts",
  "searchQuery": "OpenAI",
  "searchMode": "latestAndTop",
  "maxNbItemsToScrape": 10
}' |
apify call maximedupre/twitter-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=maximedupre/twitter-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/2ufgZPIMIagJ29NQa/builds/RrQRfXhcv9QQ10s2z/openapi.json
