ParseForge Scrapers

Franchise Disclosure Documents Scraper

parseforge/franchise-disclosure-documents-scraper

AutomationDeveloper toolsOther

Scrapes Franchise Disclosure Documents (FDDs) from the Wisconsin DFI registry by search query or direct URL. Returns each filing as a flat row with fees, investment ranges, and Item 19 data.

Run this scraper See the API call
Total users
7
Monthly active
1
Total runs
905
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Franchise Disclosure Documents Scraper

Scrape Franchise Disclosure Documents (FDDs) by franchise name, keyword, or direct URL, up to a million per run. Each document returns the full filing text, fees, investment ranges, and financial performance data. No login or API key. Export to CSV, JSON, Excel, or XML.

Finding the real numbers inside a Franchise Disclosure Document means downloading PDFs from state registries and reading hundreds of pages. This Actor reads the public FDD filings directly from the Wisconsin DFI registry, so you get the structured data without manual lookups. Search by franchise name or keyword like 'pizza' or 'cleaning', or drop in a direct URL, and every match lands in one fixed schema.

Who uses it What they scrape Franchise Disclosure Documents for
Franchise buyers Compare initial fees, royalties, and Item 19 earnings across brands before signing.
Franchise brokers Pull the latest FDD numbers for multiple brands to build side-by-side comparisons for clients.
Competitive intelligence analysts Track how franchise fees and unit counts change quarter over quarter for a set of brands.
Attorneys and due-diligence firms Automate the collection of FDD filings for legal review and compliance checks.

What it does

This Actor collects Franchise Disclosure Documents from the Wisconsin DFI registry by search query or direct URL and returns each filing as a flat row.

  • ๐Ÿ” Search by keyword: type a franchise name or a category like 'pizza' or 'fitness' and collect every matching FDD.
  • ๐Ÿ”— Direct URL input: paste the URL of a specific FDD page and the Actor returns that single filing.
  • ๐ŸŒ Full discovery mode: leave both search and URL empty and the Actor crawls all available franchises in the registry.
  • โš™๏ธ Concurrency control: dial the number of parallel requests up or down to balance speed against rate limits.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Franchise Disclosure Documents data

๐Ÿ“Š Build a franchise comparison spreadsheet.

A prospective franchisee searches for 'fast food' and collects 50 FDDs, then sorts by royalty rate and initial investment to shortlist affordable brands.

๐Ÿ“ˆ Monitor fee changes over time.

A market analyst runs the Actor monthly for the same 20 franchise names and diffs the franchise fee and ad-fund columns to spot pricing trends.

โš–๏ธ Automate legal due diligence.

A law firm feeds a list of franchise URLs into the Actor and receives a structured dataset for every client matter, cutting document review time.

๐Ÿข Generate lead lists for franchise sales.

A broker runs a keyword search for 'home services' and exports the contact details and investment ranges to qualify new prospects.

Why choose this scraper

What you get
No PDF downloads Structured data extracted from the registry, not raw files you have to parse.
One fixed schema Every FDD returns the same fields, so you can compare brands directly in a spreadsheet.
No login or API key Reads the public registry; no app registration, no OAuth, no rate-limit headaches.
Export anywhere CSV, JSON, Excel, or XML, ready for your BI tool or due-diligence checklist.

How it compares

This Actor focuses on raw FDD extraction from the Wisconsin registry, while the competitors below add computed scores, parse PDFs from other states, or deliver data through a different protocol.

Feature ParseForge Franchise Investment Data - FDD Costs, Fees & Unit Counts FDD Item 19 Parser - Franchise AUV & Financial Performance Franchise Due Diligence MCP Server
Scrapes Wisconsin DFI registry Yes Not listed Not listed Not listed
Search by franchise name or keyword Yes Not listed Yes Not listed
Direct URL input for a single FDD Yes Not listed Not listed Not listed
Full discovery mode (all franchises) Yes Not listed Not listed Not listed
Pre-computed payback and health scores Not listed Yes Not listed Not listed
Extracts Item 19 dollar figures from PDFs Not listed Not listed Yes Not listed
Delivers data via MCP protocol Not listed Not listed Not listed Yes

Configure the run

Drive the Actor from a franchise name, a keyword, or a direct FDD URL, alone or together, and set a maximum document count so only the filings you need reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Pricing

Pay-per-result: $0.01734 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $1.73
1,000 results $17.34
10,000 results $173.40

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Franchise Disclosure Documents Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Franchise Disclosure Documents through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/franchise-disclosure-documents-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results for my search query?

Check the spelling of the franchise name or try a broader keyword. The Wisconsin registry may not have filings for every brand, especially newer or very small franchises.

The Actor is running very slowly.

Increase 'Max Concurrency' to speed up parallel requests, but stay under 10 to avoid rate-limiting. If you are already rate-limited, lower the concurrency instead.

I pasted a URL and a search query and the run failed.

You cannot use both at the same time. Clear one of the fields. Use a URL for a single filing, or a search query to find multiple franchises.

Some fields are empty in my output.

Not every FDD filing includes all data points. Some brands may omit Item 19 financial performance or certain fee details. The Actor returns whatever the registry provides.

The Actor stopped before collecting all the documents I wanted.

Check your 'Maximum documents' setting. The Actor stops when it reaches that number. Increase the limit and run it again.

FAQ

Question Answer
Which state registry does this Actor scrape? It reads the Wisconsin Department of Financial Institutions franchise registry, which hosts thousands of FDD filings for brands operating in the US.
Can I scrape a specific franchise by name? Yes. Use the 'Franchise name or keyword' field and enter the exact brand name, like 'McDonald's' or '7-Eleven', and the Actor returns every matching FDD.
What if I already have the FDD URL? Paste it into the 'Franchise document URL' field and the Actor scrapes that single filing. You cannot use a URL and a search query in the same run.
Does this Actor download the PDF files? No. It extracts the structured data from the registry listing and returns it as rows. If you need the raw PDF, you can use the URL in the output to download it separately.
How many documents can I collect in one run? You set the limit with 'Maximum documents', up to 1,000,000 per run. The Actor stops when it hits that number or runs out of matching filings.
What data fields does the output include? The output includes the franchise name, filing date, initial investment range, franchise fee, royalty and ad-fund rates, Item 19 financial performance text, and more, all in a flat row.
Can I scrape all franchises without a search term? Yes. Leave both the search query and the start URL empty and the Actor will discover and collect every available FDD in the registry, up to your maxItems limit.
Is this Actor legal to use? It reads publicly available data from a government registry. You are responsible for complying with the registry's terms of service and any applicable laws.
What export formats are supported? You can export your dataset to CSV, JSON, Excel, or XML directly from the Apify platform.
How do I avoid getting rate-limited? Lower the 'Max Concurrency' setting in the Advanced Options. A value of 1 or 2 is the safest, though it will take longer to complete.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Wisconsin Department of Financial Institutions. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
startUrl string URL of a specific franchise FDD page. Cannot be used together with Search Query. not set
maxItems integer How many documents to collect per run. 10
searchQuery string Search franchises by name or keyword (e.g. 'pizza', 'cleaning', 'McDonald's'). Cannot be used together with Start URL. Leave both empty to discover all available franchises. not set
maxConcurrency integer Maximum number of parallel requests. Lower this if you get rate-limited. 5

Pricing

from $12.99 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged once when the run starts. $0.005
Result Item Charged once per result collected. $0.01299 to $0.01734

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~franchise-disclosure-documents-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Franchise Disclosure Documents Scraper on Apify All scrapers