# Websites by Technology - BuiltWith Alternative & Store Leads (`tidytools/website-lists`) Actor

Lists of websites that use a technology, by country: Shopify stores in Germany, WordPress sites in Taiwan, HubSpot users in the UK. Candidates come from Chrome's top 1K-1M websites per country; each home page is checked live. $5 per 1,000 websites found; scanning is free.

- **URL**: https://apify.com/tidytools/website-lists.md
- **Developed by:** [Yukai Lin](https://apify.com/tidytools) (community)
- **Categories:** Lead generation, E-commerce, SEO tools
- **Stats:** 3 total users, 2 monthly users, 80.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 website founds

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?

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

### What does Websites by Technology do?

**Pick a technology and countries, get a list of matching websites** (domain, title, full tech stack with evidence, popularity bucket, e-mail provider): **$5.00 per 1,000 websites found** ($0.005 each, shown on the Pricing tab). Websites that do not match, cannot be read, duplicates and invalid inputs are free, and so is a run that finds nothing; no start fee. Data: Google's public Chrome UX Report top lists (monthly; check `dataRelease` in each run's results for the list month) for the candidates, and each home page read live at run time for the technologies. Jump to [How to use it](#how-to-use-it).

It builds **lead lists of websites that use a technology, in the countries you choose**: "Shopify stores popular in Germany", "WordPress sites in Taiwan's top 10,000", "companies in the US top 10,000 that use HubSpot".

- 🌍 **Candidates from real traffic**: the Chrome UX Report top lists (Google, CC BY 4.0) rank the most visited websites of **238 countries** and worldwide in buckets (Top 1K, 5K, 10K, 50K, 100K, 500K, 1M). You pick the countries and how deep to go.
- 🔍 **Live detection, not a stale database**: every candidate's home page is read **now** and checked against about 480 technology fingerprints (CMS, e-commerce platforms, analytics, marketing automation, chat, payments, reviews, consent tools ...). Each match comes with its **evidence** (the header, cookie or script that proves it).
- 📧 **E-mail provider and DNS tools** from public DNS records (Google Workspace, Microsoft 365, Zoho ...).
- 📈 **Optional enrichment** at no extra cost: authority score (0-100) and referring domains, global traffic rank and 12-month trend.
- 💸 **You pay only for matching websites.** Scanning non-matching, unreadable and duplicate websites is free.

#### Real results (3 October 2026)

Shopify stores among Germany's top 50,000 websites (skipping the top 5,000): 306 websites scanned, 20 Shopify stores found in 58 seconds, $0.10.

| Domain | Popularity | Title | Evidence (shortened) | E-mail provider |
|---|---|---|---|---|
| ortlieb.com | Top 10K in Germany (Chrome) | ORTLIEB - Built to Endure. Waterproof. Made in Germany | header `powered-by: Shopify`, cookie `_shopify_essential` | Microsoft 365 |
| baywa.de | Top 10K in Germany (Chrome) | BayWa Landwirtschaft - Ihr Online-Shop | header `powered-by: Shopify, Oxygen, Hydrogen` | Microsoft 365 |
| boker.de | Top 10K in Germany (Chrome) | Hochwertige Messer kaufen - Böker Solingen | header `powered-by: Shopify` | self-hosted or other |
| gruendl.com | Top 10K in Germany (Chrome) | Onlineshop für Wolle und Garn - GRÜNDL WOLLE | header `powered-by: Shopify` | Microsoft 365 |
| mac-jeans.com | Top 10K in Germany (Chrome) | Jeans & Trousers online shopping - MAC Jeans Shop | header `powered-by: Shopify` | Proofpoint |
| sport-schindele.de | Top 10K in Germany (Chrome) | Sport Schindele - Ski-, Berg-, Kletter- & Radsport | header `powered-by: Shopify` | self-hosted or other |

Other test runs the same day:

| Search | Websites scanned | Found | Match rate (readable sites) | Time |
|---|---|---|---|---|
| Shopify, US, ranks 10K-100K | 131 | 10 (limit) | 10% | 35 s |
| Shopify AND Klaviyo, US + CA, ranks 10K-100K | 354 | 10 (limit) | 4% | 89 s |
| WooCommerce or Magento, GB, `.co.uk` only, ranks 10K-100K | 186 | 15 (limit) | 10% | 36 s |
| WordPress, US, ranks 50K-500K | 1,000 | 91 | 13% | 234 s |
| WordPress, Taiwan, top 10K | 500 | 13 | 3% | 65 s |
| HubSpot, US, top 10K | 600 | 5 | 1.4% | 107 s |
| WooCommerce, US, ranks 100K-1M | 1,000 | 14 | 1.9% | 195 s |
| Any technology, Japan, top 1K | 16 | 10 (limit) | 100% | 5 s |

### Use cases

- **Sell to e-commerce stores**: apps, agencies, payment, logistics and marketing tools find Shopify, WooCommerce, Magento or Shopware stores in their markets.
- **Competitive displacement**: list the sites that use a competitor's product (e.g. Klaviyo, Intercom, OneTrust) and pitch a switch.
- **Agency prospecting**: WordPress, Wix or Squarespace sites in a country, ranked by real traffic.
- **Market share snapshots**: `SUMMARY.topTechnologiesSeen` counts the technologies on every readable website scanned (e.g. how many of Taiwan's top 500 sites use Google Analytics).
- **Top-sites lists with tech profiles**: leave Technologies empty to get every readable site of a country's top list with its full stack.

### How much does it cost?

| Event | Price | When |
|---|---|---|
| Website found | **$5.00 / 1,000 websites** ($0.005 each) | a website that matches your technologies is returned |

**Free:** every website scanned that does not match, websites that cannot be read (down, blocked, parked, robots.txt disallows our crawler, adult sites skipped), duplicates and invalid inputs. **No start fee.** Larger Apify plans get the usual volume discount (Silver 10%, Gold and above 20%).

**Example:** 200 Shopify stores in one country cost at most **$1.00**, however many websites have to be scanned to find them.

For comparison (Apify Store; prices as listed on 3 October 2026, users in the last 30 days on 8 October 2026): clearpath/shopify-store-leads (200 users) $0.006 per lead; apivault_labs/website-leads-database (135 users) $0.008 per row; ecommerce_leads/store-leads-14m (111 users) $0.006; builtwith/builtwith-official-technology-scraper (120 users) $0.002 per row; igolaizola/shopify-store-finder (52 users) $0.005 per row + $0.005 per start; aitorsm/websites-by-technology (4 users) $0.008 per row + $0.015 per start. Most of those read a prebuilt database (some with e-mails and phone numbers, which this Actor does not return). This Actor checks every website live at run time, works for any of about 480 technologies and any of 238 countries, and shows the evidence for each match.

#### Control your cost

- `maxResults` is the most you can be charged (`maxResults` x $0.005). The run stops as soon as it is reached.
- `maxSitesToScan` caps how many candidates are checked (scanning is free, but it takes time).
- Before scanning, the run logs its plan and compares it with your **maximum charge per run**. When the next website could pass it, no new website is started: `SUMMARY.status` is `LIMIT_REACHED` and `SUMMARY.notProcessed.count` says how many candidates were not scanned.
- Every row has `charged: true` or `false`. If Apify restarts the run, websites already delivered are skipped and not charged again.

### How to use it

1. **Technologies**: e.g. `Shopify`, or several (`WooCommerce`, `Magento`). Names and categories are matched without regard to case; common short names work too (`woo`, `wp`, `GA4`, `gtm`, `ecommerce`). Turn on **Require all technologies** for "Shopify AND Klaviyo".
2. **Countries**: two-letter codes (`US`, `DE`, `GB`, `TW`, `JP` ...) or `global`.
3. **Popularity**: the top N websites to search (1,000 to 1,000,000), and optionally **Skip the most popular** (e.g. 10,000) to reach mid-sized businesses instead of global brands.
4. Optional: **domain filters** (`tlds` like `de` or `co.uk`, `domainContains`, `excludeDomains`) and **enrichment** (authority, traffic rank).
5. Click **Start**. **Websites (overview)** shows the key columns; **Websites (all fields)** has the full stack and evidence, ready for CSV or Excel.

The country lists rank websites by Chrome visits **from** that country, so an international brand popular in Germany is in the German list. For businesses based in a country, add its domain ending (e.g. `tlds: ["de"]`).

#### Input example

```json
{
    "technologies": ["Shopify"],
    "countries": ["DE"],
    "maxRank": 50000,
    "skipTopRank": 5000,
    "maxResults": 20,
    "maxSitesToScan": 800,
    "enrich": ["authority", "trafficRank"]
}
```

#### Output example

Real result (3 October 2026), shortened:

```json
{
    "domain": "ortlieb.com",
    "website": "https://de.ortlieb.com/",
    "title": "ORTLIEB | Built to Endure. Waterproof. Made in Germany",
    "description": "Die legendären ORTLIEB Fahrradtaschen, Rucksäcke und Reisetaschen. Nachhaltigkeit durch Haltbarkeit. 100% wasserdicht. Hergestellt in Deutschland.",
    "language": "de",
    "country": "DE",
    "countryName": "Germany",
    "countryRankBucket": 10000,
    "countryRankLabel": "Top 10K in Germany (Chrome)",
    "matchedTechnologies": ["Shopify"],
    "matchEvidence": {
        "Shopify": ["header: powered-by: Shopify", "cookie: _shopify_essential", "meta: shopify-digital-wallet: /85001568588/digital_wallets/dialog"]
    },
    "technologyCount": 11,
    "technologies": [
        { "name": "Shopify", "category": "E-commerce", "confidence": "high" },
        { "name": "Tailwind CSS", "category": "UI library", "confidence": "medium" },
        { "name": "Microsoft Clarity", "category": "Analytics", "confidence": "high" },
        { "name": "Cloudflare", "category": "CDN", "confidence": "high" },
        { "name": "Shop Pay", "category": "Payment", "confidence": "high" },
        { "name": "CookieFirst", "category": "Cookie consent", "confidence": "high" },
        { "name": "Judge.me", "category": "Reviews", "confidence": "high" },
        { "name": "Microsoft 365", "category": "Email hosting", "confidence": "high", "source": "dns" },
        { "name": "Hornetsecurity", "category": "Email security", "confidence": "high", "source": "dns" }
    ],
    "ecommerce": "Shopify",
    "emailProvider": "Microsoft 365",
    "emailSecurity": "Hornetsecurity",
    "via": "direct",
    "dataRelease": "crux-202608",
    "charged": true
}
```

#### What the fields mean

- **Popularity** (`countryRankBucket`, `countryRankLabel`): the website's bucket in the Chrome UX Report list of that country for the month in this run's `dataRelease` (`crux-202608` = August 2026 in the example above). Buckets, not exact ranks: "Top 10K" means somewhere between 5,001 and 10,000. `listedIn` shows every chosen country's bucket when you pick several.
- **matchedTechnologies / matchEvidence**: which of your technologies were found, with up to 3 pieces of evidence each.
- **technologies**: everything detected, with `confidence` (`high` = a clear fingerprint; `medium` = weak hints only). `source: "dns"` = seen in public DNS records.
- **emailProvider / emailSecurity**: the mailbox provider from the domain's MX and SPF records (Microsoft 365 behind a Hornetsecurity gateway is `Microsoft 365`, with `emailSecurity: "Hornetsecurity"`). `self-hosted or other` = mail servers we do not recognize.
- **authorityScore / referringDomains** (enrichment): our 0-100 score from the Common Crawl web graph, not Ahrefs DR or Moz DA. **globalTrafficRank / trafficTrend**: worldwide Chrome bucket and its 6-month trend.
- **SUMMARY** (key-value store): scanned, readable, matched and unreadable counts with reasons and examples, `matchRate`, `topTechnologiesSeen`, `stoppedBecause` and the cost plan.

### Use it from code

```bash
curl -X POST "https://api.apify.com/v2/acts/tidytools~website-lists/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"technologies":["WooCommerce"],"countries":["GB"],"tlds":["co.uk"],"maxRank":100000,"skipTopRank":10000,"maxResults":50,"maxSitesToScan":2000}'
```

**With AI agents (MCP):** connect Apify's MCP server (`https://mcp.apify.com?tools=tidytools/website-lists`) to Claude, Cursor or any MCP client and ask, for example, "Find 30 Shopify stores popular in the Netherlands, skipping the top 10,000 sites". Minimal input: `{"technologies": ["Shopify"], "countries": ["NL"]}`. Invalid inputs are free rows with `errorType: "invalid_input"`.

### Limitations

- **Only websites in the Chrome UX Report lists** (websites with enough Chrome traffic; up to 1 million per country, fewer for small countries). Very small shops are not in the lists.
- **One page per website**: only the home page (and its response headers and DNS records) is checked. Technologies used only on other pages, after login or loaded later by JavaScript may be missed. Detection is fingerprint-based: products without a public fingerprint in our list cannot be found.
- **No contact details**: no e-mail addresses or phone numbers of people. Use the Contact Details Extractor by TidyTools on the results if you need the contact page data a website publishes.
- **Some websites cannot be read**: in our test runs 20% to 40% of candidates were skipped as unreadable (bot protection, robots.txt, down). Big brands block more often than mid-sized sites. They are free and counted in `SUMMARY.unreadableByReason`.
- **Popularity is a bucket, not traffic numbers**, and it reflects Chrome users only.
- Lists are monthly: the newest month is published by Google in the second week of the following month.

### Responsible use

The Actor reads public home pages and public DNS records with an honest user agent (`TidyToolsWebsiteLists`), and it does not read a website whose robots.txt disallows our crawler. It does not solve CAPTCHAs, bypass bot protection or log in. It returns company website data only, no personal data. If you contact the businesses you find, follow the rules that apply to you (for example the GDPR, the CAN-SPAM Act and each website's terms), and remove anyone who asks you to.

### FAQ

**Does the Actor collect usage data?** The Actor sends one anonymous usage counter per run (input type, item count range, outcome) to improve the tool; no URLs, content or account data.

**Why were only a few websites found?** The technology is rare among the websites scanned. Check `SUMMARY.matchRate` and `stoppedBecause`, then raise `maxSitesToScan` or `maxRank`, or skip the biggest websites with `skipTopRank` (big brands rarely run Shopify or WordPress).

**What if nothing is found?** The run ends successfully with one free row (`found: false`) that says how many websites were scanned and read, and nothing is charged. The most popular websites are scanned first, so a rare technology can need a larger `maxSitesToScan` or a deeper `maxRank` (for example, no match in the first 100 of Taiwan's top 10,000 for WordPress is possible).

**What happens with a misspelled technology or an unknown country?** Each unknown value becomes a free `invalid_input` row (technologies come with "did you mean" suggestions) and the run still ends as succeeded. Unknown values are ignored when at least one valid technology or country is left; with "Require all technologies" on, or when nothing valid is left, nothing is scanned or charged. "Skip the most popular" at or above "Popularity: top N" also ends with a free explanation row. Pasted lists are read forgivingly: commas, semicolons, `|`, line breaks and spaces separate entries (`US DE`, `Shopify WooCommerce`), surrounding quotes and brackets are removed, and text values such as `"false"` or `"50k"` are understood. A name with "and" (`Shopify and Klaviyo`) is refused for free with a hint to use separate entries plus **Require all technologies**, because the Actor cannot know whether you meant "any" or "all".

**What if I mistype an input field name?** Common alternatives are mapped (`technology`, `country`, `limit`, `max_results` ...). Any other unknown field is ignored and reported in a free `invalid_input` row; if you gave no technologies but an unknown field, the run stops (free) instead of returning random websites.

**What if one country's list cannot be downloaded?** With several countries the others still run and the missing one is reported in a free `list_unavailable` row (`SUMMARY.listsUnavailable`). With only one country the run ends as failed, nothing charged.

**How fresh is the data?** The candidate lists are the monthly Chrome UX Report (`dataRelease`, e.g. `crux-202608` = August 2026; Google publishes a month in the second week of the next one). The technologies are detected live from the website's home page when you run the Actor, not from a stored database.

**Why is a website I know missing?** It may be outside the chosen bucket, unreadable from our network (see `SUMMARY.unreadableExamples`) or use the technology only on other pages.

**Does a DNS record count as a match?** Only for products that live in DNS (e-mail hosting, e-mail security). A `shopify-verification-code` TXT record or an SPF include does not make a website a Shopify store: the platform must be seen on the page.

**Are adult websites included?** No by default (`excludeAdultSites`): pages with an adult label or adult words in the title or domain are skipped for free.

### Support

Open an issue in the **Issues** tab with your input and the run link. Issues are checked regularly.

# Actor input Schema

## `technologies` (type: `array`):

Product names or categories, one per line, e.g. Shopify, WooCommerce, WordPress, HubSpot, Klaviyo, Google Workspace, or a category such as E-commerce, CMS or Live chat. Case does not matter; several names can be separated by commas, semicolons or line breaks (for Shopify AND Klaviyo use separate entries plus the option below). Empty = every website that can be read (a top-sites list with each site's tech stack). Unknown names become a result row with errorType "invalid_input" and suggestions (not charged).

## `countries` (type: `array`):

Where the websites are popular: two-letter country codes (US, DE, GB, TW, JP, BR ... 238 countries) or "global" for the worldwide top list. Several countries are merged (best rank first, each domain once). The lists rank websites by Chrome visits from that country; use the domain filters (e.g. TLD "de") for businesses based there.

## `maxRank` (type: `integer`):

Only websites among the top N of the chosen countries by Chrome UX Report rank. The lists come in buckets of 1,000 / 5,000 / 10,000 / 50,000 / 100,000 / 500,000 / 1,000,000 (other values are rounded up to the next bucket; smaller countries list fewer websites). The most popular websites are scanned first.

## `skipTopRank` (type: `integer`):

Start after this rank bucket, e.g. 10000 = skip the top 10,000 websites and scan from the next bucket (mid-sized businesses instead of the biggest brands, which rarely run Shopify or WordPress). 0 = start at the top.

## `requireAllTechnologies` (type: `boolean`):

Off: a website matches when it uses any of the technologies. On: it must use all of them (e.g. Shopify AND Klaviyo).

## `maxResults` (type: `integer`):

The run stops after this many matching websites (each one is charged). This is the most the run can cost.

## `maxSitesToScan` (type: `integer`):

How many candidate websites (in rank order) are checked at most. Scanning is free; only matches are charged. Rare technologies need more scanning: in our tests 2% to 13% of the readable websites matched (Shopify: about 1 in 10 US websites ranked 10K-100K).

## `tlds` (type: `array`):

Keep only domains with these endings, e.g. de, co.uk, com.tw ("uk" matches co.uk and org.uk). Empty = all.

## `domainContains` (type: `array`):

Keep only domains that contain any of these texts, e.g. shop, store, wine.

## `excludeDomains` (type: `array`):

Domains to skip, e.g. your existing customers or a previous run's results (subdomains are skipped too).

## `enrich` (type: `array`):

Optional extra fields for each website found, at no extra cost.

## `includeEmailProvider` (type: `boolean`):

Look up public DNS records (MX, SPF, verification TXT): adds the e-mail provider (Google Workspace, Microsoft 365 ...) and tools verified in DNS, which also count for matching.

## `minConfidence` (type: `string`):

How sure the detection must be for a website to count as a match. Every row lists each technology with its confidence.

## `excludeAdultSites` (type: `boolean`):

Skip websites with an adult content label (RTA, rating meta tag) or adult words in the title or domain (free, not returned).

## `retryBlockedSites` (type: `boolean`):

When a website refuses the request from Apify's network, read its home page once more from our backend (plain HTTP, no browser). Fewer signals are available that way (scripts only).

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

How many websites are read at the same time.

## `siteTimeoutSecs` (type: `integer`):

A website that takes longer is skipped (free).

## Actor input object example

```json
{
  "technologies": [
    "Shopify"
  ],
  "countries": [
    "US"
  ],
  "maxRank": 100000,
  "skipTopRank": 10000,
  "requireAllTechnologies": false,
  "maxResults": 10,
  "maxSitesToScan": 300,
  "enrich": [],
  "includeEmailProvider": true,
  "minConfidence": "high",
  "excludeAdultSites": true,
  "retryBlockedSites": true,
  "maxConcurrency": 16,
  "siteTimeoutSecs": 40
}
```

# Actor output Schema

## `websites` (type: `string`):

No description

## `full` (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 = {
    "technologies": [
        "Shopify"
    ],
    "countries": [
        "US"
    ],
    "maxRank": 100000,
    "skipTopRank": 10000,
    "maxResults": 10,
    "maxSitesToScan": 300
};

// Run the Actor and wait for it to finish
const run = await client.actor("tidytools/website-lists").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 = {
    "technologies": ["Shopify"],
    "countries": ["US"],
    "maxRank": 100000,
    "skipTopRank": 10000,
    "maxResults": 10,
    "maxSitesToScan": 300,
}

# Run the Actor and wait for it to finish
run = client.actor("tidytools/website-lists").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 '{
  "technologies": [
    "Shopify"
  ],
  "countries": [
    "US"
  ],
  "maxRank": 100000,
  "skipTopRank": 10000,
  "maxResults": 10,
  "maxSitesToScan": 300
}' |
apify call tidytools/website-lists --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,tidytools/website-lists"
        }
    }
}
```

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/V2bdPhQNV5k4k0CnM/builds/DKbv8O9WihgHGbVub/openapi.json
