# Franchise Opportunities Scraper - Investment, Fees & Leads (`scrapers_lat/franchise-opportunities-scraper`) Actor

Scrape franchise opportunities from a franchise directory: brand name, industry, total investment range, franchise fee, cash and net worth required, training and financing, units and the request-info lead link. Filter by category and investment budget. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/franchise-opportunities-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Business, Lead generation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $17.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Franchise Opportunities Scraper - Investment, Fees & Franchisor Leads

> Pull a clean, structured list of franchise brands seeking franchisees, each with its full investment profile and the request-info lead link. Filter by industry and budget and export ready-to-work B2B leads for franchise brokers, consultants and investors.

**📥 [Input](https://apify.com/scrapers_lat/franchise-opportunities-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/franchise-opportunities-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/franchise-opportunities-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/franchise-opportunities-scraper/examples)**


![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![Franchise leads](https://img.shields.io/badge/Data-Franchise%20opportunities-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>Investment profile</strong><br>fee, cash & net worth</td>
<td align="center"><strong>High-intent leads</strong><br>brands seeking franchisees</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
</tr></table>

<br>

### What you get

Each record is one franchise opportunity, ready for a CRM, an outreach list or a spreadsheet:

- **brandName** and **category**: the franchise brand and its industry
- **minInvestment**, **maxInvestment**, **investmentRange**: the total investment window
- **franchiseFee**: the one-time franchise fee
- **liquidCapitalRequired** and **netWorthRequired**: the buyer qualification thresholds
- **royaltyFeePct**: ongoing royalty, when disclosed
- **unitsCount**, **yearFounded**, **yearFranchising**: brand size and track record
- **financingAvailable**, **financingAssistance**, **trainingProvided**, **homeBased**: support and format
- **availableLocations**: where the brand is expanding
- **businessType**: franchise or business opportunity
- **listingUrl** and **requestInfoUrl**: the direct listing and the request-info entry point for the franchisor
- **logoUrl**, **franchiseId**, **observedAt**: brand asset, identifier and freshness

Runs that find nothing are not billed: you only pay for real franchise records returned.

### Who is it for

| Use case | Who benefits |
|---|---|
| Franchise brokerage | Brokers and consultants building matched brand shortlists for clients |
| Investment research | Investors comparing entry cost, fees and net-worth requirements at scale |
| Lead generation | Suppliers and service providers targeting expanding franchise brands |
| Market analysis | Analysts mapping franchise categories, budgets and growth |

### How to use it

1. Add one or more **Franchise Categories** (for example `food`, `fitness`, `automotive`, `home-services`).
2. Optionally add **Investment Budget Ranges** (for example `under-50k`, `100k-250k`) to keep only franchises that match a budget.
3. Set **Max Franchises To Scrape** and run. Export as JSON, CSV or Excel, or pull it through the Apify API.

### Frequently Asked Questions

**Which categories can I choose?**
Common ones include food, restaurant, coffee, fitness, automotive, children, cleaning, healthcare, home-services, pet, travel, accounting-financial, advertising-marketing, education, employment-staffing, retail, entertainment, sports, vending, health-beauty, business-services, industrial and business-opportunities. You can pass several in one run.

**What do the investment fields mean?**
`minInvestment` and `maxInvestment` are the total estimated cost to open, `franchiseFee` is the up-front fee, and `liquidCapitalRequired` and `netWorthRequired` are the qualification thresholds a buyer must meet.

**How do I contact a franchisor?**
Each record includes `requestInfoUrl`, the request-info entry point where you submit interest to the brand, plus the full `listingUrl`.

**How fresh is the data?**
Every field is read live at run time, so each record reflects the listing at the moment of the run (see observedAt).

<!-- example-tasks -->
<!-- /example-tasks -->

<!-- related-actors -->
<!-- /related-actors -->

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for public platforms: finance, news, real estate, jobs, e-commerce and government data. Browse the full catalog or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with any franchise directory or brand. It only accesses publicly available listing data. Use the results in accordance with the source's terms.

# Actor input Schema

## `categories` (type: `array`):

One or more industry categories to scrape. One run covers every category in the list. Examples: food, restaurant, coffee, fitness, automotive, children, cleaning, healthcare, home-services, pet, travel, accounting-financial, advertising-marketing, education, employment-staffing, retail, entertainment, sports, vending, health-beauty, business-services, industrial, business-opportunities.
## `investmentRanges` (type: `array`):

Optional. Keep only franchises whose total investment (or required cash) falls in one of these budget buckets: under-50k, 50k-100k, 100k-250k, 250k-500k, 500k-1m, over-1m. Leave empty to include every budget.
## `maxFranchises` (type: `integer`):

Maximum number of franchise opportunities to collect across all selected categories.

## Actor input object example

```json
{
  "categories": [
    "food",
    "fitness"
  ],
  "maxFranchises": 30
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "categories": [
        "food",
        "fitness"
    ],
    "maxFranchises": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/franchise-opportunities-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "categories": [
        "food",
        "fitness",
    ],
    "maxFranchises": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/franchise-opportunities-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "categories": [
    "food",
    "fitness"
  ],
  "maxFranchises": 30
}' |
apify call scrapers_lat/franchise-opportunities-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/franchise-opportunities-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Franchise Opportunities Scraper - Investment, Fees & Leads",
        "description": "Scrape franchise opportunities from a franchise directory: brand name, industry, total investment range, franchise fee, cash and net worth required, training and financing, units and the request-info lead link. Filter by category and investment budget. Export to JSON, CSV or Excel.",
        "version": "0.1",
        "x-build-id": "moFej4g6t0DXRbLdt"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~franchise-opportunities-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-franchise-opportunities-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/scrapers_lat~franchise-opportunities-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-franchise-opportunities-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/scrapers_lat~franchise-opportunities-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-franchise-opportunities-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": {
                    "categories": {
                        "title": "Franchise Categories",
                        "type": "array",
                        "description": "One or more industry categories to scrape. One run covers every category in the list. Examples: food, restaurant, coffee, fitness, automotive, children, cleaning, healthcare, home-services, pet, travel, accounting-financial, advertising-marketing, education, employment-staffing, retail, entertainment, sports, vending, health-beauty, business-services, industrial, business-opportunities.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "investmentRanges": {
                        "title": "Investment Budget Ranges",
                        "type": "array",
                        "description": "Optional. Keep only franchises whose total investment (or required cash) falls in one of these budget buckets: under-50k, 50k-100k, 100k-250k, 250k-500k, 500k-1m, over-1m. Leave empty to include every budget.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxFranchises": {
                        "title": "Max Franchises To Scrape",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum number of franchise opportunities to collect across all selected categories."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
