# Habitaclia Real Estate Listings Scraper

> Habitaclia Real Estate 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 and returns structured property listings from Habitaclia, a Spanish real estate portal, filtered by location, price, size, rooms, and property type.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/habitaclia?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/habitaclia-real-estate-listings-scraper-b1ac90a8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_FPLxWqAnzKUi7bNH_fcZa

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 habitaclia-real-estate-listings-scraper-b1ac90a8 -d '<json body>'
```

Example prompt: Search Habitaclia for apartments for rent in Barcelona, up to 1200 EUR per month, at least 50 square metres and 2 rooms, sorted by price ascending — give me up to 100 listings.

## When to prefer this

Use this endpoint when you need structured property listing data specifically from Habitaclia, the Spanish-language real estate portal popular in Spain and Catalonia. Prefer it over generic web scrapers when you need pre-filtered, ready-to-use listing records with price, area, and room filters applied server-side. It is ideal for agents automating property research, market analysis, or relocation assistance in Spain without needing to parse raw HTML.

## Known failure modes

- Empty result set if location name is misspelled or unsupported — no charge in this case
- Truncated results if maxListings or maxPages is set too low
- startUrls override ignored if malformed or expired Habitaclia search URLs are provided
- Rate limiting or scraping blocks from Habitaclia may cause partial or failed runs — not charged
- Unknown enum values for propertyType, transactionType, or sort return validation errors

## 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 matched listings and an array of items, each containing the ad ID, title, detail URL, description, property type, property subtype, transaction type, and real estate ad ID as found on Habitaclia.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sort": {
   "enum": [
    "relevance",
    "price_asc",
    "price_desc",
    "newest",
    "price_drop"
   ],
   "type": "string",
   "default": "relevance",
   "description": "Ordering used by the site for search results."
  },
  "keyword": {
   "type": "string",
   "description": "Keep listings whose title or description contains this text, without accent sensitivity."
  },
  "maxArea": {
   "type": "integer",
   "minimum": 0,
   "description": "Keep listings with at most this built area in square metres."
  },
  "minArea": {
   "type": "integer",
   "minimum": 0,
   "description": "Keep listings with at least this built area in square metres."
  },
  "location": {
   "type": "string",
   "default": "barcelona",
   "description": "Province capital or province name. For districts or other towns, paste a search URL."
  },
  "maxPages": {
   "type": "integer",
   "default": 20,
   "minimum": 1,
   "description": "Read at most this many search pages per URL. Each page has about 30 listings."
  },
  "maxPrice": {
   "type": "integer",
   "minimum": 0,
   "description": "Keep listings priced at or below this amount in EUR."
  },
  "maxRooms": {
   "type": "integer",
   "minimum": 0,
   "description": "Keep listings with at most this many rooms."
  },
  "minPrice": {
   "type": "integer",
   "minimum": 0,
   "description": "Keep listings priced at or above this amount in EUR."
  },
  "minRooms": {
   "type": "integer",
   "minimum": 0,
   "description": "Keep listings with at least this many rooms."
  },
  "startUrls": {
   "type": "array",
   "description": "Optional current search URLs or newer individual listing URLs. Overrides transaction, property type and location."
  },
  "maxListings": {
   "type": "integer",
   "default": 200,
   "minimum": 1,
   "description": "Stop after this many dataset items across all URLs."
  },
  "propertyType": {
   "enum": [
    "any",
    "apartment",
    "house",
    "attic",
    "office",
    "commercial",
    "land",
    "parking"
   ],
   "type": "string",
   "default": "any",
   "description": "Choose a listing category on the search page."
  },
  "advertiserType": {
   "enum": [
    "all",
    "agency",
    "private"
   ],
   "type": "string",
   "default": "all",
   "description": "Filter by agency or private listing when identified by the page."
  },
  "transactionType": {
   "enum": [
    "sale",
    "rent"
   ],
   "type": "string",
   "default": "sale",
   "description": "
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "adId": null,
    "title": null,
    "detailUrl": null,
    "description": null,
    "propertyType": null,
    "realEstateAdId": null,
    "propertySubtype": null,
    "transactionType": null
   }
  ],
  "product": "habitaclia"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/habitaclia-real-estate-listings-scraper-b1ac90a8/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)
