# Temu Scraper — Search, Categories and Product Data (`selleraim.com/temu-product-scraper`) Actor

Scrape Temu search results, categories and product pages in 12 countries: prices, original prices, discounts, sold counts, ratings, images, video and category paths. Up to 1,500 results per keyword. No login, cookies or browser; proxies included.

- **URL**: https://apify.com/selleraim.com/temu-product-scraper.md
- **Developed by:** [Seller Aim](https://apify.com/selleraim.com) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 3 total users, 2 monthly users, 78.6% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 1,000 search or category results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Temu Scraper — Search, Categories and Product Data

Scrape **Temu** search results, category listings and product pages **without login, cookies or a browser**. Give it keywords, Temu URLs or product IDs and get clean rows with **price, original price, discount, sold count, rating, review count, images, video, category path and product link**, from **12 Temu country sites** in their local currency and language.

- **Up to 1,500 results per keyword** and about 600 per category, with Temu's own ranking order.
- **12 countries:** US, UK, Canada, Australia, Germany, France, Italy, Spain, Netherlands, Poland, Mexico, Japan.
- **Pay only for results:** $2.99 per 1,000 search or category results, $4.99 per 1,000 product pages. Proxy and compute costs are included.

### Who uses it

- **Dropshippers and e-commerce sellers** looking for trending products, real sold counts and Temu's price points.
- **Brands and retailers** monitoring Temu prices and discounts against their own catalog.
- **Market researchers** comparing categories, price bands and ratings across countries.
- **Developers and AI agents** that need Temu data through an API, on a schedule or in a pipeline.

### What you get

| Data | Search and category rows | Product page rows |
| --- | --- | --- |
| Title, product URL, goods ID | ✅ | ✅ |
| Price and currency | ✅ | ✅ |
| Price as displayed (for example `$5.75`) | ✅ | ✅ when found through a list |
| Original price and discount % | ✅ on about 84% of rows | ✅ when found through a list |
| Sold count (`"35K+ sold"` and `35000`) | ✅ on about 97% of rows | ✅ when found through a list |
| Rating and review count | ✅ on about 93% of rows | ✅ |
| Availability | ✅ | ✅ |
| Main image | ✅ | ✅ |
| Full image gallery | – | ✅ |
| Video | on about 55% of rows | ✅ when the product has one |
| Category path with category IDs and URLs | – | ✅ |
| Condition and attributes (material, pattern, …) | – | ✅ when Temu lists them |
| Rank position, page, keyword match | ✅ | ✅ when found through a list |

Percentages come from our validation runs: 1,840 search rows across 20 keywords and 3 categories.

### Quick start

1. Type **keywords**, or paste **Temu URLs** or **product IDs**.
2. Choose the **country site** and **max results per keyword or URL**.
3. Click **Start**. Download the rows as JSON, CSV, Excel or HTML, or read them through the API.

#### Examples

Search by keyword:

```json
{ "searchQueries": ["phone case", "wireless earbuds"], "maxResultsPerQuery": 100 }
```

Scrape Temu URLs (search pages, category pages and products; the country site is detected from the URL):

```json
{
  "startUrls": [
    { "url": "https://www.temu.com/womens-shoes-o3-95.html" },
    { "url": "https://www.temu.com/flat-wireless-earbuds-5030186936120-s.html" },
    { "url": "https://www.temu.com/uk/goods.html?goods_id=601100384222130" }
  ]
}
```

Product IDs (the number in a Temu product URL) on the UK site, prices in GBP:

```json
{ "productIds": ["601100384222130"], "region": "uk" }
```

Search results with full product pages, one row per product:

```json
{ "searchQueries": ["yoga mat"], "maxResultsPerQuery": 50, "includeDetails": true }
```

### Input

| Field | Default | What it does |
| --- | --- | --- |
| `searchQueries` | – | Keywords, one per line. |
| `startUrls` | – | Temu product URLs (`…-g-601099….html` or `goods.html?goods_id=…`), search URLs (`…-s.html`), category URLs (`…-o3-<id>.html`) and `search_result.html?search_key=…` URLs. The country is taken from the URL, for example `temu.com/uk/…`. |
| `productIds` | – | Temu goods IDs. |
| `maxResultsPerQuery` | 50 | Rows per keyword, search URL or category URL (up to 2,000). |
| `includeDetails` | false | Open each listed product's page for the gallery, category path, condition and attributes. Product URLs and IDs always return product pages. |
| `region` | `us` | Country site for keywords and product IDs (see the table below). URLs keep their own country. |
| `broadenKeywords` | true | When Temu has no page for a keyword, use the closest phrase it has (see below). Turn off to skip such keywords. |
| `proxyConfiguration` | Apify residential, US | Keep the default. Temu answers datacenter IPs and most non-US residential IPs with challenge pages. |
| `maxConcurrency` | 10 | Pages loaded in parallel. |

With no keywords, URLs or IDs, the run uses the example keyword `phone case`.

#### Country sites

| `region` | Site | Currency | Language | Keyword search |
| --- | --- | --- | --- | --- |
| `us` | temu.com | USD | English | ✅ verified |
| `uk` | temu.com/uk | GBP | English | ✅ verified |
| `ca` | temu.com/ca | CAD | English | ✅ verified |
| `au` | temu.com/au | AUD | English | use URLs and IDs |
| `de` | temu.com/de | EUR | German | use URLs and IDs |
| `fr` | temu.com/fr | EUR | French | use URLs and IDs |
| `it` | temu.com/it | EUR | Italian | use URLs and IDs |
| `es` | temu.com/es | EUR | Spanish | use URLs and IDs |
| `nl` | temu.com/nl | EUR | Dutch | use URLs and IDs |
| `pl` | temu.com/pl | PLN | Polish | use URLs and IDs |
| `mx` | temu.com/mx | MXN | Spanish | use URLs and IDs |
| `jp` | temu.com/jp | JPY | Japanese | use URLs and IDs |

Product pages were verified on all 12 sites. On the non-English sites, keyword pages use local-language phrases; open the site in your browser, search there, and paste the resulting search or category URL.

### How keyword search works

Temu publishes ready-made search pages for a very large set of shopping phrases, such as `temu.com/phone-case-s.html`. Each keyword is matched to one of those pages:

1. **Spelling variants:** singular and plural forms, word order, and "for" phrasing. For example, `sunglasses women` matches `women sunglasses`, and `men watches` matches `men watch`.
2. **Closest phrase** (on by default): if no variant exists, the scraper uses the closest phrase Temu has. It follows Temu's own related-search links to get closer to your wording. For example, `ring light with tripod` matches `ring light tripod`, and `purple cat socks` matches `cat socks`.
3. **Brand words:** Temu does not publish pages for trademarks, so brand words are swapped for the generic product word. For example, `iphone 15 case magsafe` matches `phone case magnetic`, `stanley cup` matches `tumbler cup`, and `airpods case` matches `earbuds case`.

Every row shows your `query`, the `matchedKeyword` that was used, and `exactMatch` (`false` when the match is broader or brand-swapped). The run's `SUMMARY` record lists, for each keyword, the matched page, the number of results Temu has and up to 10 of Temu's related searches. Those related searches make good next keywords.

### Output

#### Search result (real row from a keyword)

```json
{
  "type": "searchResult",
  "goodsId": "601100033195633",
  "title": "Phone Case - Cute 3D Lying Cat Phone Case Suitable for Iphone 16, for * 15 Pro Max, Easy Polka *, Soft And Drop-Resistant Cartoon Handmade",
  "price": 1.93,
  "currency": "USD",
  "priceText": "$1.93",
  "originalPrice": 11.29,
  "discountPercent": 83,
  "salesText": "72K+ sold",
  "salesCount": 72000,
  "rating": 4.8,
  "reviewCount": 217,
  "availability": "InStock",
  "imageUrl": "https://img.kwcdn.com/product/fancy/34ba1b40-de42-425d-954a-9f5cafcc8673.jpg",
  "videoUrl": "https://goods-vod.kwcdn.com/goods-video/276cddf1db40f202bc7a077eaf95ed5dbfc7bccc.f30.mp4",
  "url": "https://www.temu.com/cute-3d-lying-cat-phone-case-suitable-for-iphone-16-simple-polka--for--15-pro--and-cartoonish-handmade-and-drop-resistant-for-iphone-13-and-14-g-601100033195633.html",
  "region": "us",
  "source": "keyword",
  "query": "phone case",
  "matchedKeyword": "phone case",
  "exactMatch": true,
  "page": 1,
  "position": 1,
  "sourceUrl": "https://www.temu.com/phone-case-s.html",
  "scrapedAt": "2026-10-11T11:20:30.055Z"
}
```

#### Category result (real row)

```json
{
  "type": "searchResult",
  "goodsId": "601099514153298",
  "title": "* Women & Professional Ballet Pointe Shoes with Ribbons - Square Toe * Shoes, Satin Dance Shoes with Ballet, Sole & for * Closure - Professional Pointe for Pointe Technique, Women Shoes",
  "price": 16.54,
  "currency": "USD",
  "originalPrice": 41.76,
  "discountPercent": 60,
  "salesText": "33K+ sold",
  "salesCount": 33000,
  "rating": 4.7,
  "reviewCount": 484,
  "source": "categoryUrl",
  "categoryId": "95",
  "categoryName": "Women's Shoes",
  "page": 1,
  "position": 1,
  "sourceUrl": "https://www.temu.com/womens-shoes-o3-95.html"
}
```

#### Product page (real row from the UK site, gallery shortened)

```json
{
  "type": "product",
  "goodsId": "601100384222130",
  "title": "Women's Fashion Open-Heel Shoes, Casual Summer Sandals, Women Shoes",
  "url": "https://www.temu.com/uk/womens-fashion-open-heel-shoes-casual-summer-sandals-women-shoes-g-601100384222130.html",
  "price": 13.55,
  "currency": "GBP",
  "rating": 4.8,
  "reviewCount": 2332,
  "availability": "InStock",
  "condition": "New",
  "imageUrl": "https://img.kwcdn.com/product/fancy/b0726781-e777-4699-8fc3-1f0ebea85b7a.jpg",
  "images": ["https://img.kwcdn.com/product/fancy/b0726781-e777-4699-8fc3-1f0ebea85b7a.jpg", "…"],
  "videoUrl": "https://goods-vod.kwcdn.com/goods-video/25c8b1b25e7625dd081f9ebde42bbc45647d34d9gs2CV.f30.mp4",
  "categoryPath": [
    { "name": "Women's Shoes", "url": "https://www.temu.com/uk/womens-shoes-o3-95.html", "categoryId": "95" },
    { "name": "Women's Heeled Sandals", "url": "https://www.temu.com/uk/womens-heeled-sandals-o3-6877.html", "categoryId": "6877" }
  ],
  "attributes": { "pattern": "Stripes" },
  "region": "uk",
  "source": "productUrl",
  "sourceUrl": "https://www.temu.com/uk/goods.html?goods_id=601100384222130",
  "scrapedAt": "2026-10-11T11:21:20.252Z"
}
```

Every row has the same set of fields; fields that do not apply are `null`.

#### Field reference

| Field | Description |
| --- | --- |
| `type` | `searchResult` (from a search or category list) or `product` (from a product page). |
| `goodsId`, `url` | Temu goods ID and product URL on the row's country site. |
| `title` | Product title as Temu publishes it (see "Good to know" about `*`). |
| `price`, `currency` | Current price as a number, and its currency code. |
| `priceText` | Price as displayed, with currency symbol. |
| `originalPrice`, `discountPercent` | Crossed-out price and the discount it implies. |
| `salesText`, `salesCount` | Sold count as displayed ("35K+ sold") and as a number (35000, a lower bound). |
| `rating`, `reviewCount` | Average rating out of 5 and number of reviews. |
| `availability` | `InStock`, `OutOfStock`, and so on. |
| `imageUrl`, `images`, `videoUrl` | Main image, full gallery (product rows) and product video. |
| `categoryPath` | Category breadcrumb `[{ name, url, categoryId }]` (product rows). Category URLs can be scraped as start URLs. |
| `condition`, `attributes` | Item condition and listed attributes such as material, color or pattern (product rows). |
| `priceRange` | `{ min, max }` when Temu shows a price range. |
| `region` | Country site of the row. |
| `source` | How the product was found: `keyword`, `searchUrl`, `categoryUrl`, `productUrl` or `productId`. |
| `query`, `matchedKeyword`, `exactMatch` | Your keyword, the Temu search phrase used for it, and whether it matched exactly. |
| `categoryId`, `categoryName` | Category of a category list. |
| `page`, `position` | Result page and rank within the keyword or category list (1 = first). |
| `sourceUrl` | Page the row was read from. |
| `detailError` | Set on a list row when its product page could not be loaded (with **Open each product page** on). |
| `scrapedAt` | Time of scraping. |

### Good to know

- **Volume:** Temu shows up to about 1,500 products per keyword (40 per page) and about 600 per category (120 per page).
- **Masked words in titles:** on these pages Temu replaces some words, often brand or trademark names, with `*`, as in `for * 15 Pro Max`. Titles are returned exactly as Temu publishes them.
- **Prices:** prices are the regular listing prices. Time-limited Lightning Deals on Temu's homepage can be lower.
- **Sold counts:** Temu shows sold counts only in search and category lists. With **Open each product page** on, the row keeps the sold count from the list.
- **Not included:** variant (SKU) lists, seller or store details, and review texts. Temu does not publish them on these pages.
- **Unavailable products:** a product that was removed, or is not sold on the selected country site, is listed in `SUMMARY` as `NOT_AVAILABLE` and does not create a row.
- **Sorting:** results come in Temu's own ranking order; there is no option to sort by price or sales.

### Pricing

Pay per result. Proxy, compute and storage are included in the price.

| What you get | Price |
| --- | --- |
| Search or category result (`type: "searchResult"`) | **$2.99 per 1,000** ($0.00299 each) |
| Product page (`type: "product"`) | **$4.99 per 1,000** ($0.00499 each) |
| Run start | $0.00005 per run |

Examples:

| Run | Cost |
| --- | --- |
| 1,500 results for one keyword | about $4.49 |
| 5 keywords × 100 results | about $1.50 |
| 200 product IDs | about $1.00 |
| 100 search results with product pages turned on | about $0.50 (billed as 100 product pages) |

With **Open each product page** on, each row is billed once, as a product page. If a product page cannot be loaded, the list row is kept and billed as a search result. To control spend, set **Max results per keyword or URL** and, in the run options, a maximum total charge; the scraper stops cleanly when that limit is reached.

### Speed

In our cloud tests at default settings, 3 keywords × 200 results plus 30 product pages finished in about 75 seconds. Pages of one keyword are read in order; several keywords, URLs and product pages run in parallel.

### Run summary and troubleshooting

Every run stores a `SUMMARY` record in its key-value store. For each keyword or URL it lists the matched page, `exactMatch`, results scraped, results available and related searches. It also lists failed targets with a reason code, and request statistics. The run's status message gives the totals in one line.

| Code | Meaning | What to do |
| --- | --- | --- |
| `KEYWORD_NOT_FOUND` | Temu has no search page for the keyword, even in broader form. | Use a shorter or more common wording, or paste a Temu search URL. |
| `NOT_AVAILABLE` | The product was removed or is not sold on that country site. | Check the product on that site. |
| `NOT_FOUND` | The page does not exist. | Check the URL. |
| `NO_RESULTS` | The list page had no products. | Check the URL in a browser. |
| `CHALLENGE`, `BLOCKED`, `RATE_LIMITED`, `UPSTREAM_ERROR`, `EMPTY` | Temu challenged, limited or emptied the page on every retry with a new IP. | Run again with the default proxy. |
| `TIMEOUT`, `NETWORK_ERROR`, `PROXY_ERROR` | Network problem after retries. | Run again. |

### API and integrations

Run it from your code with the Apify API. Example with cURL, returning the rows directly:

```bash
curl -X POST "https://api.apify.com/v2/acts/selleraim.com~temu-product-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchQueries": ["phone case"], "maxResultsPerQuery": 100}'
```

JavaScript:

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('selleraim.com/temu-product-scraper').call({
  searchQueries: ['wireless earbuds'],
  maxResultsPerQuery: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map(i => [i.position, i.price, i.salesCount, i.title]));
```

Python:

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("selleraim.com/temu-product-scraper").call(
    run_input={"productIds": ["601100384222130"], "region": "de"}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], item["price"], item["currency"])
```

You can also schedule runs (for example, a daily price check), get a webhook when a run finishes, and send the results to Google Sheets, Make, Zapier, n8n and other tools from the Apify Console.

### FAQ

**Do I need a Temu account?**
No. Everything comes from public pages; no login or cookies are used.

**Can I search any keyword?**
Temu publishes search pages for a very large number of shopping phrases, and the scraper matches your wording to them (see "How keyword search works"). Very unusual phrases can still be reported as `KEYWORD_NOT_FOUND`. A Temu search or category URL always works.

**Why do some titles contain `*`?**
Temu masks some words, often brand names, on its public pages. The rest of the title is unchanged.

**Why is the price different from what I see in the Temu app?**
Rows show the regular listing price on the selected country site. The app can show personalized coupons, Lightning Deals or prices for your own location.

**Can I get variants, seller details or reviews?**
Not yet. Temu does not publish them on the pages this scraper reads. Rows include the rating and review count.

**Can I scrape a whole category?**
Yes. Paste a category URL (`…-o3-<id>.html`). You can find these URLs in a product row's `categoryPath`, or in Temu's menu.

**Is scraping Temu legal?**
The scraper collects publicly visible product information only. Make sure your use of the data complies with applicable laws and Temu's terms.

### Changelog

- **1.0** (2026-10): First release. Keyword, search, category and product scraping; 12 country sites; keyword matching with spelling variants, closest phrase and brand-word handling; pay-per-result pricing.

# Actor input Schema

## `searchQueries` (type: `array`):

One keyword per line, for example phone case or wireless earbuds. Temu publishes search pages for common shopping phrases; uncommon wording is matched to the closest phrase Temu has (see the option below).

## `startUrls` (type: `array`):

Product URLs (…-g-601099…html or goods.html?goods_id=…), search URLs (…-s.html) and category URLs (…-o3-…html). Country sites such as temu.com/uk/ are detected from the URL.

## `productIds` (type: `array`):

Temu goods IDs, the number in product URLs, for example 601099546324807.

## `maxResultsPerQuery` (type: `integer`):

Search and category lists stop after this many products. Temu lists up to about 1,500 products per keyword and 600 per category.

## `includeDetails` (type: `boolean`):

Adds the full image gallery, category path, condition and video for every search or category result. Slower and costs more. Product URLs and IDs always return product pages.

## `region` (type: `string`):

Country site for keywords and product IDs; prices come in its currency. Keyword search is verified on US, UK and Canada; product pages on all listed sites. URLs keep their own country.

## `broadenKeywords` (type: `boolean`):

When Temu has no search page for a keyword, use the closest broader phrase it has (for example "purple cat socks" -> "cat socks"). Rows then carry exactMatch=false and matchedKeyword. Turn off to skip such keywords.

## `proxyConfiguration` (type: `object`):

Keep the default Apify residential US proxy. Temu answers datacenter IPs and most non-US residential IPs with challenge pages.

## `maxConcurrency` (type: `integer`):

Pages loaded in parallel.

## `maxAttempts` (type: `integer`):

Each attempt uses a new IP. Pages without data are retried up to 3 times, then reported in SUMMARY.

## `requestTimeoutSecs` (type: `integer`):

Seconds per HTTP request.

## `failOnEmpty` (type: `boolean`):

Mark the run as failed when it returns no items.

## Actor input object example

```json
{
  "searchQueries": [
    "phone case"
  ],
  "startUrls": [],
  "productIds": [],
  "maxResultsPerQuery": 20,
  "includeDetails": false,
  "region": "us",
  "broadenKeywords": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  },
  "maxConcurrency": 10,
  "maxAttempts": 6,
  "requestTimeoutSecs": 40,
  "failOnEmpty": true
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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 = {
    "searchQueries": [
        "phone case"
    ],
    "maxResultsPerQuery": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("selleraim.com/temu-product-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 = {
    "searchQueries": ["phone case"],
    "maxResultsPerQuery": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("selleraim.com/temu-product-scraper").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 '{
  "searchQueries": [
    "phone case"
  ],
  "maxResultsPerQuery": 20
}' |
apify call selleraim.com/temu-product-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,selleraim.com/temu-product-scraper"
        }
    }
}
```

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/H6eXzUL6u9mTPYhYC/builds/977pH7gLcU0xLOhr2/openapi.json
