{
  "openapi": "3.0.1",
  "info": {
    "title": "BizQuest Franchises For Sale Scraper",
    "description": "Scrapes franchise brands for sale from BizQuest: name, min liquid capital, franchise fee, total investment range, unit counts, average unit revenue and the states where each franchise is available.",
    "version": "0.0",
    "x-build-id": "SIu27PEuSdRdfxEyx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datacach~bizquest-franchises-for-sale-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datacach-bizquest-franchises-for-sale-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/datacach~bizquest-franchises-for-sale-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datacach-bizquest-franchises-for-sale-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/datacach~bizquest-franchises-for-sale-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datacach-bizquest-franchises-for-sale-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": {
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Only return franchises available in these places. Leave empty for all of them. Picking several locations and several industries scrapes every combination of the two. Free plan runs use only the first location you pick.",
            "items": {
              "type": "string",
              "enum": [
                "Alabama",
                "Alaska",
                "Arizona",
                "Arkansas",
                "California",
                "Canada",
                "Colorado",
                "Connecticut",
                "Delaware",
                "Florida",
                "Georgia",
                "Hawaii",
                "Idaho",
                "Illinois",
                "Indiana",
                "Iowa",
                "Kansas",
                "Kentucky",
                "Louisiana",
                "Maine",
                "Maryland",
                "Massachusetts",
                "Michigan",
                "Minnesota",
                "Mississippi",
                "Missouri",
                "Montana",
                "Nebraska",
                "Nevada",
                "New Hampshire",
                "New Jersey",
                "New Mexico",
                "New York",
                "North Carolina",
                "North Dakota",
                "Ohio",
                "Oklahoma",
                "Oregon",
                "Pennsylvania",
                "Rhode Island",
                "South Carolina",
                "South Dakota",
                "Tennessee",
                "Texas",
                "Utah",
                "Vermont",
                "Virginia",
                "Washington",
                "Washington DC",
                "West Virginia",
                "Wisconsin",
                "Wyoming"
              ]
            },
            "default": []
          },
          "industries": {
            "title": "Industries",
            "type": "array",
            "description": "Only return franchises in these categories. Leave empty for all of them. Some options are attributes rather than sectors — 'Home Based', 'Veteran's', 'SBA Approved', 'Cheap Franchises', 'Top Franchises', 'High Capital', 'Master Franchises' and 'Multi Unit' are BizQuest's own filter categories, not industries. Free plan runs use only the first industry you pick.",
            "items": {
              "type": "string",
              "enum": [
                "Automotive",
                "Business Opportunities",
                "Business Services",
                "Cheap Franchises",
                "Children's",
                "Cleaning & Maintenance",
                "Computer & Internet",
                "Education",
                "Fitness & Beauty",
                "Food & Restaurant",
                "Green",
                "Healthcare & Senior Care",
                "High Capital",
                "Home Based",
                "Home Services",
                "Master Franchises",
                "Mobile",
                "Multi Unit",
                "Pet",
                "Retail",
                "SBA Approved",
                "Sports & Recreation",
                "Top Franchises",
                "Travel & Lodging",
                "Veteran's"
              ]
            },
            "default": []
          },
          "investmentAmounts": {
            "title": "Investment amounts",
            "type": "array",
            "description": "Only return franchises within these investment brackets. Each bracket is an upper bound, so '$50,000' means franchises costing up to $50,000. Free plan runs use only the first investment amount you pick.",
            "items": {
              "type": "string",
              "enum": [
                "Less than $10,000",
                "$20,000",
                "$30,000",
                "$40,000",
                "$50,000",
                "$60,000",
                "$70,000",
                "$80,000",
                "$90,000",
                "$100,000",
                "$150,000",
                "$200,000",
                "$250,000",
                "$300,000",
                "$350,000",
                "$400,000",
                "$450,000",
                "$500,000",
                "$500,000 +"
              ]
            },
            "default": []
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Specific BizQuest franchise listing pages to scrape, for example https://www.bizquest.com/franchise-for-sale/pet-franchises-in-texas-tx/. Paste listing pages, not individual franchise pages. Leave empty to rely on the filters above. Free plan runs use only the first start URL you provide.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Maximum franchises",
            "minimum": 0,
            "type": "integer",
            "description": "Stop the run once this many franchises have been collected. Set to 0 for no limit, which scrapes the full catalog of roughly 1,900 brands. Keep this low while testing so runs finish quickly. Free plan is capped at 50.",
            "default": 100
          },
          "requestDelaySeconds": {
            "title": "Delay between requests",
            "minimum": 0,
            "maximum": 60,
            "type": "integer",
            "description": "How long to pause between page requests. The default of 0 runs at full speed. Raise it if the run starts logging HTTP 403 errors, which means BizQuest is throttling your IP.",
            "default": 0
          },
          "maxConcurrency": {
            "title": "Maximum concurrency",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many pages to fetch at the same time. Lower this together with raising the delay if you hit HTTP 403 errors. Free plan is capped at 5.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "This Actor does not need a proxy for normal runs. Enable one only if you are scraping the full catalog repeatedly or seeing HTTP 403 errors.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}