{
  "openapi": "3.0.1",
  "info": {
    "title": "OfferUp Scraper",
    "description": "Collect public OfferUp listings by keyword, search URL, or listing ID. Get asking prices and locations, with optional seller, photo, and vehicle details for resale and market research.",
    "version": "0.0",
    "x-build-id": "CjsG7T04uzNShUtc0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maximedupre~offerup-marketplace/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maximedupre-offerup-marketplace",
        "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/maximedupre~offerup-marketplace/runs": {
      "post": {
        "operationId": "runs-sync-maximedupre-offerup-marketplace",
        "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/maximedupre~offerup-marketplace/run-sync": {
      "post": {
        "operationId": "run-sync-maximedupre-offerup-marketplace",
        "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": [
          "discoveryMethod"
        ],
        "properties": {
          "discoveryMethod": {
            "title": "Find listings by",
            "enum": [
              "keywords",
              "searchUrls",
              "listings"
            ],
            "type": "string",
            "description": "Choose how to find public OfferUp listings."
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Enter one or more keywords. All keywords use the same search filters. Required for Keywords.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Search or explore URLs",
            "type": "array",
            "description": "Enter public OfferUp search or explore URLs. The URLs set the base search. Shared filters below apply to each URL. Required for Search or explore URLs.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "listings": {
            "title": "Listing URLs or IDs",
            "type": "array",
            "description": "Enter public OfferUp item URLs or listing IDs, one per line. Required for Listing URLs or IDs. Public listing details are included when available and carry a separate charge.",
            "items": {
              "type": "string"
            }
          },
          "zipCode": {
            "title": "US ZIP code",
            "pattern": "^[0-9]{5}$",
            "type": "string",
            "description": "Search location for Keywords and Search or explore URLs. Enter five digits. Use a ZIP code or coordinates, but not both."
          },
          "coordinates": {
            "title": "Coordinates",
            "required": [
              "latitude",
              "longitude"
            ],
            "type": "object",
            "description": "Search location for Keywords and Search or explore URLs. Enter latitude and longitude. Use coordinates or a ZIP code, but not both.",
            "properties": {
              "latitude": {
                "title": "Latitude",
                "type": "number",
                "description": "Latitude in decimal degrees.",
                "minimum": -90,
                "maximum": 90
              },
              "longitude": {
                "title": "Longitude",
                "type": "number",
                "description": "Longitude in decimal degrees.",
                "minimum": -180,
                "maximum": 180
              }
            }
          },
          "radiusMiles": {
            "title": "Search radius in miles",
            "minimum": 0,
            "type": "number",
            "description": "For Keywords and Search or explore URLs. Requires a search location here or in the URL. Distance uses approximate public locations."
          },
          "category": {
            "title": "OfferUp category",
            "type": "string",
            "description": "For Keywords and Search or explore URLs. Enter the OfferUp category ID from a public category URL."
          },
          "minPrice": {
            "title": "Minimum price in USD",
            "minimum": 0,
            "type": "number",
            "description": "For Keywords and Search or explore URLs. Include listings at or above this asking price."
          },
          "maxPrice": {
            "title": "Maximum price in USD",
            "minimum": 0,
            "type": "number",
            "description": "For Keywords and Search or explore URLs. Include listings at or below this asking price. Must be at least the minimum price."
          },
          "conditions": {
            "title": "Item conditions",
            "type": "array",
            "description": "For Keywords and Search or explore URLs. Choose one or more source-published conditions. Leave blank for any condition.",
            "items": {
              "type": "string",
              "enum": [
                "new",
                "openBox",
                "reconditioned",
                "used",
                "forParts",
                "other"
              ],
              "enumTitles": [
                "New",
                "Open box",
                "Reconditioned",
                "Used",
                "For parts",
                "Other"
              ]
            }
          },
          "pickupOnly": {
            "title": "Local pickup only",
            "type": "boolean",
            "description": "For Keywords and Search or explore URLs. Include only listings with public data that confirms local pickup. Leave unchecked to apply no pickup filter.",
            "default": false
          },
          "shippingOnly": {
            "title": "Shipping only",
            "type": "boolean",
            "description": "For Keywords and Search or explore URLs. Include only listings with public data that confirms shipping. Leave unchecked to apply no shipping filter. If Local pickup only is also checked, listings must offer both.",
            "default": false
          },
          "postedAfter": {
            "title": "Posted on or after",
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
            "type": "string",
            "description": "For Keywords and Search or explore URLs. Include listings with a public posted date on or after this date. Listings without a posted date are excluded."
          },
          "sortBy": {
            "title": "Search order",
            "enum": [
              "relevance",
              "newest",
              "closest",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "For Keywords and Search or explore URLs. Choose the order within each search. Leave blank to use the source order."
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many qualifying listings across the run. Leave blank to return all available results until the source is exhausted. Searches continue beyond the first page."
          },
          "includeDetails": {
            "title": "Include listing details",
            "type": "boolean",
            "description": "For Keywords and Search or explore URLs. Add public item-page details such as descriptions, photo galleries, seller data, and vehicle facts when available. Successful details carry a separate charge. Listing URLs or IDs always include available details. Valid listings are kept if details are unavailable.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}