{
  "openapi": "3.0.1",
  "info": {
    "title": "eBay Scraper — Search, Listings, Prices, Items & Sellers",
    "description": "eBay listings by keyword, search URL or item URL on 10 marketplaces incl. ebay.de. One row per listing: price, shipping, condition, Buy It Now or auction, bids, units sold, watchers, seller feedback, item specifics (item pages). Free filters: condition, buying format, price range, category, sort.",
    "version": "1.1",
    "x-build-id": "dKJsGqP6rnMadce7q"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kestrel~ebay-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kestrel-ebay-search-scraper",
        "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/kestrel~ebay-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-kestrel-ebay-search-scraper",
        "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/kestrel~ebay-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-kestrel-ebay-search-scraper",
        "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": {
          "queries": {
            "title": "Search keywords",
            "uniqueItems": true,
            "type": "array",
            "description": "Keywords as a shopper types them, e.g. [\"mechanical keyboard\", \"vintage pocket watch\"]. Each is searched on the `domain` marketplace for `pages` result pages (60 listings a page, $0.003 through 2026-10-26; $0.004 from 2026-10-27 each). Use for \"find eBay listings for X\" or \"cheapest X on eBay\" (add sortBy \"price_low\"). Active listings only: sold or completed items sit behind eBay's sign-in wall and are never returned.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "eBay URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "eBay search URLs, read exactly as pasted with every filter in the URL kept, e.g. [\"https://www.ebay.de/sch/i.html?_nkw=rolex&LH_Auction=1\"], and/or item URLs, e.g. [\"https://www.ebay.com/itm/123456789012\"], for the richer item-page row (item specifics, quantity, category, seller store). The marketplace comes from each URL, so one run can mix countries. One of queries or startUrls is required. URLs on ebay.co.uk, .ie, .ca, .ch, .com.hk or .at meet an anti-bot challenge and end as a free status error.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "domain": {
            "title": "Marketplace",
            "type": "string",
            "description": "Marketplace for the keyword searches: \"com\" (default, ebay.com), \"de\", \"fr\", \"it\", \"es\", \"nl\", \"pl\", \"com.au\", \"com.sg\", \"com.my\" — the 10 hosts that answer reliably; prices come in that marketplace's currency (the currency field on every row). eBay UK, Ireland, Canada, Switzerland, Hong Kong and Austria answer an anti-bot challenge on every proxy pool and are not offered; paste their URLs into startUrls to try anyway. URLs bring their own marketplace.",
            "default": "com"
          },
          "pages": {
            "title": "Pages per keyword or URL",
            "minimum": 1,
            "maximum": 34,
            "type": "integer",
            "description": "Result pages per keyword or search URL, 1 to 34, e.g. 2 (default 1). Each page holds 60 listings, so the bill is at most pages × 60 × $0.003 through 2026-10-26; $0.004 from 2026-10-27 per keyword ($0.18 a page currently). eBay stops paginating a search at about 2,000 listings whatever total it prints. Pair with maxResultsPerQuery for an exact count.",
            "default": 1
          },
          "maxResultsPerQuery": {
            "title": "Max listings per keyword or URL",
            "minimum": 0,
            "maximum": 2000,
            "type": "integer",
            "description": "Listings to deliver per keyword or URL, e.g. 100. 0 (default) = everything the pages returned (60 × pages). N = the first N in eBay's order; fetching stops as soon as a job has N, so 100 with pages 5 reads two pages and bills 100. Use for \"give me 50 listings of X\". eBay applies minPrice/maxPrice before this count; the actor's own re-check can drop a few more, never charging them.",
            "default": 0
          },
          "buyingFormat": {
            "title": "Buying format",
            "enum": [
              "all",
              "buy_it_now",
              "auction"
            ],
            "type": "string",
            "description": "\"all\" (default) = every listing. \"buy_it_now\" = fixed-price listings only (eBay's LH_BIN filter; rows carry units sold, watchers, best offer). \"auction\" = auctions only (LH_Auction; rows carry bids and time left). Applied by eBay, so excluded listings are never fetched or billed. Use \"auction\" with sortBy \"ending_soonest\" for \"eBay auctions ending soon\".",
            "default": "all"
          },
          "conditions": {
            "title": "Item condition",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only these conditions, e.g. [\"new\"] or [\"used\", \"open_box\"]. Allowed: new, open_box, certified_refurbished, excellent_refurbished, very_good_refurbished, good_refurbished, seller_refurbished, used, for_parts. Empty (default) = every condition. eBay grades refurbished in four tiers, so list each tier you accept. Applied by eBay (LH_ItemCondition): excluded listings are never fetched or billed.",
            "items": {
              "type": "string",
              "enum": [
                "new",
                "open_box",
                "certified_refurbished",
                "excellent_refurbished",
                "very_good_refurbished",
                "good_refurbished",
                "seller_refurbished",
                "used",
                "for_parts"
              ],
              "enumTitles": [
                "New",
                "Open box",
                "Certified refurbished",
                "Excellent - refurbished",
                "Very good - refurbished",
                "Good - refurbished",
                "Seller refurbished",
                "Used / pre-owned",
                "For parts or not working"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Lowest price to keep, in the marketplace's own currency, e.g. 50. 0 (default) = no minimum. Sent to eBay (_udlo) so the results arrive already filtered, then checked again before billing: a listing under it is never charged.",
            "default": 0
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Highest price to keep, in the marketplace's own currency, e.g. 200. 0 (default) = no maximum. Sent to eBay (_udhi) and checked again before billing: a listing over it is never charged. Use for \"eBay listings under $200\".",
            "default": 0
          },
          "category": {
            "title": "Category id",
            "type": "string",
            "description": "eBay numeric category id to search inside, e.g. \"175672\" (computer components) — the _sacat number in any eBay category URL. Empty (default) = all of eBay. Use for \"X in the Y category\"; item-page rows carry each listing's own category and breadcrumbs.",
            "default": ""
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "best_match",
              "ending_soonest",
              "newly_listed",
              "price_low",
              "price_high"
            ],
            "type": "string",
            "description": "eBay's own order: \"best_match\" (default), \"ending_soonest\" (auctions), \"newly_listed\" (new listings first, for monitoring), \"price_low\", \"price_high\" (both price plus shipping, what a shopper compares). Use \"price_low\" with maxResultsPerQuery for \"the 20 cheapest X\".",
            "default": "best_match"
          },
          "sessions": {
            "title": "Parallel sessions",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Proxy sessions (egress IPs) in parallel, 1 to 16, e.g. 4 (default). More is faster; each is paced separately and warmed on eBay's homepage before its first request. Raise it for long keyword lists.",
            "default": 4
          },
          "perIp": {
            "title": "Requests per second per IP",
            "minimum": 0.1,
            "maximum": 2,
            "type": "number",
            "description": "Requests per second per session, 0.1 to 2, e.g. 0.5 (default). eBay tolerates about 0.5/s per IP; faster earns interstitials, not speed.",
            "default": 0.5
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy, required — {\"useApifyProxy\": true} (the default): eBay answers unproxied and unrotated callers with an Akamai interstitial. The run starts on datacentre proxies and switches to RESIDENTIAL by itself when eBay pushes back. Leave the default.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}