Franchise Direct Scraper — Franchise List & Investment Data avatar

Franchise Direct Scraper — Franchise List & Investment Data

Pricing

from $4.00 / 1,000 franchise record scrapeds

Go to Apify Store
Franchise Direct Scraper — Franchise List & Investment Data

Franchise Direct Scraper — Franchise List & Investment Data

Export a franchise list from Franchise Direct with category, franchise fee, minimum cash and investment range for investors and brokers. USD 5 per 1,000.

Pricing

from $4.00 / 1,000 franchise record scrapeds

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

10 days ago

Last modified

Features

Limited permissions

Share

Franchise Direct Scraper turns public Franchise Direct category, ranking and profile pages into a franchise list with brand name, category, franchise fee, minimum cash required, total investment range, available locations and training notes. It is built for franchise investors, brokers, consultants and market researchers, and costs USD 5 per 1,000 franchise records on the FREE tier (USD 4 per 1,000 on GOLD).

It reads only public pages on franchisedirect.com. It does not log in, submit "Request Information" forms or collect franchisor contact details, and it is not affiliated with Franchise Direct.

What data does Franchise Direct Scraper return?

One dataset row per franchise profile. A value is null (or an empty list) when the profile does not show it; nothing is estimated.

FieldWhat it contains
nameFranchise brand name from the profile heading
categoryFranchise Direct category, for example Food Franchises
franchiseFeeInitial franchise fee in USD, as a number
minimumCashMinimum cash or liquid capital required, in USD
totalInvestmentMin, totalInvestmentMaxLow and high end of the total investment range, in USD
investmentTextThe original investment text from the page, kept for checking the parsed numbers
availableLocationsThe profile's "Available Locations" statement, kept verbatim as one list entry
businessType, trainingBusiness type (for example Franchise) and the "Training Provided" value (for example Yes)
tagline, descriptionThe profile's summary text
profileUrl, sourceUrlThe profile URL and the page it was read from
rank, nativeCountryRanking position and country of origin from a ranking page such as the Top 100; null for category and profile pages
imageUrlThe franchise's logo or share image
territoryKept in the schema; empty on current profile pages
scrapedAtCollection time (ISO 8601)

In the 2026-10-27 check of the Food Franchises category, all 13 records had a name, category, description and minimum cash, and 10 of 13 had a franchise fee and an investment range.

How do I export a franchise list with fees and investment ranges?

Paste one or more Franchise Direct URLs, set a record cap, and run. The Actor finds the profile links on each page, opens every profile, and saves one row per franchise.

  1. Start URLs: a category page such as https://www.franchisedirect.com/foodfranchises/14, the Top 100 ranking https://www.franchisedirect.com/top100globalfranchises/rankings, a search-result page, or individual profile URLs.
  2. Maximum Franchise Records: 1–1,000, default 20. Start with 20 to check the fields you need.
  3. Include Public Profile Details: on by default. Turn it off for a fast list of names and profile URLs only (no fees or investment figures).
  4. Download the dataset as CSV, JSON or Excel, or read it through the API.

Food and restaurant franchises with full profile details:

{
"startUrls": [{ "url": "https://www.franchisedirect.com/foodfranchises/14" }],
"maxItems": 50,
"includeProfileDetails": true
}

Two specific brands:

{
"startUrls": [
{ "url": "https://www.franchisedirect.com/food-franchises/kilwins" },
{ "url": "https://www.franchisedirect.com/food-franchises/h-h-bagels/" }
],
"maxItems": 2
}

A run summary is saved under the OUTPUT key: records saved, pages processed, records charged, the stop reason and any warnings, such as a page where no profile links were found.

When should I use it, and when not?

Use it when you want a spreadsheet of franchise opportunities from Franchise Direct with their published fees, cash requirements and investment ranges, for shortlisting, broker research or market sizing.

Use another Actor when:

Use it from an AI assistant

Franchise Direct Scraper works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add it with https://mcp.apify.com/?tools=muhammadafzal/franchise-direct-scraper, then ask, for example: "List 20 food franchises from Franchise Direct with their franchise fee, minimum cash and total investment range."

Run it with the API

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/franchise-direct-scraper').call({
startUrls: [{ url: 'https://www.franchisedirect.com/top100globalfranchises/rankings' }],
maxItems: 25,
includeProfileDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((f) => `${f.name} | fee ${f.franchiseFee} | cash ${f.minimumCash}`));

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("muhammadafzal/franchise-direct-scraper").call(
run_input={
"startUrls": [{"url": "https://www.franchisedirect.com/foodfranchises/14"}],
"maxItems": 20,
}
)
for franchise in client.dataset(run.default_dataset_id).iterate_items():
print(franchise["name"], franchise["totalInvestmentMin"], franchise["totalInvestmentMax"])

What does the output look like?

Two records from the 2026-10-27 Food Franchises run (descriptions shortened):

