BizBuySell Scraper — Business Listings & Financials avatar

BizBuySell Scraper — Business Listings & Financials

Pricing

from $4.00 / 1,000 business listing scrapeds

Go to Apify Store
BizBuySell Scraper — Business Listings & Financials

BizBuySell Scraper — Business Listings & Financials

Scrape BizBuySell business-for-sale listings: asking price, cash flow, revenue, location, industry, and broker contact. Camoufox + residential proxies clear Akamai. MCP-ready.

Pricing

from $4.00 / 1,000 business listing scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

10 days ago

Last modified

Share

BizBuySell Scraper is an Apify Actor for people who work with BizBuySell business-for-sale listings. It accepts BizBuySell search, category, state, metro, or single-listing URLs, plus optional keyword and location filters that build a BizBuySell route for you. Each record represents one scraped listing and includes the title, asking price, cash flow, location, industry, description, image, listing type, canonical listing URL, and stable listing id. The output is useful for screening opportunities, comparing market segments, and moving listings into spreadsheets, CRMs, or AI-driven workflows through Apify and Apify MCP.

Best fit and connected workflows

This Actor fits workflows that start with publicly visible BizBuySell listing pages and end with structured business listing records. It is a practical choice when you want:

  • a search-grid view of business-for-sale inventory by industry and geography,
  • one record per listing for downstream analysis,
  • clean fields for asking price and cash flow screening,
  • canonical listing URLs for review and follow-up,
  • Apify platform access, scheduling, exports, and MCP tool usage.

A common workflow is to scrape a BizBuySell category page, filter by a US state or metro, and then move the resulting dataset into enrichment, scoring, or review steps outside this Actor. If your process begins with another BizBuySell search page or a curated list of listing URLs, this Actor can take that input directly and normalize the results into one dataset.

Practical scenario

Maya is reviewing acquisition opportunities for a small local search fund. She starts with a BizBuySell category URL for restaurants and food listings in California, sets a listing cap for an initial pass, and runs the Actor. The dataset returns title, location, asking price, cash flow, industry, description, image, listing type, and the listing URL. Maya uses asking price and cash flow to shortlist listings that fit her budget range, then opens the canonical URLs to review the public listing cards in BizBuySell.

Input fields

FieldTypePurpose
startUrlsarrayBizBuySell search, category, state, or single-listing URLs to scrape directly. Search and category URLs are paginated automatically.
searchKeywordstringConvenience industry filter that builds a BizBuySell category URL when no start URL is provided.
searchLocationstringConvenience US state or metro filter that builds a BizBuySell location URL when no start URL is provided.
maxItemsintegerMaximum number of listings to scrape and bill across the run.
dedupeGloballybooleanDe-duplicates the same listing id across pages and overlapping start URLs.
maxPagesPerSearchintegerSafety cap on pagination per search URL.
proxyConfigurationobjectYour proxy settings for the Apify half of IP rotation.

Valid focused input example

{
"searchKeyword": "restaurants and food",
"searchLocation": "california",
"maxItems": 50,
"dedupeGlobally": true,
"maxPagesPerSearch": 10
}

Output fields

FieldTypePurpose
listingIdstringStable BizBuySell listing id from the detail URL.
titlestringBusiness listing headline.
locationstringListing location, such as a city and state.
industrystringIndustry or category derived from the search URL when present.
askingPricestringAsking price as shown on BizBuySell.
askingPriceValuenumberAsking price parsed to a numeric value.
cashFlowstringSeller's discretionary earnings or cash flow as shown.
cashFlowValuenumberCash flow parsed to a numeric value.
descriptionstringShort teaser text from the listing card.
imagestringPrimary listing image URL.
listingTypestringfeatured or standard.
urlstringCanonical listing detail URL on BizBuySell.
retrievalMethodstringDirect directory page or public search index provenance.
sourceSearchUrlstringBizBuySell search URL used for indexed fallback.
scrapedAtstringISO 8601 scrape timestamp.

Illustrative output record

{
"listingId": "2436434",
"title": "Own Pasadena's Premier Sports Recovery and Wellness Studio",
"location": "Pasadena, CA",
"industry": "Health Care and Fitness",
"askingPrice": "$250,000",
"askingPriceValue": 250000,
"cashFlow": "$120,000",
"cashFlowValue": 120000,
"description": "Renew Performance Center is Pasadena's premier destination for high-performance training ...",
"image": "https://images.bizbuysell.com/shared/listings/243/2436434/....webp",
"listingType": "featured",
"url": "https://www.bizbuysell.com/business-opportunity/.../2436434/",
"retrievalMethod": "public search index",
"sourceSearchUrl": "https://www.bizbuysell.com/california/restaurants-and-food-businesses-for-sale/",
"scrapedAt": "2026-07-01T12:00:00.000Z"
}

