{
  "openapi": "3.0.1",
  "info": {
    "title": "eBay Scraper - Listings, Prices & Price Stats",
    "description": "eBay scraper for search results by keyword or URL on 8 eBay sites: price, shipping, total, condition, bids, sold count, watchers, seller feedback, location and image, plus a min/median/average/max price summary per search. JSON, CSV, Excel.",
    "version": "1.1",
    "x-build-id": "LH79BVA0D1fnxHTFa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/groupoject~ebay-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-groupoject-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/groupoject~ebay-scraper/runs": {
      "post": {
        "operationId": "runs-sync-groupoject-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/groupoject~ebay-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-groupoject-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": {
          "keywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "One eBay search per keyword, for example \"nintendo switch oled\" or \"lego 75192\". The filters below (condition, price, listing type, category, sort) apply to every keyword.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "eBay search URLs",
            "type": "array",
            "description": "Optional. Paste search result URLs copied from eBay (https://www.ebay.com/sch/i.html?...) or category pages (/b/...). A URL keeps the filters you set on eBay; the domain picks the marketplace. If the URL has no sold/completed flag, the Mode below is applied.",
            "items": {
              "type": "string"
            }
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "active",
              "sold",
              "completed"
            ],
            "type": "string",
            "description": "\"active\" = live listings with asking prices. \"sold\" = sold listings with sold prices and dates. \"completed\" = all ended listings, sold and unsold. Note: eBay currently sends many logged-out sold/completed searches to its sign-in page; those searches are listed in the ERRORS record and are not charged.",
            "default": "active"
          },
          "marketplace": {
            "title": "eBay marketplace",
            "enum": [
              "ebay.com",
              "ebay.co.uk",
              "ebay.de",
              "ebay.ca",
              "ebay.com.au",
              "ebay.fr",
              "ebay.it",
              "ebay.es"
            ],
            "type": "string",
            "description": "eBay site used for keyword searches. Prices are returned in that site's currency.",
            "default": "ebay.com"
          },
          "maxItemsPerSearch": {
            "title": "Max items per search",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop each search after this many rows. eBay shows up to 240 listings per page; every row is one billed result.",
            "default": 100
          },
          "conditions": {
            "title": "Condition",
            "type": "array",
            "description": "Only return listings in these conditions. Leave empty for any condition.",
            "items": {
              "type": "string",
              "enum": [
                "new",
                "open_box",
                "refurbished",
                "used",
                "for_parts"
              ],
              "enumTitles": [
                "New",
                "Open box / new other",
                "Refurbished",
                "Used",
                "For parts / not working"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings priced at or above this amount (marketplace currency, shipping excluded)."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings priced at or below this amount (marketplace currency, shipping excluded)."
          },
          "listingType": {
            "title": "Listing type",
            "enum": [
              "all",
              "auction",
              "buy_it_now",
              "best_offer"
            ],
            "type": "string",
            "description": "Restrict to auctions, Buy It Now, or listings that accept offers.",
            "default": "all"
          },
          "categoryId": {
            "title": "Category ID",
            "type": "string",
            "description": "Optional numeric eBay category id (the _sacat value in eBay URLs), for example 139971 for video game consoles."
          },
          "freeShippingOnly": {
            "title": "Free shipping only",
            "type": "boolean",
            "description": "Only listings with free shipping/delivery.",
            "default": false
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "auto",
              "best_match",
              "ending_soonest",
              "newly_listed",
              "price_low",
              "price_high",
              "recently_ended"
            ],
            "type": "string",
            "description": "\"auto\" uses eBay's Best Match for active listings and most recently ended first for sold/completed listings (needed for the sold date cutoff to stop early).",
            "default": "auto"
          },
          "soldWithinDays": {
            "title": "Sold within last N days",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Sold/completed mode: keep only listings that ended in the last N days. Older rows are dropped before they are saved, so they are not billed."
          },
          "soldAfter": {
            "title": "Sold on or after date",
            "type": "string",
            "description": "Sold/completed mode: keep only listings that ended on or after this date (YYYY-MM-DD). If both cutoffs are set, the later date wins."
          },
          "onlyNew": {
            "title": "Only new listings (monitoring)",
            "type": "boolean",
            "description": "Save only listings that earlier runs with the same state key have not seen. Run it on a schedule to get just the new listings each time; skipped listings are not billed. The first run saves everything it finds and remembers it. In active mode with sort \"auto\", results are sorted newly listed first, and \"Max items per search\" becomes how many top results are checked each run.",
            "default": false
          },
          "alertOnPriceDrop": {
            "title": "Also alert on price drops",
            "type": "boolean",
            "description": "With \"Only new listings\": also save a listing seen before when its total price (price + shipping) is lower than last time. Rows carry previousPrice and priceChangePct. Without \"Only new listings\", every listing is saved with these comparison fields.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name (state key)",
            "type": "string",
            "description": "Name of the saved list of seen listings. Use a different name for each separate monitor (for example \"ps5-us\" and \"lego-uk\"); runs that share a name share their history. Letters, numbers and dashes are kept.",
            "default": "default"
          },
          "maxTotalPrice": {
            "title": "Alert only at or below total price",
            "minimum": 0,
            "type": "integer",
            "description": "Optional deal threshold: only save listings whose price + shipping is at or below this amount (marketplace currency). Listings above it are still remembered in monitoring mode, so a later drop below it is reported when price-drop alerts are on."
          },
          "dedupeAcrossSearches": {
            "title": "Remove duplicates across searches",
            "type": "boolean",
            "description": "When the same item appears in several searches, save (and bill) it only once.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Parallel searches",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many searches run at the same time. Pages within one search are always fetched in order.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy is recommended. Datacenter proxies are used first; see the residential fallback option below.",
            "default": {
              "useApifyProxy": true
            }
          },
          "residentialFallback": {
            "title": "Switch to residential proxies if blocked",
            "type": "boolean",
            "description": "If eBay keeps blocking datacenter proxies, switch to Apify residential proxies (matched to the marketplace country) for the rest of the run.",
            "default": true
          },
          "debugMode": {
            "title": "Debug logging",
            "type": "boolean",
            "description": "Log every request outcome. Useful when reporting an issue.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}