{
  "openapi": "3.0.1",
  "info": {
    "title": "Franchise Disclosure Documents Scraper",
    "description": "Search every US state franchise registry that publishes FDD filings in one run: California DFPI, Wisconsin DFI, Minnesota CARDS, Virginia SCC and the NASAA depository states. Returns filings, dates, status, document links, FDD PDFs, Item 19 data and fee and investment ranges.",
    "version": "1.0",
    "x-build-id": "IctJGe5s0eoUXKgge"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~franchise-disclosure-documents-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-franchise-disclosure-documents-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/parseforge~franchise-disclosure-documents-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-franchise-disclosure-documents-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/parseforge~franchise-disclosure-documents-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-franchise-disclosure-documents-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": {
          "searchQuery": {
            "title": "Franchise name or keyword",
            "type": "string",
            "description": "Franchise or franchisor name to look up in every selected state, for example 'McDonald's', 'Subway' or 'pizza'. Leave empty to browse the registries without a name."
          },
          "searchQueries": {
            "title": "More franchise names",
            "type": "array",
            "description": "Extra names to search in the same run, one per line. Each name is searched in every selected state.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Filing URLs",
            "type": "array",
            "description": "Go straight to specific records: Wisconsin detail pages (apps.dfi.wi.gov/apps/FranchiseSearch/details.aspx?id=...), NASAA EFD franchise pages (nasaaefd.org/Franchise/123456/Name), California DFPI detail pages (dfpi.ca.gov/search-result-detail/?id=...) or Franchise Direct FDD summary pages.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "startUrl": {
            "title": "Single filing URL",
            "type": "string",
            "description": "Legacy single URL input, kept so saved tasks keep working. Accepts the same URLs as the list above."
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: limited to 10 items (preview). Paid users: up to 1,000,000."
          },
          "states": {
            "title": "States",
            "type": "array",
            "description": "Which state registries to query. California, Wisconsin, Minnesota and Virginia come from the state's own database; New York, Maryland, Illinois, North Dakota, South Dakota and Rhode Island come from the NASAA Electronic Filing Depository and need a franchise name.",
            "items": {
              "type": "string",
              "enum": [
                "CA",
                "WI",
                "MN",
                "VA",
                "NY",
                "MD",
                "IL",
                "ND",
                "SD",
                "RI"
              ],
              "enumTitles": [
                "California (DFPI)",
                "Wisconsin (DFI)",
                "Minnesota (CARDS)",
                "Virginia (SCC)",
                "New York (NASAA EFD)",
                "Maryland (NASAA EFD)",
                "Illinois (NASAA EFD)",
                "North Dakota (NASAA EFD)",
                "South Dakota (NASAA EFD)",
                "Rhode Island (NASAA EFD)"
              ]
            },
            "default": [
              "CA",
              "WI",
              "MN",
              "VA",
              "NY",
              "MD",
              "IL",
              "ND",
              "SD",
              "RI"
            ]
          },
          "status": {
            "title": "Registration status",
            "enum": [
              "all",
              "active",
              "expired",
              "pending",
              "closed"
            ],
            "type": "string",
            "description": "Keep only filings in this state. 'Active' covers registered, effective and exempt filings; Minnesota publishes documents without a status, so it is skipped when you pick anything other than 'Any status'.",
            "default": "all"
          },
          "filingType": {
            "title": "Filing type",
            "enum": [
              "all",
              "initial",
              "renewal",
              "amendment",
              "exemption",
              "advertisement",
              "fdd",
              "order",
              "notice"
            ],
            "type": "string",
            "description": "Keep only filings of this kind, matched across the wording each state uses.",
            "default": "all"
          },
          "documentType": {
            "title": "Minnesota document type",
            "enum": [
              "",
              "Clean FDD",
              "Final FDD",
              "Marked FDD",
              "Revised FDD - Clean",
              "Revised FDD - Marked Up",
              "Application and Certification (Form A)",
              "Financial Statements",
              "Franchise agreement",
              "Order of Registration and Instructions",
              "Order of Renewed Registration",
              "Order Amending Registration",
              "Order of Cancellation",
              "Order of Withdrawal - 120 Day",
              "Post-effective Amendment",
              "Pre-effective amendment",
              "Advertisement",
              "Advertisement Notice",
              "Exemption 80C.03(e)",
              "Exemption 80C.03(g)",
              "Sellers Disclosure Document Notice"
            ],
            "type": "string",
            "description": "Minnesota CARDS document type. 'Clean FDD' and 'Final FDD' are the ones that carry the disclosure document itself. Applies to Minnesota rows only.",
            "default": ""
          },
          "year": {
            "title": "Filing year",
            "type": "string",
            "description": "Keep only filings from this year, for example 2025. Minnesota applies it in the query itself."
          },
          "dateFrom": {
            "title": "Filed or effective from",
            "type": "string",
            "description": "Keep only filings dated on or after this day, as YYYY-MM-DD or MM/DD/YYYY."
          },
          "dateTo": {
            "title": "Filed or effective to",
            "type": "string",
            "description": "Keep only filings dated on or before this day, as YYYY-MM-DD or MM/DD/YYYY."
          },
          "includeFranchisorDetails": {
            "title": "Include franchisor details",
            "type": "boolean",
            "description": "Add the franchisor address, phone, filing contact, registered agent and the list of states the franchisor filed in. Available for Wisconsin and NASAA EFD rows; one extra request per record.",
            "default": false
          },
          "includeDocuments": {
            "title": "Include document list",
            "type": "boolean",
            "description": "Add every document filed with the registration, its type and its public download link where the state publishes one.",
            "default": false
          },
          "downloadFddPdf": {
            "title": "Download the FDD PDF",
            "type": "boolean",
            "description": "Download the franchise disclosure document itself and store a copy you can download from this run, for rows whose registry publishes the file (Wisconsin, Minnesota FDD documents, NASAA EFD, and California filings from the last 10 years). Files run from 1 MB to 40 MB.",
            "default": false
          },
          "extractFddFinancials": {
            "title": "Extract FDD fees and Item 19",
            "type": "boolean",
            "description": "Read the disclosure document and return the initial franchise fee, the total investment range, the Item 19 financial performance representation and the Item 20 outlet counts.",
            "default": false
          },
          "includeCostProfile": {
            "title": "Include fee and investment profile",
            "type": "boolean",
            "description": "Add the published fee and investment summary for the brand: franchise fee, total investment, royalty, ad fund, transfer fee, term, territory and the Item 7 investment table.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Parallel requests used for the optional blocks. Lower it if a registry rate limits the run.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "The NASAA depository blocks datacenter traffic, so US residential proxies are used for those states. The state registries are fetched directly.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}