# BusinessesForSale Scraper API (x402)

> BusinessesForSale Scraper API (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured business-for-sale listings from businessesforsale.com with filtering by price, cash flow, industry, location, and sorting options, charged per successful call via x402.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/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-scraper-api-x402-77518f83
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_eEk_DdAHe80VQbsXf6Shu

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-scraper-api-x402-77518f83 -d '<json body>'
```

Example prompt: Find me up to 50 restaurant businesses for sale in Texas, priced under $500K, sorted by asking price ascending — pull full listing details including descriptions and financials.

## When to prefer this

Use this endpoint when you need structured, machine-readable business listing data from businessesforsale.com without building or maintaining your own scraper. It is especially valuable for agents doing acquisition research, deal sourcing, or competitive market analysis where pay-per-successful-call pricing is preferred over a subscription. Prefer it over generic web scrapers when you need pre-structured fields like askingPrice, revenue, and listingId rather than raw HTML.

## Known failure modes

- No listings match the given filters — call is not charged
- Invalid or unreachable start URL returns an empty result
- Unsupported querySort value causes a validation error
- Rate limiting or blocking by the target site may result in an empty run — not charged
- Malformed price or cash-flow strings (e.g. wrong format) may yield no results

## How this service works

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

## Output

Returns a JSON object containing a count of matched listings and an array of items, each with fields including the listing URL, title, asking price (numeric and text), revenue, currency, listing ID, and description. With includeDetails enabled, fuller descriptions, images, status, categories, and operational information are also included.

## 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-scraper-api-x402-77518f83/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
