# ZAP Imóveis Property Listings Scraper

> ZAP Imóveis Property 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 property listing and agency data from ZAP Imóveis, Brazil's major real estate portal, with filtering by city, state, price, area, and unit type.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/zapimoveis?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/zap-im-veis-property-listings-scraper-9fee87ab
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AQCqq1ApYqDy-0xrLjnQk

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 zap-im-veis-property-listings-scraper-9fee87ab -d '<json body>'
```

Example prompt: Search ZAP Imóveis for apartments and condominiums for sale in São Paulo (SP), priced between 300000 and 800000 BRL, with at least 50 square metres, no guarantor required, returning up to 50 listings across 5 pages.

## When to prefer this

Use this endpoint when you need structured, filterable real estate data from ZAP Imóveis specifically — Brazil's major property portal — especially when you need bulk listings with price, area, and unit-type filters applied server-side. Prefer this over generic web scrapers when you need clean, schema-consistent output and pay-per-successful-result pricing.

## Known failure modes

- Empty result set if filters are too restrictive (no charge applied)
- ZAP Imóveis site structure changes breaking scraper parsing
- Invalid city/state combination returning zero results
- maxPages too low to capture enough listings for niche searches
- Network timeout if ZAP Imóveis rate-limits the scraper

## How this service works

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

## Output

A JSON object with a count field and an items array. Each item represents a property listing or agency profile and includes fields such as url, title, business type (SALE/RENTAL), sourceId, listingId, externalId, recordType, and description. The product field confirms the data source as 'zapimoveis'.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "city": {
   "type": "string",
   "default": "sao-paulo",
   "description": "Lowercase city name with hyphens and no accents, used when search URLs are empty."
  },
  "mode": {
   "enum": [
    "listings",
    "agencies"
   ],
   "type": "string",
   "default": "listings",
   "description": "Choose property listings or one agency profile per advertiser found in search results."
  },
  "state": {
   "type": "string",
   "default": "SP",
   "description": "Two-letter state code used when search URLs are empty."
  },
  "maxArea": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Keep records with usable area at or below this many square metres. Applied after page retrieval."
  },
  "minArea": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Keep records with usable area at or above this many square metres. Applied after page retrieval."
  },
  "business": {
   "type": "array",
   "items": {
    "enum": [
     "SALE",
     "RENTAL"
    ],
    "type": "string",
    "enumTitles": [
     "Sale",
     "Rental"
    ]
   },
   "description": "Search sales, rentals, or both when search URLs are empty."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many dataset records. Zero removes the item cap."
  },
  "maxPages": {
   "type": "integer",
   "default": 10,
   "minimum": 1,
   "description": "Fetch at most this many result pages for each search. Each page normally has 30 canonical listings."
  },
  "maxPrice": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Keep records with a listed price at or below this many Brazilian reais. Applied after page retrieval."
  },
  "minPrice": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Keep records with a listed price at or above this many Brazilian reais. Applied after page retrieval."
  },
  "semFiador": {
   "type": "boolean",
   "default": false,
   "description": "Keep only listings marked as not requiring a guarantor."
  },
  "unitTypes": {
   "type": "array",
   "items": {
    "enum": [
     "APARTMENT",
     "HOME",
     "CONDOMINIUM",
     "PENTHOUSE",
     "FLAT",
     "KITNET",
     "LAND_LOT",
     "OFFICE",
     "WAREHOUSE_SHED"
    ],
    "type": "string"
   },
   "description": "Keep only these unit types after collecting the search pages. Empty means all."
  },
  "searchUrls": {
   "type": "array"
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "title": null,
    "business": null,
    "sourceId": null,
    "listingId": null,
    "externalId": null,
    "recordType": null,
    "description": null
   }
  ],
  "product": "zapimoveis"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/zap-im-veis-property-listings-scraper-9fee87ab/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)