[
{
"name": "H&H Bagels",
"profileUrl": "https://www.franchisedirect.com/food-franchises/h-h-bagels/",
"sourceUrl": "https://www.franchisedirect.com/food-franchises/h-h-bagels/",
"category": "Food Franchises",
"rank": null,
"tagline": "Bring an iconic New York City bagel brand to your market with H&H Bagels...",
"minimumCash": 250000,
"franchiseFee": 40000,
"totalInvestmentMin": 635000,
"totalInvestmentMax": 950000,
"investmentText": "$635,000 - $950,000",
"availableLocations": ["Multi-unit opportunities available throughout the US, EXCLUDING: FL, MT, UT."],
"businessType": "Franchise",
"training": "Yes",
"nativeCountry": null,
"territory": null,
"imageUrl": "https://franchisedirect-40-prod-ops.s3.amazonaws.com/4f/d4/2abcdd7b4a51803f41b0b8c7ba32/hh-logo.png",
"scrapedAt": "2026-10-27T07:40:12.435Z"
},
{
"name": "Graze Craze",
"profileUrl": "https://www.franchisedirect.com/food-franchises/graze-craze/",
"category": "Food Franchises",
"minimumCash": 50000,
"franchiseFee": 49500,
"totalInvestmentMin": 150000,
"totalInvestmentMax": 175000,
"investmentText": "$150,000 - $175,000",
"availableLocations": ["Single, multi-unit, area developer opportunities available throughout the United States. Excluding AK."],
"training": "Yes",
"scrapedAt": "2026-10-27T07:40:18.732Z"
}
]

Pricing: how much does franchise data cost?

Franchise Direct Scraper uses pay-per-event pricing. Platform usage is included in the event prices.

EventFREEBRONZESILVERGOLDPLATINUM / DIAMOND
Franchise record scraped (one dataset row)USD 0.005001USD 0.004875USD 0.00475USD 0.004USD 0.004
Actor start, per started GB of allocated memoryUSD 0.006251USD 0.006094USD 0.005938USD 0.005USD 0.005

Runs use 512 MB by default, so one start event is charged per run. Worked totals on the FREE tier:

  • 20 records (the default cap): 20 × USD 0.005001 + USD 0.006251 = USD 0.1063
  • 500 records: 500 × USD 0.005001 + USD 0.006251 = USD 2.5068

Each unique franchise is charged once, after its record is saved. Landing, article and other non-profile pages are never saved or charged, and a page that yields no franchises charges nothing beyond the start event. You can set a maximum cost per run in Apify Console.

How long does a run take, and what are the limits?

  • Speed: the 2026-10-27 check saved 13 records from one category page in about 39 seconds, with 3 parallel requests.
  • Coverage per page: the Actor follows the franchise cards listed on each page you supply (13 on the Food Franchises page on 2026-10-27, below the cap of 20), so add more category URLs for a bigger list. Sub-category links on a category page are not followed; paste them as start URLs if you want them.
  • Profile detection: a page becomes a record only when it shows Franchise Direct's profile fact or financial tables, so landing and article pages are skipped.
  • Ranking entries: on the Top 100 page, some entries link to a franchise's FDD summary page instead of a profile. Those rows keep rank, name, nativeCountry and category from the ranking, with fees and investment null (2 of the top 3 on 2026-10-27).
  • Empty fields: territory is not shown on current profile pages. Fees and investment ranges are present only when the brand publishes them.
  • Parsed numbers: dollar amounts are parsed from the profile's financial table; check investmentText before relying on a figure.
  • Data access is handled by the Actor; there are no proxy settings to configure.

FAQ

Is this Actor affiliated with Franchise Direct?

No. It is an independent tool that reads publicly accessible Franchise Direct pages.

Can I export the Franchise Direct Top 100 ranking?

Yes. Use the ranking URL as a start URL. Each row carries its rank, country of origin and industry, and the Actor adds profile details when the ranking links to a profile page.

Why are some franchise fees or investment ranges empty?

Brands decide what their profile shows. In the 2026-10-27 check, 10 of 13 food profiles listed a franchise fee. A null means the page did not show it.

Does it return franchisor contact details or emails?

No. It does not submit lead forms and does not collect contact details.

Can I get Franchise Disclosure Document (FDD) data?

No. It returns what Franchise Direct profiles display. For state registrations and links to public franchise documents, use the Wisconsin or Minnesota Actor listed above.

Can I scrape the whole franchise directory?

You can run several category URLs in one run, up to 1,000 records. Start with a small cap and add categories as needed.

Is the data current?

Every run reads the live pages, so the data is as current as Franchise Direct's profiles on the day you run it.

Franchise and small-business research tools from the same developer:

Franchise Direct Scraper collects information that franchisors publish on public Franchise Direct profile pages. It does not log in, submit forms or bypass access controls. Follow Franchise Direct's terms and applicable laws, and treat the figures as a starting point: confirm them with the franchisor and the Franchise Disclosure Document before investing. This is not financial or legal advice.

Last verified: 2026-10-27