{
  "openapi": "3.0.1",
  "info": {
    "title": "eBay Scraper - Listings, Sellers & Sold Price Check",
    "description": "Track competitor prices on eBay without the eBay API. Scrape any search into typed rows: price with currency, sold count, condition, shipping, seller username and feedback. Then pass item IDs to checkItems to see which ones sold, at what price and on what date. Hard cap on results.",
    "version": "0.1",
    "x-build-id": "hNWiaI7jr5ZyAkIGd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/henrycrawl~ebay-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-henrycrawl-ebay-listings-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/henrycrawl~ebay-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-henrycrawl-ebay-listings-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/henrycrawl~ebay-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-henrycrawl-ebay-listings-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": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Each keyword runs as its own search using the filters below. Leave empty if you paste URLs instead.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "eBay listing / search / category URLs",
            "type": "array",
            "description": "Paste eBay search, category or filtered listing URLs. Scraped in addition to any keywords.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "checkItems": {
            "title": "Check sold status of specific listings",
            "type": "array",
            "description": "eBay item IDs or /itm/ URLs. Instead of searching, the run opens each listing page and reports whether it SOLD, what it actually sold for, and the exact timestamp. This reads public listing pages, so no eBay account or cookies are involved. Note eBay keeps sold *search* behind sign-in, so there is no keyword search for sold items here — you supply the listings, typically ones a previous search run returned. Ended auctions on catalogue-matched items are flagged ENDED_PRICE_UNAVAILABLE because eBay redirects them to a catalogue page that hides the final bid.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "ebaySite": {
            "title": "eBay site",
            "enum": [
              "www.ebay.com",
              "www.ebay.co.uk",
              "www.ebay.de",
              "www.ebay.com.au",
              "www.ebay.ca",
              "www.ebay.fr",
              "www.ebay.it",
              "www.ebay.es"
            ],
            "type": "string",
            "description": "Which regional eBay to search. Independent from Proxy country.",
            "default": "www.ebay.com"
          },
          "proxyCountry": {
            "title": "Proxy country",
            "enum": [
              "US",
              "GB",
              "DE",
              "AU",
              "CA",
              "FR",
              "IT",
              "ES",
              "SG",
              "JP"
            ],
            "type": "string",
            "description": "eBay localizes prices, currency, shipping costs and even which listings appear, based on the IP's country. Requesting ebay.com from outside the US can return a different currency entirely. Set this to the market you actually care about.",
            "default": "US"
          },
          "maxListings": {
            "title": "Max listings (hard cap)",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The run stops at exactly this many listings. Enforced, not a suggestion, so you cannot be billed for more rows than you asked for. Default is deliberately small so a first run is cheap and fast; raise it for real harvests.",
            "default": 100
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "best_match",
              "newly_listed",
              "ending_soonest",
              "price_lowest",
              "price_highest"
            ],
            "type": "string",
            "description": "Same sort options as eBay's own dropdown.",
            "default": "best_match"
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "open_box",
              "certified_refurbished",
              "seller_refurbished",
              "used",
              "for_parts"
            ],
            "type": "string",
            "description": "Filter by item condition, same values eBay offers.",
            "default": "any"
          },
          "buyingFormat": {
            "title": "Buying format",
            "enum": [
              "any",
              "buy_it_now",
              "auction"
            ],
            "type": "string",
            "description": "Restrict to Buy It Now or auction listings only.",
            "default": "any"
          },
          "minPrice": {
            "title": "Min price",
            "type": "integer",
            "description": "Lowest price to include, in the currency of the selected eBay site."
          },
          "maxPrice": {
            "title": "Max price",
            "type": "integer",
            "description": "Highest price to include, in the currency of the selected eBay site."
          },
          "freeShipping": {
            "title": "Free shipping only",
            "type": "boolean",
            "description": "Only listings that ship for free.",
            "default": false
          },
          "excludeWords": {
            "title": "Exclude words",
            "type": "string",
            "description": "Comma or space separated. Applied as eBay negative keywords."
          },
          "categoryId": {
            "title": "eBay category ID",
            "type": "string",
            "description": "Optional. Narrows the search to one eBay category."
          },
          "excludeSponsored": {
            "title": "Exclude ad placeholder cards",
            "type": "boolean",
            "description": "Removes eBay's 'Shop on eBay' promo cards, which carry no real listing data. Note: eBay puts a reversed 'Sponsored' string in every card footer, so it cannot be used to tell ads from real listings, and this option does not claim to filter promoted listings.",
            "default": true
          },
          "itemsPerPage": {
            "title": "Items per page",
            "minimum": 60,
            "maximum": 240,
            "type": "integer",
            "description": "eBay supports 60, 120 or 240. Use 240: about 4x fewer requests per 1,000 rows, so lower proxy cost. Lower it only if you hit blocks.",
            "default": 240
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Keep this low. eBay gates access by session, so hammering it burns sessions faster than it saves time.",
            "default": 2
          },
          "debugRawText": {
            "title": "Include raw card text (debug)",
            "type": "boolean",
            "description": "Adds the raw text of each result card to the output. Useful when a field stops filling and you want to see what eBay changed.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Defaults to Apify residential proxy in the selected country. eBay refuses datacenter IP ranges, so a datacenter group will produce a failed run.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}