
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape businesses for sale from BusinessesForSale.com in 100+ countries: asking price, revenue, cash flow or net profit, location, full description, highlights, images, years established, employees, reason for selling and the broker. Search by keyword, country, location, industry and price, or paste URLs.
Scrape businesses for sale from BusinessesForSale.com in 100+ countries: asking price, revenue, cash flow or net profit, location, the full description, highlights, all images, years established, employees, reason for selling, premises and lease details, and the broker. Search by keyword, country, location, industry and price, or paste any search or listing URL. No login, no cookies, results in seconds.
coffee shop) and a country (for example USA), or paste BusinessesForSale.com search or listing URLs.Florida, London, New South Wales), industries (Restaurants, Apps) and price, cash flow or revenue filters.| Field | What it does |
|---|---|
searchKeywords | Keywords; each one is its own search. |
country | Country name, e.g. USA, UK, Australia. Empty means all countries. |
locations | States, regions or cities inside the country, e.g. Florida, TX, London. |
industries | Site industries, e.g. Restaurants, Cafes, Hotels & Motels, Apps, Construction. |
startUrls | Search, broker, listing or M&A Vault teaser URLs from any BusinessesForSale.com site. |
maxResults | Most listings to save (default 20, 0 = no limit). |
minPrice / maxPrice, minCashFlow / maxCashFlow, minRevenue / maxRevenue | Financial filters in the country's currency. |
listedWithin | Any time, or the last 3, 14, 30 or 90 days. |
sort | Site default, newest, or price, revenue or profit up or down. |
includeDetails | Open each listing for the full details (default on). |
includeFranchises, includeVaultTeasers | Also save franchise opportunities and M&A Vault teasers. |
{
"searchKeywords": ["coffee shop"],
"country": "USA",
"locations": ["Florida"],
"minPrice": 100000,
"maxPrice": 500000,
"maxResults": 50
}
| Field | Description |
|---|---|
listingId, type, title, url | Listing ID, business / franchise / vaultTeaser, headline and link |
location, city, region, country, countryCode | Where the business is |
askingPrice, revenue, cashFlow, currency | Exact amounts as numbers (null for ranges or "On request") |
askingPriceText, revenueText, cashFlowText | Amounts as the site shows them, including ranges |
description, highlights, summary | Full description, bullet points and the search-card summary |
yearsEstablished, employees, reasonForSelling, tradingHours, managementType | Business operation |
premisesDetails, propertyTenure, squareFeet, leaseTerms, leaseholdRent, inventoryValue, furnitureFixturesValue | Property, lease and assets |
supportAndTraining, financingAvailable, ownerFinancing, homeBased, relocatable | Deal terms |
brokerName, brokerListingsUrl, brokerListingsCount, contactUrl | The broker or seller |
images, imageCount, thumbnail | Full-size photos |
statuses, tags | New, Updated, Under Offer, Quick Sale, Relocatable, Work From Home, Owner Financed |
propertyInformation, businessOperation, otherInformation | Every section of the listing as label → value |
Example (from a real run, trimmed):
{
"listingId": "3949416",
"type": "business",
"title": "Coffee Shop Bookstore - Community Staple 20+Yrs",
"url": "https://us.businessesforsale.com/us/coffee-shop-bookstore-community-staple-20-yrs.aspx",
"location": "Cobb, CA, California - North, US",
"region": "California - North",
"country": "US",
"currency": "USD",
"askingPrice": 250000,
"askingPriceText": "$250,000",
"revenue": 451263,
"revenueText": "$451,263",
"cashFlow": 84249,
"cashFlowText": "$84,249",
"tags": ["Lease", "Owner Financed"],
"description": "Established 20+ Year Business with Strong Cash Flow Turn-Key Coffee Shop & Bookstore for Sale – A Beloved Community Staple for Over 20 Years...",
"yearsEstablished": "2005",
"employees": "6 part time employees",
"tradingHours": "Mon-Fri 5:30am-3pm, Sat and Sun 6:30am-3pm",
"premisesDetails": "The business encompasses 3 units in a small grocery store complex",
"supportAndTraining": "Owner will offer a few weeks of training to get the new owners comfortable with everything",
"financingAvailable": "Owner will consider carrying a note with at least $150,000 down",
"furnitureFixturesValue": "$25,200",
"homeBased": false,
"relocatable": false,
"imageCount": 12,
"brokerName": null,
"detailsScraped": true
}
You pay $0.70 per 1,000 listings ($0.0007 per listing), plus the small platform usage of the run (compute and datacenter proxy traffic). There is no start fee. In our tests 1,000 full listings cost $0.70 in listing fees plus about $0.02 of usage, so about $0.72 in total, and 20 listings about $0.015. You only pay for listings that are saved, and the run stops cleanly at your maximum charge.
Is it legal to scrape BusinessesForSale.com? The scraper reads only public listing pages that anyone can open without an account. You are responsible for how you use the data, including any personal data such as broker names, under the laws that apply to you.
Do I need a login or a proxy? No login. The default datacenter proxy works in our tests; if the site blocks it, the run moves to residential proxies in the listing's country by itself.
How many results can I get?
As many as the search has: there is no page limit. A search for all US listings returns over 17,000 rows. Set maxResults to 0 for no limit.
Why is a field empty?
Sellers fill in different parts of a listing. Prices shown as ranges or "On request" keep a null number and the original text in the ...Text field.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start them and read the dataset through the API, with webhooks when a run finishes.
Can I get only new listings? Set Listed or updated within to the last 3 or 14 days and sort by newest.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchKeywordsarrayOptionalSearch keywords
What to look for, e.g. 'coffee shop', 'car wash', 'SaaS'. Each keyword is its own search. Combine with a country, locations and industries below, or leave empty to list every business that matches them.
countrystringOptionalCountry
Country to search, e.g. USA, UK, Australia, Canada, South Africa, Spain, United Arab Emirates. Leave empty for all countries. Price filters are in that country's currency (USD when empty).
locationsarrayOptionalLocations
Optional states, regions or cities inside the country, e.g. 'Florida', 'TX', 'Tampa', 'London', 'New South Wales'. Each location is its own search.
industriesarrayOptionalIndustries
Optional industry names as on the site, e.g. Restaurants, Cafes, Hotels & Motels, Pubs, Bars & Nightclubs, Apps, Internet, Construction, Health Care, Manufacturing, Retail, Services, Franchise Resales. Names that match no industry are searched as keywords.
startUrlsarrayOptionalSearch or listing URLs
Optional. Paste search pages from any BusinessesForSale.com site (e.g. https://www.businessesforsale.com/search/apps-for-sale or https://uk.businessesforsale.com/uk/search/pubs-for-sale-in-london), broker pages, listing pages or M&A Vault teaser pages. Filters you set on the site stay in the URL.
maxResultsintegerOptionaldefault 20Maximum results
Most listings to save in this run. 0 means no limit.
Filters apply to keyword, country, location and industry searches. Pasted URLs keep their own filters.
minPriceintegerOptionalMinimum asking price
Optional, in the country's currency.
maxPriceintegerOptionalMaximum asking price
Optional.
minCashFlowintegerOptionalMinimum cash flow / net profit
Optional.
maxCashFlowintegerOptionalMaximum cash flow / net profit
Optional.
minRevenueintegerOptionalMinimum revenue / turnover
Optional.
maxRevenueintegerOptionalMaximum revenue / turnover
Optional.
listedWithinenumOptionaldefault "any"Listed or updated within
Only listings added or updated recently.
sortenumOptionaldefault "default"Sort by
Order of the search results.
includeDetailsbooleanOptionaldefault trueFull listing details
Opens every listing for the full description, highlights, all images, city and region, years established, employees, reason for selling, trading hours, premises, support and training, financing, home based and relocatable flags, and the broker. Turn off for a faster search-card scrape (title, price, revenue, cash flow, location, summary, tags).
includeFranchisesbooleanOptionaldefault falseInclude franchise opportunities
Search results also show new franchise opportunities. Turn on to save them too (franchise fee, total and minimum investment, lifestyle and management, from the search card).
includeVaultTeasersbooleanOptionaldefault falseInclude M&A Vault teasers
Search results also show M&A Vault teasers: anonymised summaries of larger deals with revenue and profitability but no broker. Turn on to save them too.
maxResultsPerSearchintegerOptionalMaximum results per search
Optional cap for each keyword, location, industry or URL search.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy
Datacenter proxies work in our tests. If the site blocks them, the run moves to residential proxies in the listing's country by itself.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| listingId | string | null | Listing ID |
| type | string | null | business, franchise or vaultTeaser |
| title | string | null | Headline |
| url | string | null | Listing page |
| location | string | null | Location as shown |
| city | string | null | City or area |
| region | string | null | State or region |
| country | string | null | Country |
| countryCode | string | null | Country code of the site |
| currency | string | null | Currency code |
| askingPrice | number | null | Asking price (exact amounts only) |
| askingPriceText | string | null | Asking price as shown, including ranges |
| revenue | number | null | Revenue / turnover |
| revenueText | string | null | Revenue as shown |
| revenueLabel | string | null | Site label for revenue |
| cashFlow | number | null | Cash flow / net profit |
| cashFlowText | string | null | Cash flow as shown |
| cashFlowLabel | string | null | Site label for profit |
| statuses | array | null | Status labels (New, Updated, Under Offer, Quick Sale) |
| tags | array | null | Card tags (Relocatable, Work From Home, Owner Financed) |
| summary | string | null | Search card summary |
| description | string | null | Full description |
| highlights | array | null | Bullet points from the description |
| yearsEstablished | string | null | Years established |
| employees | string | null | Employees |
| reasonForSelling | string | null | Reason for selling |
| tradingHours | string | null | Trading hours |
| managementType | string | null | Management type |
| supportAndTraining | string | null | Support and training |
| financingAvailable | string | null | Financing available |
| competition | string | null | Competition / market |
| expansionPotential | string | null | Expansion potential |
| premisesDetails | string | null | Premises details |
| propertyTenure | string | null | Property (freehold / leasehold) |
| locationDetails | string | null | Location details |
| homeBased | boolean | null | Can be run from home |
| relocatable | boolean | null | Can be relocated |
| squareFeet | string | null | Size in square feet |
| realEstate | string | null | Real estate |
| inventoryValue | string | null | Inventory / stock value |
| furnitureFixturesValue | string | null | Furniture / fixtures value |
| leaseTerms | string | null | Lease terms |
| leaseholdRent | string | null | Leasehold rent |
| leaseholdType | string | null | Leasehold type |
| ownerFinancing | string | null | Owner financing |
| website | string | null | Business website when shown |
| livingAccommodation | string | null | Living accommodation |
| planningConsent | string | null | Planning consent |
| propertyInformation | object | null | Property information section |
| businessOperation | object | null | Business operation section |
| otherInformation | object | null | Other information section |
| otherSections | object | null | Any other sections |
| images | array | null | Full-size image URLs |
| imageCount | number | null | Number of images |
| thumbnail | string | null | Thumbnail image |
| brokerName | string | null | Broker or seller |
| brokerListingsUrl | string | null | Broker's other listings |
| brokerListingsCount | number | null | Broker's listing count |
| contactUrl | string | null | Contact form |
| relatedSearches | array | null | Related category and location searches |
| franchiseFee | number | null | Franchise fee |
| franchiseFeeText | string | null | Franchise fee as shown |
| totalInvestment | number | null | Total investment |
| totalInvestmentText | string | null | Total investment as shown |
| minimumInvestment | number | null | Minimum investment |
| minimumInvestmentText | string | null | Minimum investment as shown |
| lifestyle | string | null | Franchise lifestyle |
| headline | string | null | M&A Vault teaser headline |
| vaultTeaser | object | null | M&A Vault teaser financials and sections |
| detailsScraped | boolean | null | Listing page was opened |
| searchSource | string | null | Search or input that found the row |
| scrapedAt | string | null | Scrape time (UTC) |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Listing | One business listing saved to the dataset. | $0.0007 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('roamandroof/businessesforsale-scraper').call({
"searchKeywords": [
"coffee shop"
],
"country": "USA",
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run roamandroof/businessesforsale-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=roamandroof/businessesforsale-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Paste any BusinessesForSale.com search page; its filters are kept.
UK market with a location and an industry, prices in GBP.
Keyword, state, asking price range and sort order.
Price, revenue, location and summary without opening each listing.
Businesses, franchise opportunities and anonymised larger deals.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.