# eBay Sold Listings + Seller Intelligence (10 marketplaces) (`trakk/ebay-seller-intelligence`) Actor

Two modes in one actor. SELLER: paste any eBay URL (/usr/, /str/, /itm/), get a JSON record with feedback, DSR, 90-day GMV, sell-through, repeat-buyer ratio, tier. KEYWORD: paste phrases, get sold/active listings with prices. 10 marketplaces, multilingual, pay-per-event ($5-15/1k).

- **URL**: https://apify.com/trakk/ebay-seller-intelligence.md
- **Developed by:** [Blynx](https://apify.com/trakk) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.005 / seller profile

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## eBay Seller Intelligence + Keyword Search

**Two scrapers in one Apify Actor.** Paste a seller URL and get a full intelligence record (feedback, DSR, GMV, tier). Or paste keywords and get a list of matching listings (sold or active) across 10 eBay marketplaces.

> Drop-in replacement for **ZIK Analytics**, **Algopix**, **Terapeak Research** and most standalone eBay scrapers - pay per result, no subscription.

---

### Two modes

#### 1. SELLER_INTELLIGENCE (default)

Paste any eBay URL pointing to a seller -> get one rich JSON record:

- **Identity** - username, profile URL, avatar, country
- **Reputation** - lifetime feedback score, star-tier (1-13), positive %, total feedback received, revised feedback count
- **Profile flags** - Top Rated Seller, ID Verified, Business Seller, eBay Store + store URL
- **Feedback breakdown** - 1-month / 6-month / 12-month positive / neutral / negative matrix
- **Detailed Seller Ratings (DSR)** - Accurate description, Reasonable shipping cost, Shipping speed, Communication (rating + count)
- **Active listings** - total count + sample (title, price, condition)
- **Sold last 90 days** - total count + price sample -> GMV estimate
- **Marketplace intelligence** - `monthlyGmvEstimate`, `annualGmvEstimate`, `sellVelocityPerDay`, `sellThroughRate`, `repeatBuyerRatio`, `feedbackVelocity`, `tier` (`SOLO` / `SIDE_HUSTLE` / `GROWING` / `POWER_SELLER` / `ENTERPRISE` / `MEGA`)
- **Global intelligence** - `globalTier`, `globalMonthlyGmvEstimate`, `globalAnnualGmvEstimate`, `globalCurrency` (always derived from feedback velocity / prices, regardless of marketplace - lets you compare sellers across countries)
- **Currency** - 3 perspectives: `currency` (marketplace), `globalCurrency` (buyer-mix), `sellerCurrency` (seller's home country - what they list in)
- **Source transparency** - `tierSource` (`sold_90d` / `feedback_velocity`) and `gmvEstimateSource` (`sold_90d` / `feedback_prices`)
- **Recent feedback** - 25 most recent reviews with buyer pseudonym, item ID, price, comment, date bucket, verified-purchase flag

#### 2. KEYWORD_SEARCH

Paste search keywords + filters -> get one row per matching listing:

- **Per-listing data** - listingId, title, subtitle, priceText, priceAmount, currency, soldDate, itemUrl
- **Filters** - listingType (SOLD / ACTIVE / COMPLETED), daysToScrape (1-90), count, category ID, sortOrder, minPrice, maxPrice, condition, itemLocation
- **Optional `detailedSearch`** - visit each /itm/{ID} page for full description, item specifics, seller info
- **Multilingual sold markers** - parses Sold / Verkauft / Vendu / Vendut[oaie] / Vendido / Verkocht across all 10 sites
- **Locale-tolerant prices** - handles US `$1,234.56`, DE `EUR 1.234,56`, FR `1 234,56 EUR`, etc.

---

### Why this is better

| Feature | This Actor | ZIK Analytics | Algopix | Other Apify scrapers |
|---|---|---|---|---|
| GMV / month estimate | yes | yes | no | no |
| Global tier across marketplaces | yes | no | no | no |
| Sell-through rate | yes | yes | no | no |
| DSR (4 axes) | yes | no | no | no |
| Repeat-buyer ratio | yes | no | no | no |
| 1m / 6m / 12m feedback matrix | yes | no | no | no |
| Keyword search (sold/active) | yes | yes | no | yes (separate actors) |
| 10 international eBay sites | yes | no | yes | partial |
| Pay-per-event | yes ($5-15 / 1k seller, $1 / 1k listing) | no ($30+/mo) | no ($35+/mo) | mixed |
| Auto-resolve any eBay URL form | yes (/usr/, /str/, /fdbk/, /sch/, /itm/) | no | no | rarely |
| API / Apify integrations (Make, Zapier, n8n) | yes | no | no | yes |

---

### Input - mode 1: SELLER_INTELLIGENCE

```json
{
  "mode": "SELLER_INTELLIGENCE",
  "profileUrls": [
    { "url": "https://www.ebay.com/usr/musicmagpie" },
    { "url": "https://www.ebay.es/str/htowngadgets" },
    { "url": "https://www.ebay.fr/itm/389695915817" }
  ],
  "ebaySite": "EBAY_US"
}
````

| Field | Description |
|---|---|
| `mode` | `SELLER_INTELLIGENCE` (default) or `KEYWORD_SEARCH` |
| `profileUrls` | **Primary input.** Paste any eBay URL: `/usr/{user}`, `/fdbk/feedback_profile/{user}`, `/str/{slug}`, `stores.ebay.com/{slug}`, `/sch/i.html?_ssn={user}`, `/sch/{user}/m.html`, or any `/itm/{ID}` item page. Actor auto-resolves to the technical username (HTTP fetch + JSON parse for item / store URLs). |
| `usernames` | Optional raw username slugs (advanced). Display names with spaces are lower-cased + space-stripped (best-effort, ~70% match rate). For mismatches the actor falls back to /str/{name} URL resolution. |
| `datasetId` | Optional Apify dataset id from a previous run. Items with `seller`, `sellerName`, `username`, or `profileUrl` fields are auto-extracted. |
| `ebaySite` | `EBAY_US`, `EBAY_UK`, `EBAY_DE`, `EBAY_FR`, `EBAY_IT`, `EBAY_ES`, `EBAY_CA`, `EBAY_AU`, `EBAY_IE`, `EBAY_NL`. Proxy country is auto-overridden to match (e.g. EBAY\_DE -> DE proxy). |
| `includeActiveListings` | Fetch the active-listings SRP for count + sample (default `true`). |
| `includeSoldListings` | Fetch the sold-90-days SRP for count + sample -> GMV (default `true`). |
| `includeRecentFeedback` | Include the 25 most recent feedback comments in the output (default `true`). |
| `sampleListings` | How many items to keep in each sample array (0-60, default 25). |
| `maxConcurrency` | Parallel sellers (default 5). |
| `maxRetries` | Per-URL retries for 429 / 5xx / parse errors (default 5). |
| `rawOutput` | If `true`, every record carries `_raw.feedbackHtml` for debugging. |

#### Filters (post-fetch, mode 1 only)

Filters drop records *before* they are pushed and charged.

| Filter | Description |
|---|---|
| `minFeedbackScore` | Drop sellers below this lifetime feedback score. |
| `minPositivePercent` | Drop sellers below this positive-feedback % (0-100). |
| `countries` | Allow-list of countries. Accepts ISO codes (`"US"`, `"UK"`, `"DE"`) and full names. |
| `mustBeTopRated` | Drop everyone without the Top Rated Seller badge. |
| `mustHaveStore` | Drop everyone without an eBay Store. |
| `mustBeBusinessSeller` | Drop personal sellers, keep only registered businesses. |
| `minMonthlyGmvEstimate` | Drop sellers below this estimated monthly GMV. |
| `minActiveListings` | Drop sellers with fewer active listings than this. |
| `minSoldLast90Days` | Drop dormant sellers below this 90-day sold count. |
| `tiers` | Allow-list of tier labels: `["POWER_SELLER", "ENTERPRISE", "MEGA"]`. |

**Filtered records are not charged.** A `mustBeTopRated + countries=["US"]` filter that drops 80 of 100 sellers cuts the bill by 80%.

***

### Input - mode 2: KEYWORD\_SEARCH

```json
{
  "mode": "KEYWORD_SEARCH",
  "keywords": ["iphone 15 pro max", "samsung galaxy s24 ultra"],
  "listingType": "SOLD",
  "daysToScrape": 30,
  "count": 100,
  "category": 9355,
  "sortOrder": "endedRecently",
  "minPrice": 400,
  "maxPrice": 1500,
  "condition": "USED",
  "ebaySite": "EBAY_US"
}
```

| Field | Description |
|---|---|
| `keywords` | List of search phrases. Each becomes a separate /sch/i.html query. |
| `listingType` | `SOLD` (last 90 days, default), `ACTIVE` (live now), `COMPLETED` (sold or expired). |
| `daysToScrape` | How many days back to scan for SOLD/COMPLETED (1-90, default 30). |
| `count` | Max items per keyword (1-10000, default 100). |
| `category` | Optional eBay category ID (`58058` = Electronics, `9355` = Cell Phones & Smartphones, `11450` = Clothing, `6000` = Motors, `267` = Books, etc.). |
| `sortOrder` | `endedRecently`, `newlyListed`, `endingSoonest`, `priceLowest`, `priceHighest`, `bestMatch`. |
| `minPrice` / `maxPrice` | Price range in marketplace currency. |
| `condition` | `ANY`, `NEW`, `NEW_OTHER`, `MANUFACTURER_REFURBISHED`, `SELLER_REFURBISHED`, `USED`, `FOR_PARTS_NOT_WORKING`. |
| `itemLocation` | `DEFAULT`, `LOCAL_COUNTRY`, `WORLDWIDE`. |
| `detailedSearch` | If `true`, fetch each /itm/{ID} page for full description and seller info. Roughly doubles cost and latency. |

***

### Output - mode 1: SELLER\_INTELLIGENCE

```json
{
  "username": "musicmagpie",
  "profileUrl": "https://www.ebay.com/usr/musicmagpie",
  "feedbackProfileUrl": "https://www.ebay.com/fdbk/feedback_profile/musicmagpie",
  "ebaySite": "EBAY_US",
  "scrapedAt": "2026-05-11T12:00:00+00:00",

  "feedbackScore": 13775056,
  "feedbackStarTier": 12,
  "positiveFeedbackPercent": 99.1,
  "totalFeedbackReceived": 21131790,

  "memberSinceDate": "Feb-02-11",
  "memberSinceCountry": "United Kingdom",
  "isTopRated": true,
  "isIdVerified": true,
  "isBusinessSeller": true,
  "hasStore": true,
  "storeUrl": "https://stores.ebay.com/musicmagpie",

  "feedbackBreakdown": {
    "1m":  { "positive": 156496,  "neutral": 1105,  "negative": 715  },
    "6m":  { "positive": 871631,  "neutral": 6467,  "negative": 3735 },
    "12m": { "positive": 1565989, "neutral": 13459, "negative": 8594 }
  },
  "feedbackVelocity": {
    "feedbackPerDay30d":  5277.20,
    "feedbackPerDay180d": 4899.07,
    "feedbackPerDay365d": 4350.80
  },
  "detailedSellerRatings": [
    { "name": "Accurate description",     "rating": 4.9, "ratingsCount": 230861 },
    { "name": "Reasonable shipping cost", "rating": 5.0, "ratingsCount": 710415 },
    { "name": "Shipping speed",           "rating": 4.9, "ratingsCount": 270651 },
    { "name": "Communication",            "rating": 5.0, "ratingsCount": 627234 }
  ],

  "activeListingsCount": 190000,
  "activeListingsIsCapped": false,
  "activeListingsSample": [...3 items...],

  "soldLast90DaysCount": 93000,
  "soldSamplePriceStats": { "min": 3.01, "max": 7.39, "mean": 4.80, "median": 4.58 },
  "averageSoldPrice": 4.80,
  "gmv90dEstimate": 446400.00,
  "monthlyGmvEstimate": 148800.00,
  "annualGmvEstimate": 1785600.00,
  "soldVelocityPerDay": 1033.33,
  "currency": "USD",
  "gmvEstimateSource": "sold_90d",

  "sellThroughRate": 0.328,
  "repeatBuyerRatio": 0.3077,
  "tier": "MEGA",
  "tierSource": "sold_90d",

  "globalTier": "MEGA",
  "globalMonthlyGmvEstimate": 158316.00,
  "globalAnnualGmvEstimate": 1899792.00,
  "globalCurrency": "GBP",
  "sellerCurrency": "GBP",

  "recentFeedback": [...25 items...]
}
```

#### Three currencies explained

| Field | Source | Meaning |
|---|---|---|
| `currency` | Most-common currency in sold-listings sample | What buyers see/pay on the chosen marketplace |
| `globalCurrency` | Most-common currency in recent feedback prices | Buyer-mix currency (e.g. CAD for a US seller with mostly Canadian buyers) |
| `sellerCurrency` | Derived from `memberSinceCountry` -> ISO | Seller's home-market currency (what they list in) |

When `currency` and `sellerCurrency` differ, you're seeing a cross-border seller (e.g. US seller on EBAY\_CA gets `currency=CAD`, `sellerCurrency=USD`).

#### Two tier perspectives

| Field | Source | Use when |
|---|---|---|
| `tier` | sold-listings count on the chosen marketplace, or feedback velocity when sold is unavailable | Comparing marketplace-specific scale |
| `globalTier` | Always 30-day feedback velocity (global) | Comparing sellers across marketplaces |

A UK MEGA seller queried via EBAY\_US shows `tier=SOLO` (their US sold count is tiny) but `globalTier=MEGA` (worldwide they're huge).

***

### Output - mode 2: KEYWORD\_SEARCH

One row per listing:

```json
{
  "keyword": "iphone 15 pro max",
  "ebaySite": "EBAY_DE",
  "listingType": "SOLD",
  "listingId": "267659233833",
  "title": "Apple iPhone 15 Pro Max 256GB Titan Schwarz",
  "subtitle": "Gebraucht |",
  "priceText": "EUR 925,00",
  "priceAmount": 925,
  "currency": "EUR",
  "soldDate": "11. Mai 2026",
  "itemUrl": "https://www.ebay.com/itm/267659233833",
  "scrapedAt": "2026-05-11T12:00:00+00:00"
}
```

With `detailedSearch=true` rows also include `seller` (technical username) and `detailTitle` (full title from the listing page) plus the on-page sold counter.

***

### Seller-tier classification

`tier` and `globalTier` use a coarse label based on **monthly sold volume**:

| Tier | Monthly sold | Profile |
|---|---|---|
| `SOLO` | 0-5 | Hobbyist, garage clean-out |
| `SIDE_HUSTLE` | 6-49 | Part-time arbitrageur |
| `GROWING` | 50-249 | Full-time individual |
| `POWER_SELLER` | 250-999 | Small business |
| `ENTERPRISE` | 1 000-9 999 | eBay Store / brand outlet |
| `MEGA` | 10 000+ | Top 0.1% |

For `tier`, monthly\_sold comes from sold-90d / 3 when available, or 30-day feedback velocity as fallback. `globalTier` always uses feedback velocity (cross-marketplace consistent).

***

### Use cases

- **Competitor research** - size up rivals before listing in their category
- **Investor due diligence** - verify GMV claims of acquisition targets
- **Wholesale outreach** - find Top-Rated power-sellers in your niche
- **Price discovery** - get the sold-price distribution for any product across 10 marketplaces (KEYWORD\_SEARCH)
- **Cross-marketplace arbitrage** - same product, different marketplaces, compare prices in local currency
- **Repricing engines** - feed seller velocity data into dynamic pricing
- **Trend monitoring** - track DSR drift across a panel of competitors
- **Brand protection** - detect counterfeit-seller patterns by feedback velocity

***

### Pricing

**Tiered pay-per-event. You pay only for what you fetch.**

#### SELLER\_INTELLIGENCE mode

| Event | Price | What you get | Charged when |
|---|---|---|---|
| `seller_profile` | $5 / 1k | Username, lifetime feedback, %, 1m/6m/12m matrix, DSR, badges, country, recent feedback, repeat-buyer ratio, feedback velocity, seller tier, **globalTier + globalGmv** | Always (per pushed record) |
| `seller_active_summary` | +$3 / 1k | Active listings count + sample | When `includeActiveListings=true` and the fetch succeeded |
| `seller_sold_intelligence` | +$7 / 1k | 90-day sold count, sample, GMV estimate (monthly/annual), sold velocity, sell-through rate | When `includeSoldListings=true` and the fetch succeeded |
| **Bundled max** | **$15 / 1k** | All of the above | When all three fetches succeeded |

| Mode | Per-1k cost | Use case |
|---|---|---|
| Profile-only (`includeActiveListings=false, includeSoldListings=false`) | $5 | Bulk reputation lookup |
| Profile + active | $8 | Wholesale-outreach prospecting |
| Profile + sold + GMV | $12 | Investor due diligence |
| Full intelligence | $15 | Competitor research |

#### KEYWORD\_SEARCH mode

| Event | Price | Charged when |
|---|---|---|
| `listing_item` | $1 / 1k | One per pushed listing |

Failed sub-fetches and **filtered records are not charged.**

Apify's free $5 monthly credit covers ~330 full-bundle seller profiles or ~5 000 keyword-search listings.

***

### Anti-bot resilience

- **Marketplace + feedback proxy separation** - marketplace requests use a country-matched residential IP (EBAY\_DE -> DE proxy) so eBay returns local-inventory listings instead of "ships to US" filtered results. Feedback requests always go through a US IP so eBay.com returns the seller's home currency without display-conversion.
- **3 independent retry budgets** - proxy errors (5), bot-wall challenges (5), and transient HTTP errors (5) all have separate counters.
- **Soft-block detection** - degraded SRP layouts (cards rendered but count heading missing) trigger an IP rotation.
- **Signin-redirect detection** - eBay's "Sign in to see sold history" redirect is caught and retried with a fresh IP.
- **Multilingual sold markers** - `Sold` / `Verkauft` / `Vendu(e)s?` / `Vendut[oaie]` / `Vendido(s)?` / `Verkocht`.
- **Locale-tolerant numbers** - `_to_int` accepts US (`1,234`), DE/IT/ES (`1.234`), FR/NL (`1 234`), and non-breaking-space (`1\xa0234`) thousand separators.

***

### Run locally

```bash
git clone <repo>
cd ebay-seller-intelligence
pip install -r requirements.txt
apify run                    ## uses storage/key_value_stores/default/INPUT.json
## or
python -m src
```

#### Deploy

```bash
npm install -g apify-cli      ## requires Node.js 22+
apify login                   ## or: apify login --token YOUR_API_TOKEN

deploy.bat                    ## Windows
./deploy.sh                   ## macOS / Linux / WSL
```

The deploy script verifies the Apify CLI is installed, that you're logged in, and that `.actor/actor.json` exists before pushing. On success it opens the Actor's page in your browser.

***

### FAQ

**Q: Do I need an eBay developer / Trading API key?**
No. The actor extracts only publicly visible data - exactly what any visitor to ebay.com can see.

**Q: Why are some counts shown as "10,000+" or "4,000+"?**
Those are eBay's own display caps on its search UI. The actor surfaces a `*IsCapped` flag and treats the headline number as a floor.

**Q: Can I get the actual sales of every item, not a sample?**
For SELLER mode, the actor captures up to 60 sold-listings sample by default. For full per-item dumps use KEYWORD\_SEARCH mode with `count=10000`.

**Q: Which marketplaces are supported?**
US, UK, DE, FR, IT, ES, CA, AU, IE, NL. Set `ebaySite` accordingly.

**Q: How fast is it?**
\~3-6 seconds per seller (mode 1). ~5-15 seconds per 240-item page (mode 2). With `maxConcurrency: 10` you can profile 1 000 sellers in ~10 minutes.

**Q: What happens if a username/URL doesn't exist?**
The actor pushes `{"username": "...", "ebaySite": "...", "error": "..."}` and continues. Failures never abort the run.

**Q: Can I integrate with Make / Zapier / n8n / Google Sheets?**
Yes. Apify provides native integrations and webhooks for all major automation platforms.

**Q: Why does `currency` differ from `sellerCurrency`?**
Cross-border seller. `currency` is what buyers see on the chosen marketplace (e.g. CAD on EBAY\_CA), `sellerCurrency` is the seller's home-market currency (e.g. USD for a US seller). Both are useful - one for marketplace context, one for seller home view.

***

### Tags

`ebay scraper` `ebay seller analytics` `ebay competitor research` `zik analytics alternative` `algopix alternative` `terapeak alternative` `gmv estimator` `seller intelligence` `ebay api` `ebay reseller tools` `ebay store research` `ebay arbitrage` `ebay dropshipping` `ebay sold listings` `ebay feedback scraper` `ebay top rated` `repeat buyer analysis` `sell-through rate` `ecommerce competitor analysis` `ebay power seller` `apify ebay` `ebay keyword search` `ebay price research`

***

Built for [Apify](https://apify.com)

# Actor input Schema

## `mode` (type: `string`):

SELLER\_INTELLIGENCE: profile/feedback/GMV intelligence per seller (default). KEYWORD\_SEARCH: paginated /sch/i.html search by keyword + filters (active or sold listings).

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

Product / brand / model names to search for. Each phrase becomes a separate /sch/i.html query on the chosen eBay site. Used in KEYWORD\_SEARCH mode.

## `listingType` (type: `string`):

Which listings to fetch. SOLD: completed orders in the last ~90 days (default - best for price research). ACTIVE: currently live listings. COMPLETED: ended (sold OR unsold).

## `daysToScrape` (type: `integer`):

How many days back to scan (only for SOLD/COMPLETED). Sold dates older than this cutoff are skipped. Max 90 (eBay's hard cap).

## `count` (type: `integer`):

Upper bound on items pulled per keyword. Pagination stops when this count is reached or eBay runs out of results.

## `category` (type: `integer`):

eBay category number ID (e.g. 58058 = Computers/Tablets/Networking, 6000 = eBay Motors, 11450 = Clothing). Empty/0 = All Categories.

## `sortOrder` (type: `string`):

eBay's \_sop sort parameter.

## `minPrice` (type: `integer`):

Lower bound on listing price (in the marketplace's currency). Empty = no lower bound.

## `maxPrice` (type: `integer`):

Upper bound on listing price. Empty = no upper bound.

## `itemLocation` (type: `string`):

Where the item is located. DEFAULT respects the marketplace's natural setting; LOCAL\_COUNTRY restricts to the marketplace's country; WORLDWIDE allows any.

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

Item-condition filter. ANY = no filter.

## `detailedSearch` (type: `boolean`):

When enabled, also fetch each /itm/{ID} page for full description, item specifics, and seller info. Roughly doubles per-listing cost and latency.

## `profileUrls` (type: `array`):

Paste any eBay URL pointing to the seller - actor auto-resolves to the seller's username. Supported forms: profile (/usr/{user}, /fdbk/feedback\_profile/{user}), store (/str/{slug}, stores.ebay.com/{slug}), search-by-seller (/sch/i.html?\_ssn={user}, /sch/{user}/m.html), or ANY item listing (/itm/{ID} - actor fetches the page and pulls the seller from its JSON payload).

## `usernames` (type: `array`):

Optional raw username slugs (e.g. "musicmagpie"). For most cases prefer the URL field above - it auto-resolves any eBay URL form. Display names with spaces are normalised lowercase + no-spaces (best-effort).

## `datasetId` (type: `string`):

Optional Apify dataset id (e.g. from a previous eBay listings scraper run). Items are expected to expose a `seller`, `sellerName`, `sellerUsername`, `username`, or `profileUrl` field.

## `ebaySite` (type: `string`):

Which eBay marketplace to query. Affects the feedback / listings / sold URLs and the assumed currency.

## `includeActiveListings` (type: `boolean`):

Fetch /sch/i.html?\_ssn={user} to extract total active listings count and a sample of titles/prices/conditions. Disabling skips that request and shrinks runtime by ~30%.

## `includeSoldListings` (type: `boolean`):

Fetch /sch/i.html?\_ssn={user}\&LH\_Sold=1\&LH\_Complete=1 to extract sold count and prices for GMV / velocity / sell-through estimates. The 90-day window is set by eBay.

## `includeRecentFeedback` (type: `boolean`):

Include the 25 most recent feedback comments (buyer pseudonym, price, item id, comment, date bucket) on the output. Always pulled to compute the repeat-buyer ratio - disabling only suppresses the array.

## `sampleListings` (type: `integer`):

How many active / sold listings to keep in the sample arrays (titles, prices, conditions). Doesn't affect the count totals or GMV estimate. 0 → no sample.

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

How many sellers to process in parallel. Each seller fans out to up to 3 internal HTTP requests; effective HTTP concurrency is roughly 3× this number.

## `maxRetries` (type: `integer`):

Retries on 403/429/5xx and bot-block pages (in addition to dedicated proxy/captcha retry budgets).

## `proxy` (type: `object`):

Apify proxy configuration. US residential proxies are the default and strongly recommended - eBay aggressively blocks datacenter ASNs.

## `rawOutput` (type: `boolean`):

If enabled, each item also contains the raw HTML of the feedback profile page under `_raw.feedbackHtml`. Heavy - only useful for debugging.

## `minFeedbackScore` (type: `integer`):

Drop sellers with a lifetime feedback score below this threshold. Common values: 100 (drop hobbyists), 1000 (drop small sellers), 10 000 (drop everyone but power sellers).

## `minPositivePercent` (type: `integer`):

Drop sellers below this positive-feedback percentage (12-month). Common values: 95, 98, 99.

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

Only push sellers registered in one of these countries. Accepts ISO codes ("US", "UK", "DE") and full names ("United Kingdom", "Germany"). Empty = no country filter.

## `mustBeTopRated` (type: `boolean`):

When true, drop everyone without the Top Rated Seller badge.

## `mustHaveStore` (type: `boolean`):

When true, drop everyone without an eBay Store subscription.

## `mustBeBusinessSeller` (type: `boolean`):

When true, drop personal/individual sellers and keep only sellers registered as businesses.

## `minMonthlyGmvEstimate` (type: `integer`):

Drop sellers below this estimated monthly GMV in the marketplace currency. Requires sold-listings collection to be enabled.

## `minActiveListings` (type: `integer`):

Drop sellers with fewer active listings than this. Requires active-listings collection to be enabled.

## `minSoldLast90Days` (type: `integer`):

Drop dormant sellers below this sold-90-days count. Requires sold-listings collection to be enabled.

## `tiers` (type: `array`):

Only push sellers whose computed tier is in this list. Empty = no tier filter.

## Actor input object example

```json
{
  "mode": "SELLER_INTELLIGENCE",
  "keywords": [
    "iphone 15 pro max"
  ],
  "listingType": "SOLD",
  "daysToScrape": 30,
  "count": 100,
  "sortOrder": "endedRecently",
  "itemLocation": "DEFAULT",
  "condition": "ANY",
  "detailedSearch": false,
  "profileUrls": [
    {
      "url": "https://www.ebay.com/usr/musicmagpie"
    }
  ],
  "usernames": [],
  "ebaySite": "EBAY_US",
  "includeActiveListings": true,
  "includeSoldListings": true,
  "includeRecentFeedback": true,
  "sampleListings": 25,
  "maxConcurrency": 5,
  "maxRetries": 5,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  },
  "rawOutput": false,
  "countries": [],
  "mustBeTopRated": false,
  "mustHaveStore": false,
  "mustBeBusinessSeller": false,
  "tiers": []
}
```

# 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 = {
    "keywords": [
        "iphone 15 pro max"
    ],
    "profileUrls": [
        {
            "url": "https://www.ebay.com/usr/musicmagpie"
        }
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("trakk/ebay-seller-intelligence").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 = {
    "keywords": ["iphone 15 pro max"],
    "profileUrls": [{ "url": "https://www.ebay.com/usr/musicmagpie" }],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("trakk/ebay-seller-intelligence").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 '{
  "keywords": [
    "iphone 15 pro max"
  ],
  "profileUrls": [
    {
      "url": "https://www.ebay.com/usr/musicmagpie"
    }
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call trakk/ebay-seller-intelligence --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "eBay Sold Listings + Seller Intelligence (10 marketplaces)",
        "description": "Two modes in one actor. SELLER: paste any eBay URL (/usr/, /str/, /itm/), get a JSON record with feedback, DSR, 90-day GMV, sell-through, repeat-buyer ratio, tier. KEYWORD: paste phrases, get sold/active listings with prices. 10 marketplaces, multilingual, pay-per-event ($5-15/1k).",
        "version": "0.1",
        "x-build-id": "C1OvUDcRXJKIQDnjf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/trakk~ebay-seller-intelligence/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-trakk-ebay-seller-intelligence",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/trakk~ebay-seller-intelligence/runs": {
            "post": {
                "operationId": "runs-sync-trakk-ebay-seller-intelligence",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/trakk~ebay-seller-intelligence/run-sync": {
            "post": {
                "operationId": "run-sync-trakk-ebay-seller-intelligence",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "SELLER_INTELLIGENCE",
                            "KEYWORD_SEARCH"
                        ],
                        "type": "string",
                        "description": "SELLER_INTELLIGENCE: profile/feedback/GMV intelligence per seller (default). KEYWORD_SEARCH: paginated /sch/i.html search by keyword + filters (active or sold listings).",
                        "default": "SELLER_INTELLIGENCE"
                    },
                    "keywords": {
                        "title": "Search keywords",
                        "type": "array",
                        "description": "Product / brand / model names to search for. Each phrase becomes a separate /sch/i.html query on the chosen eBay site. Used in KEYWORD_SEARCH mode.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "listingType": {
                        "title": "Listing type",
                        "enum": [
                            "SOLD",
                            "ACTIVE",
                            "COMPLETED"
                        ],
                        "type": "string",
                        "description": "Which listings to fetch. SOLD: completed orders in the last ~90 days (default - best for price research). ACTIVE: currently live listings. COMPLETED: ended (sold OR unsold).",
                        "default": "SOLD"
                    },
                    "daysToScrape": {
                        "title": "Days to scrape",
                        "minimum": 1,
                        "maximum": 90,
                        "type": "integer",
                        "description": "How many days back to scan (only for SOLD/COMPLETED). Sold dates older than this cutoff are skipped. Max 90 (eBay's hard cap).",
                        "default": 30
                    },
                    "count": {
                        "title": "Max listings per keyword",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Upper bound on items pulled per keyword. Pagination stops when this count is reached or eBay runs out of results.",
                        "default": 100
                    },
                    "category": {
                        "title": "Category ID (optional)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "eBay category number ID (e.g. 58058 = Computers/Tablets/Networking, 6000 = eBay Motors, 11450 = Clothing). Empty/0 = All Categories."
                    },
                    "sortOrder": {
                        "title": "Sort order",
                        "enum": [
                            "endedRecently",
                            "newlyListed",
                            "endingSoonest",
                            "priceLowest",
                            "priceHighest",
                            "bestMatch"
                        ],
                        "type": "string",
                        "description": "eBay's _sop sort parameter.",
                        "default": "endedRecently"
                    },
                    "minPrice": {
                        "title": "Minimum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Lower bound on listing price (in the marketplace's currency). Empty = no lower bound."
                    },
                    "maxPrice": {
                        "title": "Maximum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Upper bound on listing price. Empty = no upper bound."
                    },
                    "itemLocation": {
                        "title": "Item location",
                        "enum": [
                            "DEFAULT",
                            "LOCAL_COUNTRY",
                            "WORLDWIDE"
                        ],
                        "type": "string",
                        "description": "Where the item is located. DEFAULT respects the marketplace's natural setting; LOCAL_COUNTRY restricts to the marketplace's country; WORLDWIDE allows any.",
                        "default": "DEFAULT"
                    },
                    "condition": {
                        "title": "Condition",
                        "enum": [
                            "ANY",
                            "NEW",
                            "NEW_OTHER",
                            "MANUFACTURER_REFURBISHED",
                            "SELLER_REFURBISHED",
                            "USED",
                            "FOR_PARTS_NOT_WORKING"
                        ],
                        "type": "string",
                        "description": "Item-condition filter. ANY = no filter.",
                        "default": "ANY"
                    },
                    "detailedSearch": {
                        "title": "Detailed search (visit item pages)",
                        "type": "boolean",
                        "description": "When enabled, also fetch each /itm/{ID} page for full description, item specifics, and seller info. Roughly doubles per-listing cost and latency.",
                        "default": false
                    },
                    "profileUrls": {
                        "title": "Seller URLs",
                        "type": "array",
                        "description": "Paste any eBay URL pointing to the seller - actor auto-resolves to the seller's username. Supported forms: profile (/usr/{user}, /fdbk/feedback_profile/{user}), store (/str/{slug}, stores.ebay.com/{slug}), search-by-seller (/sch/i.html?_ssn={user}, /sch/{user}/m.html), or ANY item listing (/itm/{ID} - actor fetches the page and pulls the seller from its JSON payload).",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "usernames": {
                        "title": "Seller usernames (advanced - prefer URLs above)",
                        "type": "array",
                        "description": "Optional raw username slugs (e.g. \"musicmagpie\"). For most cases prefer the URL field above - it auto-resolves any eBay URL form. Display names with spaces are normalised lowercase + no-spaces (best-effort).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "datasetId": {
                        "title": "Input Dataset ID",
                        "type": "string",
                        "description": "Optional Apify dataset id (e.g. from a previous eBay listings scraper run). Items are expected to expose a `seller`, `sellerName`, `sellerUsername`, `username`, or `profileUrl` field."
                    },
                    "ebaySite": {
                        "title": "eBay site",
                        "enum": [
                            "EBAY_US",
                            "EBAY_UK",
                            "EBAY_DE",
                            "EBAY_FR",
                            "EBAY_IT",
                            "EBAY_ES",
                            "EBAY_CA",
                            "EBAY_AU",
                            "EBAY_IE",
                            "EBAY_NL"
                        ],
                        "type": "string",
                        "description": "Which eBay marketplace to query. Affects the feedback / listings / sold URLs and the assumed currency.",
                        "default": "EBAY_US"
                    },
                    "includeActiveListings": {
                        "title": "Include active-listings summary",
                        "type": "boolean",
                        "description": "Fetch /sch/i.html?_ssn={user} to extract total active listings count and a sample of titles/prices/conditions. Disabling skips that request and shrinks runtime by ~30%.",
                        "default": true
                    },
                    "includeSoldListings": {
                        "title": "Include 90-day sold summary (GMV estimate)",
                        "type": "boolean",
                        "description": "Fetch /sch/i.html?_ssn={user}&LH_Sold=1&LH_Complete=1 to extract sold count and prices for GMV / velocity / sell-through estimates. The 90-day window is set by eBay.",
                        "default": true
                    },
                    "includeRecentFeedback": {
                        "title": "Include recent feedback comments",
                        "type": "boolean",
                        "description": "Include the 25 most recent feedback comments (buyer pseudonym, price, item id, comment, date bucket) on the output. Always pulled to compute the repeat-buyer ratio - disabling only suppresses the array.",
                        "default": true
                    },
                    "sampleListings": {
                        "title": "Listing sample size per page",
                        "minimum": 0,
                        "maximum": 60,
                        "type": "integer",
                        "description": "How many active / sold listings to keep in the sample arrays (titles, prices, conditions). Doesn't affect the count totals or GMV estimate. 0 → no sample.",
                        "default": 25
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "How many sellers to process in parallel. Each seller fans out to up to 3 internal HTTP requests; effective HTTP concurrency is roughly 3× this number.",
                        "default": 5
                    },
                    "maxRetries": {
                        "title": "Max retries per URL",
                        "minimum": 0,
                        "maximum": 15,
                        "type": "integer",
                        "description": "Retries on 403/429/5xx and bot-block pages (in addition to dedicated proxy/captcha retry budgets).",
                        "default": 5
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy configuration. US residential proxies are the default and strongly recommended - eBay aggressively blocks datacenter ASNs.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    },
                    "rawOutput": {
                        "title": "Include raw HTML in output",
                        "type": "boolean",
                        "description": "If enabled, each item also contains the raw HTML of the feedback profile page under `_raw.feedbackHtml`. Heavy - only useful for debugging.",
                        "default": false
                    },
                    "minFeedbackScore": {
                        "title": "Filter - minimum lifetime feedback score",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop sellers with a lifetime feedback score below this threshold. Common values: 100 (drop hobbyists), 1000 (drop small sellers), 10 000 (drop everyone but power sellers)."
                    },
                    "minPositivePercent": {
                        "title": "Filter - minimum positive feedback %",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Drop sellers below this positive-feedback percentage (12-month). Common values: 95, 98, 99."
                    },
                    "countries": {
                        "title": "Filter - countries (allow-list)",
                        "type": "array",
                        "description": "Only push sellers registered in one of these countries. Accepts ISO codes (\"US\", \"UK\", \"DE\") and full names (\"United Kingdom\", \"Germany\"). Empty = no country filter.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "mustBeTopRated": {
                        "title": "Filter - only Top-Rated sellers",
                        "type": "boolean",
                        "description": "When true, drop everyone without the Top Rated Seller badge.",
                        "default": false
                    },
                    "mustHaveStore": {
                        "title": "Filter - only sellers with an eBay Store",
                        "type": "boolean",
                        "description": "When true, drop everyone without an eBay Store subscription.",
                        "default": false
                    },
                    "mustBeBusinessSeller": {
                        "title": "Filter - only registered business sellers",
                        "type": "boolean",
                        "description": "When true, drop personal/individual sellers and keep only sellers registered as businesses.",
                        "default": false
                    },
                    "minMonthlyGmvEstimate": {
                        "title": "Filter - minimum monthly GMV estimate",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop sellers below this estimated monthly GMV in the marketplace currency. Requires sold-listings collection to be enabled."
                    },
                    "minActiveListings": {
                        "title": "Filter - minimum active listings",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop sellers with fewer active listings than this. Requires active-listings collection to be enabled."
                    },
                    "minSoldLast90Days": {
                        "title": "Filter - minimum sales in last 90 days",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop dormant sellers below this sold-90-days count. Requires sold-listings collection to be enabled."
                    },
                    "tiers": {
                        "title": "Filter - allowed seller tiers",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only push sellers whose computed tier is in this list. Empty = no tier filter.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
