{
  "openapi": "3.0.1",
  "info": {
    "title": "Fanatics Collect Scraper — Weekly Auctions & Sold Prices",
    "description": "Scrape Fanatics Collect weekly auctions, Premier lots, Buy Now listings, and sold comps. Get hammer, buyer's premium, bids, PSA/BGS grades, certs, consignor id, guide-price ratio, similar-item sales history, and images as JSON for dealers and pricing apps.",
    "version": "0.1",
    "x-build-id": "NDUFBYRusOQCzR1zD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawloop~fanatics-collect-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawloop-fanatics-collect-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~fanatics-collect-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawloop-fanatics-collect-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~fanatics-collect-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawloop-fanatics-collect-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "live",
              "sold",
              "marketplace",
              "lot_urls",
              "auto"
            ],
            "type": "string",
            "description": "What to scrape. live = current Weekly/Premier lots; sold = realized hammer comps; marketplace = Buy Now / fixed price; lot_urls = resolve specific lot URLs; auto picks from inputs.",
            "default": "live"
          },
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords (player, set, card, grade). Leave empty to browse all lots in the selected mode. Each query runs separately.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Lot URLs",
            "type": "array",
            "description": "Fanatics Collect lot URLs for lot_urls mode. Example: https://www.fanaticscollect.com/weekly/04f3f9a0-92bf-11f1-9928-0a58a9feac02/1958-editora-aquarela-black-number-pele-rookie-10-psa-3-vg",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "auctionType": {
            "title": "Marketplace / auction type",
            "enum": [
              "All",
              "Weekly",
              "Premier",
              "Fixed"
            ],
            "type": "string",
            "description": "One marketplace. Ignored when Marketplaces is set. Marketplace mode forces Buy Now (FIXED).",
            "default": "All"
          },
          "auctionTypes": {
            "title": "Marketplaces",
            "type": "array",
            "description": "Weekly, Premier, and Buy Now in one run. When set, this replaces Marketplace / auction type. A live run still follows the auctions marked live and keeps Buy Now beside them.",
            "items": {
              "type": "string",
              "enum": [
                "Weekly",
                "Premier",
                "Fixed"
              ],
              "enumTitles": [
                "Weekly auction",
                "Premier auction",
                "Buy Now (fixed price)"
              ]
            },
            "default": []
          },
          "auctionId": {
            "title": "Auction ID",
            "type": "string",
            "description": "Optional auction UUID or URN (WEEKLY:uuid or PREMIER:uuid). A bare UUID is matched as an auction URN. Leave empty in live mode to use the auction currently marked LIVE.",
            "default": ""
          },
          "soldOnly": {
            "title": "Force sold-only",
            "type": "boolean",
            "description": "When true, only sold lots (overrides live mode). Useful with keyword search for comps.",
            "default": false
          },
          "category": {
            "title": "Category",
            "type": "string",
            "description": "One leaf category (Basketball, Baseball, Pokémon) or a top-level group (Sports Cards, Trading Card Games, Video Games). Groups filter categoryParent. Combined with Categories.",
            "default": ""
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Leaf categories, combined with OR. Examples: Baseball, Basketball, Football, Hockey, Pokémon. Sports Cards, Trading Card Games, and Video Games are routed to the parent group. Combined with Category.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "categoryParents": {
            "title": "Category groups",
            "type": "array",
            "description": "Top-level groups, combined with OR. Use this for Comics or Other when you want the parent facet rather than a leaf category.",
            "items": {
              "type": "string",
              "enum": [
                "Sports Cards",
                "Trading Card Games",
                "Video Games",
                "Comics",
                "Other"
              ],
              "enumTitles": [
                "Sports Cards",
                "Trading Card Games",
                "Video Games",
                "Comics",
                "Other"
              ]
            },
            "default": []
          },
          "grader": {
            "title": "Grader",
            "enum": [
              "",
              "PSA",
              "BGS",
              "SGC",
              "CGC",
              "PSA/DNA",
              "CSG",
              "BCCG",
              "BVG",
              "MBA",
              "VGA",
              "WATA",
              "CBCS",
              "UDA",
              "CAC",
              "GAI",
              "Other Approved",
              "Ungraded"
            ],
            "type": "string",
            "description": "One grading company. Combined with Graders. Ungraded matches the Ungraded and Raw facets.",
            "default": ""
          },
          "graders": {
            "title": "Graders",
            "type": "array",
            "description": "Grading companies, combined with OR. Combined with Grader. Ungraded matches Ungraded and Raw.",
            "items": {
              "type": "string",
              "enum": [
                "PSA",
                "BGS",
                "SGC",
                "CGC",
                "PSA/DNA",
                "CSG",
                "BCCG",
                "BVG",
                "MBA",
                "VGA",
                "WATA",
                "CBCS",
                "UDA",
                "CAC",
                "GAI",
                "Other Approved",
                "Ungraded"
              ],
              "enumTitles": [
                "PSA",
                "BGS / Beckett",
                "SGC",
                "CGC",
                "PSA/DNA",
                "CSG",
                "BCCG",
                "BVG",
                "MBA",
                "VGA",
                "WATA",
                "CBCS",
                "UDA",
                "CAC",
                "GAI",
                "Other Approved",
                "Ungraded"
              ]
            },
            "default": []
          },
          "grade": {
            "title": "Grade",
            "type": "string",
            "description": "Exact numeric grade (10, 9.5, 8). Ignored when Min grade or Max grade is set.",
            "default": ""
          },
          "gradeMin": {
            "title": "Min grade",
            "minimum": 0,
            "type": "number",
            "description": "Only cards graded at or above this number. Leave empty for no floor."
          },
          "gradeMax": {
            "title": "Max grade",
            "minimum": 0,
            "type": "number",
            "description": "Only cards graded at or below this number. Leave empty for no ceiling."
          },
          "priceMin": {
            "title": "Min price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Minimum current / sale price. 0 or empty = no floor.",
            "default": 0
          },
          "priceMax": {
            "title": "Max price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Maximum current / sale price. 0 or empty = no ceiling.",
            "default": 0
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "featured",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Algolia index sort. Featured is the site default. Price replicas match the marketplace UI.",
            "default": "featured"
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum lot records across all queries. 0 walks the full filtered set (past the 1,000-hit search window). Values above 1,000 do the same. 1–1000 stay on ordinary search pages.",
            "default": 100
          },
          "hydrateDetails": {
            "title": "Hydrate lot details",
            "type": "boolean",
            "description": "Batch-fetch slug, eye appeal, auction names, and extra images via GraphQL. Turn off for maximum speed if Algolia fields are enough.",
            "default": true
          },
          "includeSalesHistory": {
            "title": "Include sales history",
            "type": "boolean",
            "description": "For each saved lot, attach similar-item hammers (date and price) from the listing page. Off by default. Fetched in batches of 40, and only for lots this run actually saves. Monitor ticks that find nothing new do not call it.",
            "default": false
          },
          "monitorMode": {
            "title": "Monitor mode",
            "type": "boolean",
            "description": "On a schedule, push and charge only new listing IDs, price drops, and bid-count increases. The first run is the baseline and still emits rows. An existing monitor store keeps its seen IDs: the next run records price and bids without re-billing those IDs.",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitor store name",
            "type": "string",
            "description": "Named Key-Value store for seen listing IDs across scheduled runs. Use a distinct name per watch (e.g. weekly-psa10 vs premier-jordan).",
            "default": "fanatics-collect-monitor"
          },
          "resetMonitorState": {
            "title": "Reset monitor state",
            "type": "boolean",
            "description": "Clear the seen-ID cache before this run (next run becomes a new baseline).",
            "default": false
          },
          "requestDelaySecs": {
            "title": "Request delay (seconds)",
            "minimum": 0,
            "type": "number",
            "description": "Throttle between API calls.",
            "default": 0.12
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. Fanatics Collect search API usually works without a proxy. Enable Apify Proxy only if you hit rate limits.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}