{
  "openapi": "3.0.1",
  "info": {
    "title": "eBay Price Tracker API - Monitor Listings",
    "description": "Track eBay prices on a schedule. Price, shipping and condition per listing, plus watchers and sold count where eBay shows them, as JSON or CSV, on 19 marketplaces. No actor start fee, so frequent runs stay cheap. Cap any run's cost in dollars.",
    "version": "1.0",
    "x-build-id": "lJZnCw0I07NgmTANS"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/vonsensey~ebay-price-tracker-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-vonsensey-ebay-price-tracker-api",
        "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/vonsensey~ebay-price-tracker-api/runs": {
      "post": {
        "operationId": "runs-sync-vonsensey-ebay-price-tracker-api",
        "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/vonsensey~ebay-price-tracker-api/run-sync": {
      "post": {
        "operationId": "run-sync-vonsensey-ebay-price-tracker-api",
        "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",
              "item",
              "seller",
              "sales"
            ],
            "type": "string",
            "description": "search = active listings for a keyword or eBay search URL. item = full detail for specific item numbers. seller = a seller's entire active inventory. sales = a seller's confirmed transactions with the price the buyer actually paid.",
            "default": "search"
          },
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "One or more keywords. There is no limit on how many you can pass. Used by mode \"search\", and optionally as a filter in mode \"seller\".",
            "default": [
              "steam deck oled"
            ],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "eBay URLs",
            "type": "array",
            "description": "Paste eBay URLs instead of typing a query: search pages (/sch/), item pages (/itm/), seller profiles (/usr/, /str/). The marketplace is read from the URL. Sold and completed search URLs cannot be scraped - see the README.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "itemIds": {
            "title": "Item numbers",
            "type": "array",
            "description": "eBay item numbers for mode \"item\", for example 326350933758. Full /itm/ URLs also work.",
            "items": {
              "type": "string"
            }
          },
          "sellers": {
            "title": "Sellers",
            "type": "array",
            "description": "eBay usernames for mode \"seller\" and mode \"sales\", for example musicmagpie. Profile URLs also work.",
            "items": {
              "type": "string"
            }
          },
          "marketplace": {
            "title": "eBay marketplace",
            "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.nl",
              "ebay.be",
              "ebay.pl",
              "ebay.com.sg",
              "ebay.com.my",
              "ebay.ph",
              "ebay.com.hk",
              "ebay.in"
            ],
            "type": "string",
            "description": "Which eBay site to scrape. The proxy country is matched to the site automatically. A URL in \"eBay URLs\" overrides this.",
            "default": "ebay.com"
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Hard ceiling on billable rows for the whole run, shared across every keyword and seller you pass. Error and diagnostics rows are free and never count against it.",
            "default": 100
          },
          "maxCostUsd": {
            "title": "Max cost for this run (USD)",
            "minimum": 0.01,
            "type": "number",
            "description": "Optional hard spend ceiling. The run stops delivering billable rows before it can exceed this. Leave empty for no ceiling."
          },
          "condition": {
            "title": "Item condition",
            "enum": [
              "any",
              "new",
              "opened_never_used",
              "refurbished",
              "used",
              "for_parts"
            ],
            "type": "string",
            "description": "Filter listings by condition.",
            "default": "any"
          },
          "listingFormat": {
            "title": "Listing format",
            "enum": [
              "all",
              "auction",
              "buy_it_now",
              "best_offer"
            ],
            "type": "string",
            "description": "Restrict to auctions, fixed-price listings, or listings accepting Best Offer.",
            "default": "all"
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "number",
            "description": "Lowest price to include, in the marketplace currency."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "number",
            "description": "Highest price to include, in the marketplace currency."
          },
          "categoryId": {
            "title": "eBay category ID",
            "type": "string",
            "description": "Restrict a search to one eBay category, for example 139971. Leave empty to search all categories."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "best_match",
              "time_ending_soonest",
              "time_newly_listed",
              "price_lowest",
              "price_highest",
              "price_lowest_plus_shipping",
              "price_highest_plus_shipping",
              "distance_nearest"
            ],
            "type": "string",
            "description": "How eBay should order the results before we page through them.",
            "default": "time_newly_listed"
          },
          "freeShippingOnly": {
            "title": "Free shipping only",
            "type": "boolean",
            "description": "Only return listings that ship free.",
            "default": false
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop any row whose title contains one of these words. Case-insensitive. Useful for stripping reprints, lots, damaged goods or specific graders.",
            "items": {
              "type": "string"
            }
          },
          "gradeFilter": {
            "title": "Graded or raw",
            "enum": [
              "any",
              "raw",
              "graded"
            ],
            "type": "string",
            "description": "Keep only graded slabs, only raw cards, or everything. The grade is read from the title. PSA, BGS/Beckett, CGC, SGC, PCGS and WATA are recognised on the name alone; TAG, ACE, HGA, CSG, MNT, AGS, GMA, KSA, VGA and NGC only when a grade number sits beside them, so ordinary listings like \"TAG Heuer\" are not mistaken for slabs.",
            "default": "any"
          },
          "salesPeriod": {
            "title": "Sales period",
            "enum": [
              "All",
              "ONE_MONTH",
              "SIX_MONTHS",
              "TWELVE_MONTHS"
            ],
            "type": "string",
            "description": "How far back to read the transaction feed in mode \"sales\". Recent periods have close to 100 percent price and item-link coverage; older feedback loses the item link first and then the price.",
            "default": "All"
          },
          "salesKeyword": {
            "title": "Filter sales by keyword",
            "type": "string",
            "description": "In mode \"sales\", only return transactions whose item title matches this keyword. This is how you get confirmed sold prices for one product from one seller."
          },
          "includeAutomatedFeedback": {
            "title": "Include automated feedback",
            "type": "boolean",
            "description": "eBay posts automated feedback on many orders. Those rows still carry a real price but no buyer comment. Untick to keep only buyer-written feedback.",
            "default": true
          },
          "includeMarketSummary": {
            "title": "Add a price summary row",
            "type": "boolean",
            "description": "Emit one extra row per query with min, 25th percentile, median, 75th, 90th, max, mean, standard deviation, total value and graded share. Billed once as a market summary, not per row.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Residential proxy is the default and is required for reliable results. Optional — proxy is handled for you and its cost is included in the price. Only set this if you have a specific reason."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}