{
  "openapi": "3.0.1",
  "info": {
    "title": "Listing Scraper for eBay - Prices, Item Details & Seller Leads",
    "description": "Scrape active eBay listings by keyword, link or seller on 10 marketplaces: price, condition, shipping, bids, units sold, seller feedback. Add item details (specifics, GTIN, photos, returns) and seller leads with EU/UK business contacts. Monitor mode. Independent tool, not affiliated with eBay.",
    "version": "0.1",
    "x-build-id": "VDUzccFfvFkKtCJ4A"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~ebay-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-ebay-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/scrapesage~ebay-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-ebay-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/scrapesage~ebay-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-ebay-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": {
          "mode": {
            "title": "What to scrape",
            "enum": [
              "search",
              "itemDetail",
              "seller",
              "sold"
            ],
            "type": "string",
            "description": "<b>Active listings</b> = items currently for sale (the default). <b>Item detail</b> = full data for every listing: item specifics, return policy, payment methods, location, description, seller (also works on searches and sellers). <b>Seller</b> = each seller in <b>Seller usernames</b> as a lead profile plus their listings; without seller names it turns the sellers found by your keywords into leads. Sold / completed listings are not available: eBay shows that view only to signed-in accounts (the option stays so older saved settings still start; such a run ends with a note and bills no listings).",
            "default": "search"
          },
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords to search on eBay, e.g. <code>nintendo switch oled</code>, <code>iphone 15 pro</code>, <code>vintage rolex</code>, <code>pokemon booster box</code>. Each is combined with the filters below. With <b>Seller usernames</b> filled in, the keywords search inside those sellers' listings.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Paste eBay links: search pages (<code>ebay.com/sch/i.html?_nkw=...</code>, every filter in the link is kept), item pages (<code>ebay.com/itm/123...</code>, or just the item number), seller pages (<code>ebay.com/usr/&lt;name&gt;</code>) and stores (<code>ebay.com/str/&lt;store&gt;</code>). Links from any of the 10 marketplaces work in one run. Used in addition to the keywords above.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "sellerNames": {
            "title": "Seller usernames",
            "type": "array",
            "description": "eBay seller usernames (or their /usr/ or /str/ links), e.g. <code>musicstore_official</code>. In <b>Seller</b> mode each one becomes a lead profile plus its listings; in the other modes you get the sellers' listings only. Add keywords to search inside their listings.",
            "items": {
              "type": "string"
            }
          },
          "marketplace": {
            "title": "eBay marketplace",
            "enum": [
              "US",
              "UK",
              "DE",
              "AU",
              "CA",
              "FR",
              "IT",
              "ES",
              "NL",
              "IE"
            ],
            "type": "string",
            "description": "Which eBay site to search. Controls the domain, the currency and the language of the listings. Pasted links keep their own site.",
            "default": "US"
          },
          "categoryId": {
            "title": "Category ID",
            "type": "string",
            "description": "Optional eBay category id (<code>_sacat</code>) that narrows your keyword or seller searches, e.g. <code>139971</code> (Video Game Consoles). Find it in any eBay search URL. eBay does not serve a whole category without a keyword, so add at least one keyword."
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "open_box",
              "refurbished",
              "used",
              "parts"
            ],
            "type": "string",
            "description": "Filter by item condition.",
            "default": "any"
          },
          "listingType": {
            "title": "Listing type",
            "enum": [
              "all",
              "auction",
              "buy_it_now"
            ],
            "type": "string",
            "description": "Restrict to auctions or fixed-price (Buy It Now) listings.",
            "default": "all"
          },
          "priceMin": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Only items at or above this price (in the marketplace currency)."
          },
          "priceMax": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Only items at or below this price."
          },
          "freeShippingOnly": {
            "title": "Free shipping only",
            "type": "boolean",
            "description": "Only return listings that ship for free.",
            "default": false
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "best_match",
              "newest",
              "ending_soonest",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "How eBay orders the results. Monitoring mode reads the newest listings first unless you choose another order.",
            "default": "best_match"
          },
          "enrichItemDetails": {
            "title": "Fetch full item details",
            "type": "boolean",
            "description": "Open each listing's item page and add every item specific (brand, model, MPN, UPC/EAN, size, colour and the rest), the condition notes, the return policy, payment methods, item location, category path, product rating, all photos in full size, quantity sold / available, watchers, listing dates and the seller's details. Adds one request per listing.",
            "default": false
          },
          "includeDescription": {
            "title": "Include the seller's item description",
            "type": "boolean",
            "description": "With item details on, also add the seller's own item description as plain text (up to 5,000 characters).",
            "default": true
          },
          "emitSellerLeads": {
            "title": "Also emit seller-lead records",
            "type": "boolean",
            "description": "Output one deduplicated seller-lead record (type = \"seller\") for every unique seller found: positive-feedback %, feedback score, items sold, followers, location, member since, Top Rated status and a 0-100 lead score. Business sellers on the European and UK sites also carry the business details eBay publishes for them (company, contact name, address, phone, e-mail, VAT number).",
            "default": false
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of listings to scrape across all keywords, links and sellers. Several searches share it fairly.",
            "default": 100
          },
          "maxSellers": {
            "title": "Max seller leads",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of seller-lead profiles (Seller mode, or when \"Also emit seller-lead records\" is on).",
            "default": 50
          },
          "deduplicateResults": {
            "title": "Deduplicate within a run",
            "type": "boolean",
            "description": "Skip a listing already delivered by another keyword or link in this run (recommended).",
            "default": true
          },
          "monitorMode": {
            "title": "Monitoring mode: only new records",
            "type": "boolean",
            "description": "Remember item and seller ids across runs in a named key-value store and deliver ONLY listings and sellers not delivered before. The first run is the baseline: it delivers up to Max items and remembers what else it saw, so later runs never bill older listings as new. Pairs with Apify Schedules for deal alerts and price watching.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Names the memory used by monitoring mode. Use a distinct key per saved search so different watches keep separate state.",
            "default": "default"
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum parallel requests per marketplace. 3-6 is a good balance of speed and reliability.",
            "default": 4
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Leave as is: the actor uses Apify's shared proxies and opens a fresh session whenever eBay refuses a page, which keeps runs fast and cheap. Choose a proxy group (for example Residential) or your own proxies here only if you need to; your choice is then used for every request.",
            "default": {
              "useApifyProxy": true
            }
          },
          "urlsFromFile": {
            "title": "Import URLs from a file",
            "type": "string",
            "description": "Paste a list of eBay links (one per line), OR one link to a .txt/.csv file, Google Sheet or Google Drive file containing them. Lets you import many Start URLs at once instead of typing each. Google Sheet/Drive share links are handled automatically."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}