How it works

This Actor uses CheerioCrawler with residential HTTP rotation and per-request IP rotation to work through BizBuySell's Akamai protection on the search grid. It supports search, category, and state modes, plus a keyword and location builder for convenience. Pagination is automatic for search and category pages. The Actor writes one dataset record per delivered listing and charges per event for each returned listing. The live contract describes the implementation as search-only via HTTP, with detail-page enrichment outside the current scope of the scraper.

Pricing

This Actor uses Pay per event pricing plus Apify platform usage. The live Pricing tab in the Apify console shows the current charge settings for the Actor, including the start event and the per-listing event. A simple example: if you scrape one hundred listings, the execution includes one start event and one hundred listing events, and Apify platform usage is billed separately according to your account and execution settings. For the current live numbers and any account-specific usage details, check the Pricing tab.

Use with AI agents (MCP)

This Actor is available as an Apify Actor usable through Apify MCP. It exposes a structured tool workflow for fetching BizBuySell business-for-sale listings and returning dataset rows that an agent can read, summarize, compare, or route into follow-up actions.

Actor identity: khadinakbar/bizbuysell-scraper

Tool description: fetch BizBuySell search-grid listing records from accepted URLs or keyword/location inputs, then return structured dataset rows with pricing, location, category, and provenance fields.

Find California restaurant listings with asking price and cash flow fields, keep the first 25 records, and return the dataset rows with listing URLs for manual review.

When an agent uses this Actor, the output is easiest to interpret as a list of public listing records. The listingId and url fields provide stable provenance back to the BizBuySell listing page. askingPrice, cashFlow, location, industry, description, and image support screening and ranking. Pagination is handled by the Actor for search and category URLs, and maxItems and maxPagesPerSearch let an agent control scope and cost. Since billing is per delivered listing, agent prompts work well when they set a clear listing cap before running.

Apify API example

JavaScript example with APIFY_TOKEN and dataset readback:

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
(async () => {
const run = await client.actor('khadinakbar/bizbuysell-scraper').call({
searchKeyword: 'restaurants and food',
searchLocation: 'california',
maxItems: 10,
dedupeGlobally: true,
maxPagesPerSearch: 5,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log('Dataset items:');
for (const item of items) {
console.log({
title: item.title,
location: item.location,
askingPrice: item.askingPrice,
cashFlow: item.cashFlow,
url: item.url,
});
}
})();

Best results and outcome guidance

Use a BizBuySell search, category, or state URL when you already know the market segment you want. Use searchKeyword and searchLocation when you want a quick route builder for a real BizBuySell industry category and a US state or metro. Start with a smaller maxItems value when you are previewing scope and cost. Keep dedupeGlobally enabled when combining multiple URLs or paginated searches. If you are exploring a broad market, set maxPagesPerSearch to a value that matches your review window.

Continue the workflow

Design note

I found that the dataset contract includes both string and numeric versions of asking price and cash flow, which makes it easier to sort, filter, and display the same listing in different downstream tools.

FAQ

Which BizBuySell URLs fit the workflow with this Actor?
Search, category, state, metro, and single-listing BizBuySell URLs all fit the input contract. Search and category URLs paginate automatically.

How should I route a broad market scan?
Start with a category plus state or metro, then cap the run with maxItems and maxPagesPerSearch to keep the scope aligned with your review plan.

What happens when I need one listing only?
Paste a single BizBuySell listing URL into startUrls. The Actor can return that record directly as one dataset row.

How does this Actor connect with an agent workflow?
An agent can invoke the Actor through Apify MCP, read the dataset rows, and then pass the public listing URLs and structured fields into a shortlist, CRM update, or manual review step.

Why use the keyword and location fields instead of only a URL?
They provide a quick way to build a BizBuySell category or location route when you already know the broad industry and geography.

Responsible use

Use the Actor in ways that respect BizBuySell's public listing pages, Apify platform terms, and applicable laws. Review the live Pricing tab before running large jobs. When you automate with MCP or the Apify API, keep the listing cap aligned with the amount of data you plan to review.


This Actor is not affiliated with or endorsed by BizBuySell.com.