BizBen Scraper - California Businesses for Sale avatar

BizBen Scraper - California Businesses for Sale

Pricing

from $2.10 / 1,000 listings

Go to Apify Store
BizBen Scraper - California Businesses for Sale

BizBen Scraper - California Businesses for Sale

Scrape businesses for sale from BizBen, California's largest marketplace (plus other US states): asking price, revenue, cash flow, down payment, year established, employees, lease, category and description. Filter by state, county, city, category, price or cash flow. Export to Excel, CSV or API.

Pricing

from $2.10 / 1,000 listings

Rating

0.0

(0)

Developer

Shivam Prajapati

Shivam Prajapati

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

Get businesses for sale from BizBen, California's largest business-for-sale marketplace with 6,000+ listings (about half in California, the rest across the US, including Transworld Business Advisors listings): asking price, revenue, cash flow, down payment, year established, employees, FF&E, inventory, lease details, category, business types and the full description. Filter by state, county, city, category, price or cash flow, and export to Excel, CSV, JSON or the API.

Actively maintained. Last update: 2026-11-04. Every release passes 310+ automated tests on saved BizBen pages plus a check against the live site, and Apify test-runs it every day.

What can you use it for?

  • Find a business to buy in California. Screen every restaurant, liquor store, gas station, laundromat or route business in your county by price and cash flow instead of paging through the site.
  • Deal flow for buyers, brokers and SBA lenders. Schedule a daily run and send new listings to Google Sheets, Slack or your CRM; use the attributes field to find SBA pre-qualified, absentee-run or real-estate-included deals.
  • Valuation comps. Asking price, revenue and cash flow for thousands of small businesses: compute price-to-cash-flow multiples by type, county or state.
  • Market research. Count listings and asking prices by category and county, track what comes to market.

What data do you get?

Fields marked details are filled when Open each listing for full details is on (the default).

