# BusinessesForSale Listings Scraper

> BusinessesForSale Listings Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured business-for-sale listing data from BusinessesForSale.com, returning asking prices, revenue, descriptions, and more.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/businessesforsale?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/businessesforsale-listings-scraper-c9003ae8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QqELCiuHix3WVC-k3noMg

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability businessesforsale-listings-scraper-c9003ae8 -d '<json body>'
```

Example prompt: Search BusinessesForSale.com for restaurant businesses for sale in California with an asking price under $1M and cash flow of at least $50K, sorted by price ascending, and return the top 25 listings with full details.

## When to prefer this

Use this endpoint when you need structured, machine-readable data from BusinessesForSale.com listings — especially for bulk research, price comparison, or deal sourcing across industries or regions. It supports rich filtering (price, cash flow, location, industry) and sorts, making it ideal for investment screening workflows. Choose it over manual browsing or general-purpose scrapers when you need consistent field mapping (askingPrice, revenue, description) across many listings.

## Known failure modes

- Empty results if no listings match the query filters
- Site structure changes may break extraction and return incomplete fields
- Invalid industry slug or state path returns no results
- Rate limiting or blocking by target site may cause failed runs (not charged)
- Malformed start URLs result in empty or error responses

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of listings found and an array of items, each containing the listing URL, title, asking price (numeric and text), revenue, currency, listing ID, and description. Includes fuller operational details and images when includeDetails is enabled.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many distinct listings across all start URLs. Zero means no cap."
  },
  "querySort": {
   "enum": [
    "",
    "ModifiedDesc",
    "PriceAsc",
    "PriceDesc",
    "TurnoverAsc",
    "TurnoverDesc",
    "ProfitAsc",
    "ProfitDesc"
   ],
   "type": "string",
   "default": "",
   "description": "Sort value supported by the site. Leave empty for its default order."
  },
  "startUrls": {
   "type": "array",
   "description": "Public search-result or individual listing URLs. If provided, these take precedence over the search fields."
  },
  "queryKeywords": {
   "type": "array",
   "default": [],
   "description": "Search terms. Used when no start URLs are provided; terms are joined into one search."
  },
  "includeDetails": {
   "type": "boolean",
   "default": true,
   "description": "Open each listing page for fuller descriptions, images, status, categories and operational information."
  },
  "queryCityOrArea": {
   "type": "string",
   "default": "",
   "description": "Adds a city or area name to search terms."
  },
  "querySearchPath": {
   "type": "string",
   "default": "",
   "description": "Custom US search path copied from a search page. Use it alone, or paste a fully filtered URL into startUrls."
  },
  "queryMaxCashFlow": {
   "type": "string",
   "default": "",
   "description": "Upper cash-flow or profit bound."
  },
  "queryMinCashFlow": {
   "type": "string",
   "default": "",
   "description": "Lower cash-flow or profit bound, such as 50K."
  },
  "queryIndustrySlug": {
   "type": "string",
   "default": "",
   "description": "Without other filters, opens this US industry path. With other filters, adds its words to the keyword search."
  },
  "queryStateOrRegion": {
   "type": "string",
   "default": "",
   "description": "Without other filters, opens the exact US state search path. With other filters, adds the state name to the keyword search."
  },
  "queryMaxAskingPrice": {
   "type": "string",
   "default": "",
   "description": "Upper price bound, such as 3M or 3000000."
  },
  "queryMaxGrossIncome": {
   "type": "string",
   "default": "",
   "description": "Upper gross-income or turnover bound."
  },
  "queryMinAskingPrice": {
   "type": "string",
   "default": "",
   "description": "Lower price bound, such as 250K or 100000."
  },
  "queryMinGrossIncome": {
   "type": "string",
   "defau
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "title": null,
    "revenue": null,
    "currency": null,
    "listingId": null,
    "askingPrice": null,
    "description": null,
    "askingPriceText": null
   }
  ],
  "product": "businessesforsale"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/businessesforsale-listings-scraper-c9003ae8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
