# DealSeek Scraper - Amazon Deals & Promo Codes (`pshivam/dealseek-scraper`) Actor

Scrape DealSeek in 8 countries: Amazon, Walmart and eBay deals with promo codes, coupons, final prices and price history. 20+ filters: discount, rating, brand, seller, category, deal type. No 5,000-result cap, only-new mode. Excel, CSV or API.

- **URL**: https://apify.com/pshivam/dealseek-scraper.md
- **Developed by:** [Shivam Prajapati](https://apify.com/pshivam) (community)
- **Categories:** E-commerce, Business
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 1,000 deals

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

## DealSeek Scraper - Amazon Deals & Promo Codes (dealseek.com)

Get every **DealSeek deal** in **8 countries**: final prices after all discounts, **promo codes** with whether they were verified, coupons, lightning deals, and **Amazon, Walmart and eBay** deals in one table. Add **price history** to see if a discount is real. Over **20 filters** (discount, rating, reviews, brand, seller, category, deal type, expiring soon), **no 5,000-result limit**, and an only-new mode for daily alerts. Export to Excel, CSV, JSON or the API.

**Actively maintained.** Last update: 2026-11-04. Every release passes 300+ automated tests on saved DealSeek data plus a check against the live site, and Apify test-runs it every day.

### What can you use it for?

- **Reselling and retail arbitrage.** Find products far below their usual price, with the code to use, how many sold last month and who sells them.
- **Deal and coupon websites, newsletters and social channels.** Pull fresh verified codes every day. Only-new mode gives you just what you haven't posted yet.
- **Spot fake discounts.** A "70% off" means little if the price was raised last week. Price history shows the real average and how far below it today's deal is.
- **Competitor and supplier monitoring.** Watch a brand or Amazon seller, in several countries, for new codes and price cuts.
- **Price and market research.** Compare discounts by category, country and store over time.

### What data do you get?

Every row has the same columns, whatever the store or country.

| Field | What it is |
|---|---|
| `dealId` | DealSeek's id for this deal. A new price or code makes a new id |
| `title` | Product name |
| `country` | `us`, `uk`, `ca`, `de`, `es`, `fr`, `it` or `au` |
| `currency` | Currency of the prices: USD, GBP, CAD, EUR or AUD |
| `store` | `amazon`, `walmart` or `ebay` |
| `productId` / `parentProductId` | The store's product id (the ASIN on Amazon) and its parent product |
| `brand` | Brand |
| `category` / `subcategory` | As DealSeek writes them in that country |
| `condition` | Condition on Walmart and eBay, e.g. renewed |
| `finalPrice` | **What you pay** after every discount and code |
| `price` | The store's current price before the deal's discounts |
| `listPrice` | The store's "normal" price |
| `savings` | List price (or store price if higher) minus `finalPrice` |
| `discountPercent` | Total discount, all discounts together |
| `priceDropPercent` | How much the store's own price recently dropped |
| `promoCode` / `promoCodes` | The code to type at checkout, and every code that works |
| `promoPercent` | What the code takes off |
| `promoVerified` / `promoVerifiedAt` | Whether DealSeek checked that the code works, and when |
| `couponValue` | The coupon to clip, e.g. 20% or $5.00 |
| `extraDiscount` | An extra discount at checkout |
| `subscribeSavePrice` / `subscribeSaveDiscount` | Price and discount with Subscribe & Save |
| `dealTypes` | Every kind of discount on it: `promoCode`, `coupon`, `lightningDeal`, `priceDrop`, `extraDiscount`, `subscribeAndSave` |
| `hasPromoCode` / `hasCoupon` / `hasLightningDeal` / `hasPriceDrop` | The same as true or false, for easy filtering |
| `isHot` / `isGoodDeal` / `isNameBrand` | DealSeek's labels |
| `isLowestIn3Months` | At its lowest price of the last 3 months |
| `topDealPosition` | Position in Today's Top Deals |
| `expiresAt` | When the deal ends, when known |
| `rating` / `reviewsCount` | Average rating out of 5, and number of ratings |
| `boughtLastMonth` | How many were bought in the past month |
| `likes` / `commentsCount` | Likes and comments on DealSeek |
| `isAmazonChoice` / `isFba` | Amazon's Choice badge; shipped by Amazon |
| `sellerName` / `sellerId` | The Amazon seller's store name and id |
| `color` / `material` / `size` / `sizes` | This variation and the sizes on offer |
| `audiences` | Who it's for in fashion: men, women, kids |
| `variationCount` | Number of variations |
| `upc` | Barcode, when known |
| `dealUrl` | The deal's page on DealSeek (Amazon deals) |
| `productUrl` | The product's page on the store itself, **without tracking tags** |
| `imageUrl` / `imageUrls` | Main image and all images |
| `description` | Full product description (with *Include product descriptions*) |
| `priceHistory` | Every price change, oldest first: date, price, deal price, code, coupon (with *Include price history*) |
| `lowestPrice` / `highestPrice` | Lowest and highest deal price in the history |
| `averagePrice` | Average deal price, weighted by how long each price lasted |
| `belowAveragePercent` | How far `finalPrice` is below `averagePrice`: **is the discount real?** |
| `isLowestEver` | `finalPrice` is at or below the lowest price in the history |
| `firstSeenAt` / `updatedAt` | When DealSeek first saw the product and last updated the deal |
| `scrapedAt` | When it was scraped (UTC) |

#### Example result

```json
{
  "dealId": "B0GWJ1MSPJ-A2DF0WNAHB7658-109.99-55.00----QBF9HASY-50.00%-1794898740-0.00--1-27.00",
  "title": "POWERFUEL Large Vibration Plate Exercise Machine",
  "country": "us",
  "currency": "USD",
  "store": "amazon",
  "productId": "B0GWJ1MSPJ",
  "brand": "POWERFUEL",
  "category": "Sports & Outdoors",
  "subcategory": "Exercise & Fitness",
  "finalPrice": 55,
  "price": 109.99,
  "listPrice": 149.99,
  "savings": 94.99,
  "discountPercent": 63.33,
  "promoCode": "QBF9HASY",
  "promoPercent": 50,
  "promoVerified": true,
  "promoVerifiedAt": "2026-11-04T13:27:28+00:00",
  "dealTypes": ["promoCode"],
  "isLowestIn3Months": true,
  "expiresAt": "2026-11-17T06:59:00Z",
  "rating": 4.6,
  "reviewsCount": 66,
  "boughtLastMonth": 50,
  "isAmazonChoice": true,
  "isFba": true,
  "sellerName": "EliteGyn Gear",
  "dealUrl": "https://dealseek.com/dp/B0GWJ1MSPJ",
  "productUrl": "https://www.amazon.com/dp/B0GWJ1MSPJ"
}
```

### How to use it

1. Pick **Countries** and **Stores**, or leave them empty for US Amazon deals.
2. Optionally add **Search keywords**, **Categories**, **Brands** or **Collections**, and any **Filters**.
3. Set **Maximum deals**, click **Start**, and download the results.

With several countries, stores, keywords or brands, *Maximum deals* is shared fairly between them.

#### Input options

| Option | What it does |
|---|---|
| `countries` | United States, United Kingdom, Canada, Germany, Spain, France, Italy, Australia (empty = United States) |
| `stores` | Amazon (default), Walmart, eBay. Walmart and eBay exist only in the United States |
| `keywords` | What you'd type in DealSeek's search box, e.g. `airpods`. Each one is its own search. Amazon ids work too |
| `categories` | Categories as DealSeek names them (they differ by country), or the groups Tech and Home |
| `subcategories` | Subcategories, e.g. Exercise & Fitness |
| `brands` | Only these brands |
| `sellers` | Only deals from these Amazon sellers, by `sellerId` |
| `collections` | DealSeek's lists: Today's Top Deals, Ending Soon, Under $5, Name Brand Steals and many more |
| `asins` | Check specific Amazon products. You get a row for each one with a live deal |
| `startUrls` | Paste any DealSeek link: product, brand, collection, promo codes, top deals, Amazon, Walmart or eBay page |
| `dealTypes` | Only promo codes, coupons, lightning deals, price drops, extra discounts or Subscribe & Save |
| `minPrice` / `maxPrice` | Final price range, in the country's currency |
| `minDiscount` | Minimum total discount in percent |
| `minRating` | Minimum rating out of 5 |
| `minReviews` / `maxReviews` | Number of reviews (a low maximum finds new products) |
| `minBoughtLastMonth` | Minimum bought in the past month |
| `expiringWithinHours` | Only deals ending soon |
| `condition` | New, used or refurbished (mostly eBay and Walmart) |
| `verifiedCodesOnly` | Only promo codes DealSeek has confirmed |
| `amazonChoiceOnly` | Only Amazon's Choice products |
| `bestSellersOnly` | Only best sellers |
| `lowestIn3MonthsOnly` | Only deals at their lowest price of the last 3 months |
| `fulfilledByAmazonOnly` | Only products Amazon ships |
| `nameBrandsOnly` | Only name brands |
| `hotOnly` | Only hot deals |
| `sort` | Recommended, most popular, price low to high, price high to low, biggest discount |
| `includeDescriptions` | Add full product descriptions |
| `includePriceHistory` | Add price history and the "is it real?" fields |
| `onlyNew` | Skip deals that earlier runs of the same search returned: you get and pay only for new ones. A new price or code counts as new |
| `maxItems` | Stop after this many deals |
| `maxConcurrency` | Requests made at the same time (keep low to be polite) |

### How much does it cost?

You pay **$1.25 per 1,000 deals** returned (plus a tiny $0.00005 per run start). Platform usage is included, and descriptions and price history cost nothing extra.

| Deals | Cost |
|---|---|
| 100 | $0.13 |
| 1,000 | $1.25 |
| 10,000 | $12.50 |
| 50,000 | $62.50 |

Apify's free plan gives you $5 of credit every month: that's about 4,000 deals. Set a spending limit on any run and the scraper stops exactly there. Deals removed by filters on our side are never charged.

### Use it via API, on a schedule, or with your tools

- **Schedule it** daily or hourly to catch new deals and codes.
- **Only new deals:** turn it on in a scheduled run or task and each run returns only deals you haven't had yet.
- **Integrations:** send results to Google Sheets, Slack, e-mail, Zapier, Make or a webhook.
- **API:** run it from your own code and download results as JSON, CSV or Excel.

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("pshivam/dealseek-scraper").call(run_input={
    "countries": ["us", "uk"], "dealTypes": ["promoCode"], "verifiedCodesOnly": True, "minDiscount": 50, "maxItems": 200,
})
for deal in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(deal["title"], deal["finalPrice"], deal["currency"], deal["promoCode"], deal["productUrl"])
```

#### Use it in Clay, n8n, Make or Zapier

Actor: `pshivam/dealseek-scraper`. Paste this input and change the filters to yours:

```json
{"countries": ["us"], "keywords": ["air fryer"], "minDiscount": 40, "maxItems": 500}
```

- **Clay:** create a table from an **Apify** source to pull in the results of a scheduled run of this Actor (it refreshes every 24 hours by default), or use the **Run Apify Actor** enrichment and paste the input.
- **n8n:** add the **Apify** node, choose **Run Actor and get dataset items**, pick this Actor and paste the input.
- **Make:** use **Run an Actor** with *Run synchronously* on, then **Get Dataset Items** with the run's dataset ID.
- **Zapier:** schedule this Actor in Apify, then use the **Finished Actor Run** trigger and **Fetch Dataset Items**.

### Good to know

- **Fast.** Measured on Apify at 256 MB: 100 deals in under a second of scraping, 800 deals across all 8 countries in about 3 seconds, and 8,000 deals in about 75 seconds.
- **No browser, no proxy needed.** It reads the same public data DealSeek's website uses, 120 deals per request.
- **No 5,000-result limit.** DealSeek serves at most 5,000 deals per search, so a bigger run reads the search in price ranges and you get everything. A group of over 5,000 deals at one exact price is read up to about 4,900.
- **Almost no repeated or missed deals on big runs.** DealSeek's default, popular and discount orders shift between pages: reading 4,920 deals in them gave 254 to 387 repeats, and each repeat is a deal you never see. Price order gave none in that test and under 1% on an 8,000-deal run, so runs over 4,000 deals are read in price order. Sort the results yourself after the run. Repeats are never charged.
- **Walmart** deals come biggest discount first unless you pick another order, because DealSeek's default order for Walmart often times out.
- **Keywords** work best on Amazon deals: DealSeek's search finds little or nothing on Walmart and eBay, so use categories and filters there.
- **Price drops, extra discounts, Subscribe & Save** and a few other filters are checked on our side, so a run may read more deals than it returns. You aren't charged for the ones it skips.
- **Price history** takes one extra request per deal, so it runs at about 3 deals a second. Without it, a run is far faster.
- **What the history shows:** DealSeek's record of the store's prices, which often leaves out promo codes that were live at the time. Today's `finalPrice` does include them, so a deal with a code can look lower than anything in the history.
- **DealSeek's service** sometimes times out on its own side. The scraper waits and retries, so a run may pause for a moment.

### This scraper vs. the alternatives

| | This scraper | Other DealSeek scrapers | Checking DealSeek by hand |
|---|---|---|---|
| Countries | 8 in one run | United States | One at a time |
| Stores | Amazon, Walmart, eBay | Amazon | One at a time |
| Results | Every deal, past DealSeek's 5,000 per search, almost no repeats | Often limited | One page at a time |
| Price history and "is it real?" | Yes | - | One product at a time |
| Verified code filter | Yes | - | By eye |
| Filters applied | By DealSeek before download | Often after download | By hand |
| Brands, sellers, collections, reviews, expiring soon | Yes | Partly | By hand |
| Only new deals each day | Built in (`onlyNew`) | Sometimes | Compare lists yourself |
| Cost | $1.25 per 1,000 deals | From $1.80 per 1,000 | Your time |

### FAQ

#### What is DealSeek?

DealSeek (dealseek.com) is a deals website and app that collects discounts and promo codes on Amazon, Walmart and eBay. It runs in the US, UK, Canada, Germany, Spain, France, Italy and Australia.

#### How many deals are there?

Over 80,000 in the US alone, and they change all the time.

#### How much does it cost?

$1.25 per 1,000 deals (platform usage included), so 100 deals cost about $0.13.

#### How do I get only promo codes that work?

Set **Deal types** to Promo codes and turn on **Verified promo codes only**. `promoVerifiedAt` shows when each code was last checked.

#### How do I know a discount is real?

Turn on **Include price history**. `averagePrice` is what the product usually costs, `belowAveragePercent` is how far below that today's deal is, and `isLowestEver` says if it has never been cheaper. Sort or filter on them in the **Is it a real deal?** view.

#### How do I get only new deals every day?

Save your search as a task, turn on **Only new deals** and schedule it daily. Each run then skips deals earlier runs returned, so you get and pay only for ones you haven't had. Tip: set *Maximum deals* above the number of deals your search has, so the first run gets them all and later runs return just the new ones.

#### Can I scrape Walmart and eBay deals?

Yes, in the United States. Pick them in **Stores**. Their rows have the same columns, with the store's own id and link. Amazon-only fields such as `sellerName` are empty.

#### Can I check specific products?

Yes. Put Amazon ids in **Amazon products (ASINs)** or paste DealSeek product links. You get a row for each product with a live deal.

#### Is it legal to scrape DealSeek?

This scraper reads public deals through the same service DealSeek's website uses, at a polite speed, and collects no personal data. You are responsible for how you use the data; check the site's terms for your use case.

### More scrapers

- [CeX Scraper - Prices, Trade-In Values & Stock](https://apify.com/pshivam/cex-scraper): second-hand phones, games and laptops at CeX in 11 countries, with sell prices, trade-in values and stock by store.
- [Trade Show Scraper - Worldwide Trade Fair Calendar](https://apify.com/pshivam/trade-show-scraper): trade shows and exhibitions worldwide with dates, venue, city, country, industries and the official website.
- [BusinessBroker.net Scraper - Businesses for Sale](https://apify.com/pshivam/businessbroker-net-scraper): US businesses for sale with asking price, revenue, cash flow and location.

# Actor input Schema

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

DealSeek countries to scrape, in one run. Empty = United States. Prices are in each country's currency, and links go to that country's Amazon.

## `stores` (type: `array`):

Which store's deals. Empty = Amazon. Walmart and eBay deals exist only in the United States.

## `keywords` (type: `array`):

What you'd type in DealSeek's search box, e.g. "airpods" or "air fryer". Each keyword is its own search. Empty = all deals. An Amazon product id (ASIN) works too.

## `categories` (type: `array`):

Only these categories (Electronics, Home & Kitchen, ...), or the groups Tech and Home. Names differ by country, e.g. Fashion in the UK.

## `subcategories` (type: `array`):

Only these subcategories, e.g. Exercise & Fitness or Bedding, written as DealSeek writes them.

## `brands` (type: `array`):

Only these brands, e.g. Sony. Each brand is its own search.

## `sellers` (type: `array`):

Only deals from these Amazon sellers, by seller id (the sellerId field in results), to watch a competitor or supplier. Each seller is its own search.

## `collections` (type: `array`):

DealSeek's ready-made lists, e.g. Today's Top Deals, Ending Soon or Under $5. Most exist in the US, UK, Canada and Germany; Top Deals and Top Promo Codes in every country.

## `asins` (type: `array`):

Check specific products by Amazon id, e.g. B08D3V51K9. You get a row for each one that has a live deal, in the selected countries. Filters don't apply to these.

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

Optional: paste DealSeek links from any country: a product, brand, collection, promo codes, top deals, Amazon, Walmart or eBay page.

## `dealTypes` (type: `array`):

Only deals with at least one of these.

## `minPrice` (type: `number`):

Skip deals that end up cheaper than this, in the country's currency.

## `maxPrice` (type: `number`):

Skip deals that end up dearer than this, in the country's currency.

## `minDiscount` (type: `integer`):

Only deals with at least this much off, counting every discount together.

## `minRating` (type: `number`):

Only products rated at least this, out of 5.

## `minReviews` (type: `integer`):

Only products with at least this many reviews.

## `maxReviews` (type: `integer`):

Only products with at most this many reviews, to find new sellers and products.

## `minBoughtLastMonth` (type: `integer`):

Only products bought at least this many times in the past month.

## `expiringWithinHours` (type: `integer`):

Only deals ending within this many hours.

## `condition` (type: `string`):

New, used or refurbished. Mostly for eBay and Walmart deals.

## `verifiedCodesOnly` (type: `boolean`):

Only deals whose promo code DealSeek has checked and confirmed.

## `amazonChoiceOnly` (type: `boolean`):

Only products with the Amazon's Choice badge.

## `bestSellersOnly` (type: `boolean`):

Only products DealSeek marks as best sellers (few deals have this).

## `lowestIn3MonthsOnly` (type: `boolean`):

Only deals at their lowest price of the last 3 months.

## `fulfilledByAmazonOnly` (type: `boolean`):

Only products Amazon itself ships.

## `nameBrandsOnly` (type: `boolean`):

Only products DealSeek counts as name brands.

## `hotOnly` (type: `boolean`):

Only deals DealSeek marks as hot.

## `sort` (type: `string`):

Order of the results, as on DealSeek. Runs over 4,000 deals are read in price order instead, because the other orders repeat deals on deep pages and miss others.

## `includeDescriptions` (type: `boolean`):

Add each Amazon product's full description. Same price; a little slower.

## `includePriceHistory` (type: `boolean`):

Add each product's price history, its lowest, highest and average price, and how far below average today's deal really is. Same price, but one extra request per deal: about 3 deals a second.

## `onlyNew` (type: `boolean`):

Skip deals that earlier runs of this same search already returned, so you never get or pay for the same deal twice. Turn it on for a scheduled run or a saved task to get only what's new each time. The first run works as usual and remembers what it returned, in your key-value store 'dealseek-scraper-only-new' (delete it to start over). A new price or code on a product counts as a new deal.

## `maxItems` (type: `integer`):

Stop after this many deals. You are charged per deal.

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

Requests made at the same time. Keep it low to be polite to the website.

## Actor input object example

```json
{
  "countries": [
    "us"
  ],
  "verifiedCodesOnly": false,
  "amazonChoiceOnly": false,
  "bestSellersOnly": false,
  "lowestIn3MonthsOnly": false,
  "fulfilledByAmazonOnly": false,
  "nameBrandsOnly": false,
  "hotOnly": false,
  "sort": "recommended",
  "includeDescriptions": false,
  "includePriceHistory": false,
  "onlyNew": false,
  "maxItems": 100,
  "maxConcurrency": 4
}
```

# Actor output Schema

## `deals` (type: `string`):

One row per deal, shown with the overview view.

## `promoCodes` (type: `string`):

Codes, coupons, whether a code is verified, and when the deal ends.

## `priceCheck` (type: `string`):

Today's price against the product's price history (with Include price history on).

## `runStats` (type: `string`):

Requests made, time spent and number of deals for this run (RUN_STATS record).

# 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 = {
    "countries": [
        "us"
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("pshivam/dealseek-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 = {
    "countries": ["us"],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("pshivam/dealseek-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 '{
  "countries": [
    "us"
  ],
  "maxItems": 100
}' |
apify call pshivam/dealseek-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,pshivam/dealseek-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/2MKPPDTbOJokwtx9d/builds/TMOUdgZuHHZIjqsbD/openapi.json
