{
  "openapi": "3.0.1",
  "info": {
    "title": "eBay Sold Listings Scraper — Completed Sales & Sold Prices",
    "description": "Scrape eBay sold listings and completed sale prices by keyword. Export sold date, condition, shipping, seller feedback across 20+ regional sites. Fast curl_cffi scraper — no browser, residential proxy ready.",
    "version": "0.13",
    "x-build-id": "iymbfewmMQyiJ8ST3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawloop~ebay-sold-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawloop-ebay-sold-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/crawloop~ebay-sold-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawloop-ebay-sold-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/crawloop~ebay-sold-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawloop-ebay-sold-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": "Search keywords",
            "type": "array",
            "description": "One or more eBay search keywords for sold/completed listings. Each keyword runs as a separate parallel search with the same filters. Optional if startUrls is provided.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Sold search URLs",
            "type": "array",
            "description": "Paste eBay Sold/Completed search page URLs. Filters (_nkw, category, price, condition, listing type, free shipping, site) are read from each URL. Can be used alone or together with keywords.",
            "items": {
              "type": "string"
            }
          },
          "dedupeItemIds": {
            "title": "Deduplicate item IDs",
            "type": "boolean",
            "description": "When true, skip the same eBay itemId if it appears under multiple keywords/URLs in this run (saves PPE charges).",
            "default": true
          },
          "daysToScrape": {
            "title": "Days to scrape sold history",
            "minimum": 1,
            "maximum": 90,
            "type": "integer",
            "description": "Include completed eBay sales from the last N days (1–90). Older sold listings are filtered out.",
            "default": 30
          },
          "count": {
            "title": "Max sold listings per keyword",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of completed (sold) listings to collect for each keyword. In monitorMode, this is the seed window size on the first run, then the max new sales per later run.",
            "default": 100
          },
          "categoryId": {
            "title": "Category",
            "type": "string",
            "description": "eBay category filter (use '0' for all categories).",
            "default": "0"
          },
          "subcategoryId": {
            "title": "Subcategory ID (Optional)",
            "type": "string",
            "description": "Optional subcategory filter. If set, overrides the main Category field.",
            "default": ""
          },
          "ebaySite": {
            "title": "eBay marketplace (regional site)",
            "enum": [
              "ebay.com",
              "ebay.co.uk",
              "ebay.de",
              "ebay.fr",
              "ebay.it",
              "ebay.es",
              "ebay.ca",
              "ebay.com.au",
              "ebay.at",
              "ebay.ch",
              "ebay.ie",
              "ebay.pl",
              "ebay.nl",
              "ebay.be",
              "ebay.com.sg",
              "ebay.com.my",
              "ebay.ph",
              "ebay.com.hk"
            ],
            "type": "string",
            "description": "Regional eBay domain for sold listing search — e.g. ebay.com (US), ebay.co.uk, ebay.de, ebay.fr.",
            "default": "ebay.com"
          },
          "sortOrder": {
            "title": "Sort Order",
            "enum": [
              "endedRecently",
              "timeNewlyListed",
              "pricePlusPostageLowest",
              "pricePlusPostageHighest",
              "distanceNearest"
            ],
            "type": "string",
            "description": "Sort order for search results.",
            "default": "endedRecently"
          },
          "minPrice": {
            "title": "Minimum Price",
            "type": "number",
            "description": "Minimum sold price filter (in site currency)."
          },
          "maxPrice": {
            "title": "Maximum Price",
            "type": "number",
            "description": "Maximum sold price filter (in site currency)."
          },
          "itemLocation": {
            "title": "Item Location",
            "enum": [
              "default",
              "domestic",
              "worldwide"
            ],
            "type": "string",
            "description": "Search items based on seller's location.",
            "default": "default"
          },
          "itemCondition": {
            "title": "Item Condition",
            "enum": [
              "any",
              "new",
              "used",
              "refurbished"
            ],
            "type": "string",
            "description": "Filter by item condition.",
            "default": "any"
          },
          "listingType": {
            "title": "Listing Type",
            "enum": [
              "any",
              "auction",
              "buy_it_now"
            ],
            "type": "string",
            "description": "Filter by buy-it-now or auction format.",
            "default": "any"
          },
          "freeShippingOnly": {
            "title": "Free Shipping Only",
            "type": "boolean",
            "description": "Only return listings that offer free shipping.",
            "default": false
          },
          "excludeSellers": {
            "title": "Exclude Sellers",
            "type": "array",
            "description": "List of seller usernames to exclude from the results.",
            "items": {
              "type": "string"
            }
          },
          "monitorMode": {
            "title": "Monitor mode",
            "type": "boolean",
            "description": "Scheduled mode: first run seeds a named Key-Value store (no sold rows billed). Later runs emit only new sales since the last run, plus one monitor_report row per keyword. Pair with an Apify Schedule and a run webhook. Does not include recommended price, sell-through, or chat alerts.",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitor store name",
            "type": "string",
            "description": "Named Key-Value store that keeps seen item IDs and the rolling 90-day price window across runs. Use a distinct name per saved search if you monitor several queries on separate schedules.",
            "default": "ebay-sold-monitor-state"
          },
          "resetMonitorState": {
            "title": "Reset monitor state",
            "type": "boolean",
            "description": "Clear the named monitor store and treat this run as a new seed. Off by default.",
            "default": false
          },
          "alertBelowMedianPercent": {
            "title": "Alert below median (%)",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "If a new sale is this percent below the rolling 30-day median (7-day when 30-day is not complete), the monitor_report sets alert=price_below_market. 0 disables. Title mismatches and lots can still false-trigger — treat as a hint, not a buy signal.",
            "default": 15
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Select proxies to bypass eBay bot protection. Apify Residential Proxies recommended.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}