{
  "openapi": "3.0.1",
  "info": {
    "title": "eBay Sold Listings Scraper 💰 sold & live price comps",
    "description": "See what things really sell for on eBay: sold price, date, condition and seller, plus instant price comps (min, max, average, median). Sign in with your own eBay session to unlock real sold prices, or run without one for clearly-labeled live asking-price comps. No API key, platform usage included.",
    "version": "0.1",
    "x-build-id": "3jHYewt7AsjrFh4ff"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tagadanar~ebay-sold-comps/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tagadanar-ebay-sold-comps",
        "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/tagadanar~ebay-sold-comps/runs": {
      "post": {
        "operationId": "runs-sync-tagadanar-ebay-sold-comps",
        "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/tagadanar~ebay-sold-comps/run-sync": {
      "post": {
        "operationId": "run-sync-tagadanar-ebay-sold-comps",
        "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",
        "required": [
          "search"
        ],
        "properties": {
          "search": {
            "title": "Products or eBay URLs",
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "description": "One search per entry. Use a product keyword (e.g. <code>nintendo switch oled</code>, <code>pokemon booster box</code>) or paste any eBay search URL. The sold + completed filter is added automatically, so a normal eBay listings URL works too. Each search returns its sold items plus one price-comps summary row.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max listings",
            "minimum": 1,
            "maximum": 12000,
            "type": "integer",
            "description": "Total listings to return across all searches. eBay shows the most recent completed sales first, so a few hundred is usually enough for a solid price comp. The ceiling is what one search can actually reach: 50 result pages of 240 items.",
            "default": 200
          },
          "priceMin": {
            "title": "Minimum price (USD)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Only keep listings at or above this price. Leave empty for no minimum. Useful on comps: one $20 broken unit drags the median down. eBay's own price filter lets some tiles through, so the range is applied a second time on our side and out-of-range rows are never charged."
          },
          "priceMax": {
            "title": "Maximum price (USD)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Only keep listings at or below this price. Leave empty for no maximum. Combine with the minimum to comp a single grade of an item (e.g. 150 to 250 for working consoles)."
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "used",
              "for-parts"
            ],
            "type": "string",
            "description": "Restrict the comp to one condition. \"New\" covers eBay's new family (brand new, new other, open box); \"Used / pre-owned\" covers used and refurbished; \"For parts or not working\" is the salvage bucket. Rows whose condition eBay does not state are kept, so nothing you paid for is silently dropped.",
            "default": "any"
          },
          "ebaySignInCookies": {
            "title": "eBay sign-in cookies (unlocks sold prices)",
            "type": "string",
            "description": "Since July 2026, eBay shows sold prices only to signed-in visitors. Paste your own signed-in eBay session here to unlock real sold prices: either the JSON export of a cookie extension like Cookie-Editor (easiest — two clicks, see the README) or the raw Cookie header from your browser's DevTools. Stored encrypted, never shown in logs. Leave empty to get clearly-labeled asking-price comps instead."
          },
          "fallbackToActiveListings": {
            "title": "Fall back to live listings when sold prices are unavailable",
            "type": "boolean",
            "description": "When sold results can't be retrieved (no eBay session provided, or the session expired), return the current live listings for the same search instead — asking prices, always labeled <code>priceType: \"asking\"</code> so they can never be mistaken for sales. Turn off to receive sold data only.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}