Franchise Resale Scraper — Listings & Prices
Pricing
from $10.00 / 1,000 franchise resale listing returneds
Franchise Resale Scraper — Listings & Prices
Extract public FranchiseRESALES.com resale listings for acquisition sourcing. Returns one listing per row with brand, location, asking price, description, image, and source URL. $0.01 per listing returned.
Pricing
from $10.00 / 1,000 franchise resale listing returneds
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Franchise Resale Scraper — Listings, Brands & Prices
Free-plan limit: Apify free-plan runs can return at most 5 dataset records per run from this Actor, even if you request more.
Collect structured, public franchise-resale listings from FranchiseRESALES.com for acquisition sourcing, market research, and franchise-broker workflows. Each dataset row represents one public resale listing, with its asking price, location, public description, image, and source URL.
This Actor is purpose-built for the FranchiseRESALES.com marketplace. It is not a cross-marketplace business-for-sale scraper, a seller-contact extractor, or a tool for submitting enquiries and forms.
What it returns
| Field | Description |
|---|---|
title, franchiseBrand, industry | Public listing identity and categorization |
location, city, stateOrProvince, country | Publicly displayed location, with conservative parsed components |
askingPrice, currency, priceText | Published price as original text and a normalized value when unambiguous |
summary, description, publishedFacts | Public marketing text and publicly labeled business facts |
imageUrl, listingUrl, sourceUrl | Public image and auditable source links |
scrapedAt | UTC extraction timestamp |
Unavailable fields are null; this Actor does not estimate prices, revenue, brand identity, or private contact information.
When to use it
Use it to export current FranchiseRESALES.com opportunities, create a watchlist of public listings, compare advertised asking prices, or load structured opportunities into an internal research tool.
Do not use it to collect non-public seller details, submit contact forms, bypass access controls, or make an acquisition decision without independent financial and legal due diligence. For franchise opportunities that are not existing resales, use a new-franchise directory scraper instead.
Input
The default input starts from the marketplace’s public resale search page and returns up to 20 listings.
{"startUrls": [{ "url": "https://www.franchiseresales.com/find-a-resale/" }],"maxResults": 20,"proxyCountry": "US"}
You can also pass one or more direct public listing URLs. maxResults is a strict cap on unique dataset rows and billable listing events. The Actor always visits each public detail page because marketplace search cards do not reliably expose a listing title or core facts.
proxyCountry selects the residential proxy exit country and defaults to US; use CA when a Canadian session is needed. Hosted runs use the DataImpulse proxy configured by the Actor owner, while local runs connect directly. The Actor applies this country to the DataImpulse username while preserving its other session settings. This is not a search-location filter.
Output example
{"listingUrl": "https://www.franchiseresales.com/example-listing/","sourceUrl": "https://www.franchiseresales.com/find-a-resale/","title": "Anytime Fitness Club - Prime Location","franchiseBrand": "Anytime Fitness","location": "Scottsdale, Arizona","city": "Scottsdale","stateOrProvince": "Arizona","country": "United States","askingPrice": 350000,"currency": "USD","priceText": "$350,000","summary": "Top-performing gym in a high-growth area.","description": "Established fitness club with recurring membership revenue.","industry": "Fitness","imageUrl": "https://www.franchiseresales.com/wp-content/uploads/example.jpg","publishedFacts": { "Annual Revenue": "$500,000" },"scrapedAt": "2026-08-09T12:00:00.000Z"}
The terminal OUTPUT key contains the number of records, billed result events, failed requests, cost cap, and warnings. It distinguishes a valid empty search from an access failure.
Pricing
This Actor uses pay-per-event pricing. These are the current Apify Store event prices:
| Event | Price (USD) | When it is charged |
|---|---|---|
franchise-resale-listing | $0.01 | Franchise resale listing returned — One charge for each unique, schema-valid public resale listing written to the dataset. |
apify-actor-start | $0.001 | Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run. |
Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.
This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.
Scheduled event prices from 2026-10-01:
| Event | Price (USD) | When it is charged |
|---|---|---|
franchise-resale-listing | FREE: $0.03; BRONZE: $0.03; SILVER: $0.03; GOLD: $0.02; PLATINUM: $0.02; DIAMOND: $0.02 | Franchise resale listing returned — One charge for each unique, schema-valid public resale listing written to the dataset. |
apify-actor-start | $0.005 | Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run. |
Reliability and limits
The marketplace may use Cloudflare or change its public HTML. The Actor uses a bounded, sticky residential session when it runs on Apify and makes no more than 20 requests per minute. If all requests are blocked, it fails honestly with an access diagnostic and returns no fabricated rows or result charges. If a valid search page has no matching public cards, it completes with an EMPTY summary and a warning.
The parser is intentionally conservative. It preserves original price text beside normalized money, keeps optional fields nullable, and leaves ambiguous city or country components unset. Always retain sourceUrl and review the original listing before relying on any financial field.
API and agent use
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('your-username/franchise-resale-scraper').call({startUrls: [{ url: 'https://www.franchiseresales.com/find-a-resale/' }],maxResults: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
For an agent workflow, provide the exact public page or listing URL and a small result cap. The returned data is one stable listing entity per item; the run-level OUTPUT summary is the place to check for access warnings or an empty search.
Compliance
Only collect publicly available data for lawful purposes and comply with FranchiseRESALES.com’s terms, applicable privacy laws, and reasonable request rates. The Actor is independent and is not affiliated with or endorsed by FranchiseRESALES.com.