FieldWhat it is
listingIdBizBen posting ID (e.g. 177992), or tw:92422 for a listing from a broker network
urlLink to the listing
titleHeadline
sourceBizBen, or the broker network, e.g. Transworld Business Advisors
isFastTrackA paid FastTrack (promoted) listing
askingPriceAsking price in USD (empty for "Call/Email")
priceTextThe price as shown
revenueYearly revenue (gross sales) in USD
cashFlowYearly cash flow (seller's discretionary earnings) in USD
downPaymentDown payment as given, e.g. "$100,000" or "35~40% SBA" (details)
ffeValueFurniture, fixtures & equipment value (details)
inventoryValueInventory value (details)
yearEstablishedYear the business started (details)
employeesNumber of employees (details)
reasonForSaleWhy the owner is selling (details)
supportAndTrainingTraining and support the seller offers (details)
squareFeetPremises size (details)
leaseExpirationLease expiration date (details)
leaseTermsLease terms and options as given (details)
categoryBizBen category, e.g. "Restaurants & Food" (details)
businessTypesBusiness types, e.g. Bakery, Liquor Store (details)
attributese.g. Absentee Run, SBA Loan Pre-Qualified, Real Estate Included, For Sale By Owner (details)
locationLocation as shown, e.g. "Compton, Los Angeles County, California"
city / county / state / stateCodeThe location split into parts
summaryShort summary from the results page
descriptionFull description (details)
listingNumberThe broker's own listing number (details)
imageUrlMain picture (empty when the listing only has BizBen's stock picture)
datePosted / dateUpdatedWhen the listing was posted and last updated, YYYY-MM-DD (details)
hasDetailstrue if the listing page was opened
foundOnThe results page where the listing was found
scrapedAtWhen it was scraped (UTC)

Privacy

BizBen listing pages show the seller's or broker's name, phone and e-mail. The scraper never collects them: it skips the contact box, the contact line under the description and the contact form, and it removes any e-mail address, phone number, web link or contact name typed into the description (replaced with [removed]).

Example result

{
"listingId": "9849655",
"title": "ASK $3.65M: Liquor with Property: Month Sales $150K: Lot 9612sf, Building 7055sf",
"source": "BizBen",
"isFastTrack": true,
"askingPrice": 3650000,
"revenue": 1800000,
"cashFlow": 264000,
"downPayment": "$1,000,000",
"yearEstablished": 2022,
"employees": 8,
"reasonForSale": "To purchase gas station",
"squareFeet": 7055,
"category": "Retail",
"businessTypes": ["Liquor Store"],
"attributes": ["Absentee Run", "License (Liquor, etc.)", "Real Estate Included", "SBA Loan Pre-Qualified", "Training And Support"],
"location": "Compton, Los Angeles County, California",
"city": "Compton",
"county": "Los Angeles County",
"stateCode": "CA",
"datePosted": "2026-09-21",
"hasDetails": true
}

How to use it

  1. Optionally pick Locations (states, counties or cities) and Categories.
  2. Optionally add a Keyword, a price range or a minimum cash flow.
  3. Set Maximum listings, click Start, and download the results.

Every location is searched with every category, and duplicates are removed. With several searches, Maximum listings is shared fairly between them. With no location, every state is searched.

Input options

OptionWhat it does
locationsStates, counties or cities, e.g. california-state-ca, alameda-county-california-ca, houston-texas-tx (names like "Texas" or "CA" work too)
categoriesCategories, e.g. bakery-for-sale, liquor-store-for-sale
keywordOnly listings whose title, summary, type or attributes contain this word, e.g. "SBA" or "absentee"
minPrice / maxPriceAsking price range in USD (listings without a price are kept)
minCashFlowMinimum yearly cash flow in USD (listings that don't give it are kept)
startUrlsBizBen results pages or single listing URLs, scraped as given
includeDetailsOpen each listing for the full set of fields (default on). Turn off for a fast, cheaper run
onlyNewSkip listings that earlier runs of the same search returned: you get and pay only for ones you haven't had (the first run works as usual)
maxItemsStop after this many listings
maxConcurrencyPages loaded at the same time (keep low to be polite)

Fast mode vs. full details

  • Full details (default): opens every listing for all the fields above.
  • Fast mode (includeDetails off): reads only the results pages, about 40x fewer requests: title, price, sometimes cash flow, location, summary and picture.

How much does it cost?

You pay $3.00 per 1,000 listings returned (plus a tiny $0.00005 per run start). Platform usage is included.

ListingsCost
100$0.30
All of California (~3,000)about $9
Everything (~6,000)about $18

Apify's free plan gives you $5 of credit every month. Set a spending limit on any run and the scraper stops exactly there.

Use it via API, on a schedule, or with your tools

  • Schedule it daily to catch new listings.
  • Only new listings: turn it on in a scheduled run or task and each run returns only listings you haven't had yet, so you never pay twice for the same listing.
  • Integrations: send results to Google Sheets, Slack, e-mail, Zapier, Make or a webhook.
  • API: run it from your own code and download results as JSON, CSV or Excel.
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("pshivam/bizben-scraper").call(run_input={"locations": ["Los Angeles County, CA"], "minCashFlow": 100000, "maxItems": 200})
for business in client.dataset(run["defaultDatasetId"]).iterate_items():
print(business["title"], business["askingPrice"], business["cashFlow"])

Use it in Clay, n8n, Make or Zapier

Actor: pshivam/bizben-scraper. Paste this input and change the filters to yours:

{"locations": ["los-angeles-county-california-ca"], "minCashFlow": 100000, "onlyNew": true, "maxItems": 500}
  • Clay: create a table from an Apify source to pull in the results of a scheduled run of this Actor (it refreshes every 24 hours by default), or use the Run Apify Actor enrichment and paste the input.
  • n8n: add the Apify node, choose Run Actor and get dataset items, pick this Actor and paste the input.
  • Make: use Run an Actor with Run synchronously on, then Get Dataset Items with the run's dataset ID.
  • Zapier: schedule this Actor in Apify, then use the Finished Actor Run trigger and Fetch Dataset Items. (Zapier stops waiting for Run Actor after 30 seconds, and a run usually takes about a minute.)

Good to know

  • Filters are checked before a listing is opened, so you only pay for matches. Locations and categories are BizBen's own pages.
  • Not every category has a page for every place. Then the scraper searches the category in the state (or nationwide) and keeps only listings in your place; you see a note in the run log.
  • FastTrack listings come first on BizBen's pages, then the rest.
  • Figures are the seller's own, as published on BizBen. Many listings say "Call/Email" instead of a figure.

This scraper vs. the alternatives

This scraperCopying from BizBen by handBuilding your own scraper
100 listings with full detailsAbout 1 minuteHours (open and copy each page)Days to build, then upkeep
OutputExcel, CSV, JSON or API; 36 fields per listingA spreadsheet you typeWhatever you code
Asking price, revenue, cash flow, down paymentNumbers in USD, ready to sortRetyped by handYou write the parsing
Only new listings each dayBuilt in (onlyNew)Compare lists yourselfYou build it
When the site changesWe fix it; Apify test-runs it daily-You fix it
Seller contact detailsRemovedYour responsibilityYour responsibility
Cost$3.00 per 1,000 listingsYour timeYour time plus hosting

FAQ

How many listings are there?

6,000+: about 3,100 in California and the rest across other US states.

How much does it cost?

$3.00 per 1,000 listings (less on paid Apify plans), so 300 listings cost $0.90 and every California listing about $9.

This scraper reads public listing pages at a polite speed, follows the site's robots.txt and returns business data with contact details removed. You are responsible for how you use the data; check the site's terms for your use case.

Can I get the seller's or broker's contact details?

No. Use the listing url to contact them through BizBen.

Why do some listings have two IDs like tw:92422?

Those come from a broker network (Transworld Business Advisors) and are shown on BizBen too; listingNumber is the broker's own number.

How do I get only new listings every day?

Save your search as a task, turn on Only new listings and schedule it daily. Each run then skips the listings earlier runs returned, so you get and pay only for ones you haven't had. Tip: set Maximum listings above the number of listings your search has, so the first run gets them all and later runs return just the new ones.

Ready-made examples

Open one, click Try for free, and get data in about a minute:

More business-for-sale scrapers

Other scrapers