{
  "openapi": "3.0.1",
  "info": {
    "title": "Fanatics Collect Card Auction Scraper: Prices, Sellers & Alerts",
    "description": "Scrape Fanatics Collect weekly, premier, and Buy Now listings with grading, sold comps, and seller/consignor identity per listing, the field no other Fanatics Collect scraper exposes. Includes a scheduled monitor mode for new listings and price drops. $1.76 per 1,000, no login required.",
    "version": "0.1",
    "x-build-id": "j15RlMaIvLbKl8rhz"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~fanaticscollect-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-fanaticscollect-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/getascraper~fanaticscollect-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-fanaticscollect-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/getascraper~fanaticscollect-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-fanaticscollect-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": {
          "keyword": {
            "title": "Search Keyword",
            "type": "string",
            "description": "Free-text search across title, player/brand, and card set (for example a player name like \"Ohtani\" or a set name like \"Prizm\"). Leave blank to browse every listing in the selected marketplaces and categories instead of searching.",
            "default": ""
          },
          "marketplaceTypes": {
            "title": "Marketplace Types",
            "type": "array",
            "description": "Which FanaticsCollect marketplaces to search: the rotating Weekly Auction, the higher-end Premier Auction, or the fixed-price Buy Now marketplace. All three are selected by default so results match the combined coverage of the existing Store competitors.",
            "items": {
              "type": "string",
              "enum": [
                "WEEKLY",
                "PREMIER",
                "FIXED"
              ],
              "enumTitles": [
                "Weekly Auction",
                "Premier Auction",
                "Buy Now (Fixed Price)"
              ]
            },
            "default": [
              "WEEKLY",
              "PREMIER",
              "FIXED"
            ]
          },
          "status": {
            "title": "Listing Status",
            "enum": [
              "any",
              "live",
              "sold"
            ],
            "type": "string",
            "description": "Restrict results to listings still open for bidding or purchase (Live), listings that already sold (Sold, useful for building a realized sold-price comp sheet), or both (Any).",
            "default": "any"
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Limit results to one or more categories, matching the exact filter checkboxes on FanaticsCollect's own site. Leave empty to include every category.",
            "items": {
              "type": "string",
              "enum": [
                "Baseball",
                "Basketball",
                "Football",
                "Hockey",
                "Pokémon (English)",
                "Pokémon (Japanese)",
                "Comics",
                "Other"
              ],
              "enumTitles": [
                "Baseball",
                "Basketball",
                "Football",
                "Hockey",
                "Pokémon (English)",
                "Pokémon (Japanese)",
                "Comics",
                "Other"
              ]
            },
            "default": []
          },
          "gradingServices": {
            "title": "Grading Services",
            "type": "array",
            "description": "Limit results to cards certified by one or more of these grading companies, matching the exact filter checkboxes on FanaticsCollect's own site. Leave empty to include every grader, including raw (ungraded) cards.",
            "items": {
              "type": "string",
              "enum": [
                "PSA",
                "BGS",
                "CGC",
                "SGC",
                "PSA/DNA",
                "BCCG",
                "BVG",
                "CSG",
                "GAI",
                "MBA",
                "VGA",
                "WATA",
                "Other Approved",
                "Ungraded"
              ],
              "enumTitles": [
                "PSA",
                "BGS",
                "CGC",
                "SGC",
                "PSA/DNA",
                "BCCG",
                "BVG",
                "CSG",
                "GAI",
                "MBA",
                "VGA",
                "WATA",
                "Other Approved",
                "Ungraded"
              ]
            },
            "default": []
          },
          "minGrade": {
            "title": "Minimum Grade",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Only include cards graded at or above this number (for example 9 to see only near-mint-or-better cards). Leave blank for no lower bound."
          },
          "maxGrade": {
            "title": "Maximum Grade",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Only include cards graded at or below this number. Leave blank for no upper bound."
          },
          "minPrice": {
            "title": "Minimum Price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Only include listings whose current bid, asking price, or sold price (depending on the Listing Status you chose above) is at or above this amount in US dollars. Leave blank for no lower bound."
          },
          "maxPrice": {
            "title": "Maximum Price (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Only include listings priced at or below this amount in US dollars. Leave blank for no upper bound."
          },
          "includeSalesHistory": {
            "title": "Include Sales History",
            "type": "boolean",
            "description": "For each result, fetch its past realized sale(s) (date and sold price) with one extra API call per listing. Off by default to keep the default run fast and cheap; turn on when you specifically need historical sold comps rather than just current listings.",
            "default": false
          },
          "maxItems": {
            "title": "Max Listings",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Maximum number of listings to return in this run. Kept small by default so the run finishes in well under 5 minutes; raise it for a bigger pull.",
            "default": 15
          },
          "monitorMode": {
            "title": "Monitor Mode",
            "enum": [
              "off",
              "changes"
            ],
            "type": "string",
            "description": "Off just returns a snapshot of matching listings, the same shape every other FanaticsCollect scraper on Apify offers. \"Track changes\" instead compares this run against the last run with the same search filters (persisted automatically between runs) and adds a changeType field to every emitted row: NEW_LISTING for a listing/seller/category combination not seen before, PRICE_DROP when FanaticsCollect's own markdown price has fallen since the last run, and BID_COUNT_INCREASE when an auction lot has picked up new bids. Pair this with an Apify Schedule (for example every 6 or 24 hours) to get a running feed of what changed, rather than re-downloading the same listings every time. No other FanaticsCollect Actor on the Store offers this.",
            "default": "off"
          },
          "monitorStateName": {
            "title": "Monitor Scope Name",
            "type": "string",
            "description": "Only used when Monitor Mode is set to \"Track changes\". An optional label so you can run this Actor on a schedule with several different filter combinations (for example \"psa10-pokemon\" and \"raw-baseball\") and have each one tracked as its own independent change history, instead of one filter's runs overwriting another's saved state.",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "FanaticsCollect's search and listing data comes from plain public JSON APIs (Algolia and GraphQL) that returned real data to a direct, unproxied request during testing, with no browser-level challenge on these specific calls. Apify's default datacenter proxy is confirmed sufficient; residential is not required.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}