Imovirtual API

Imovirtual API for Portuguese Property Search, Listing Details, Locations, and Agency Data

Scrappa's Imovirtual API returns structured JSON from Imovirtual, a Portuguese real estate portal. Search apartments, houses, land, commercial premises, offices, warehouses and garages for sale or rent with price, area and location filters and pagination, open any listing for its full detail, resolve place names to location slugs, list the transaction and estate categories, and read an agency profile with its current listings. Scrappa is an independent service and is not affiliated with or endorsed by Imovirtual or OLX Group.

500 free credits
No card needed
From $0.20 / 1k
Pay as you go
Structured JSON
Ready for apps
API key access
Test in minutes
6
Endpoints
35
Property categories
$0.20
Per 1k requests

Try it now

Make one request. Inspect structured JSON.

Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.

Request preview
Request
curl -X GET "https://scrappa.co/api/imovirtual/search?transaction=comprar&estate=apartamento&location=lisboa/lisboa&page=1&limit=24" \
  -H "Accept: application/json" \
  -H "X-API-KEY: YOUR_API_KEY"
JSON response
{
  "success": true,
  "data": {
    "items": [
      {
        "id": 19310188,
        "url": "https://www.imovirtual.com/pt/anuncio/apartamento-t2-com-logradouro-ID1j1sE",
        "title": "Apartamento T2 com logradouro",
        "estate": "FLAT",
        "transaction": "SELL",
        "price": { "value": 359900, "currency": "EUR" },
        "pricePerSquareMeter": { "value": 6314.04, "currency": "EUR" },
        "areaInSquareMeters": 57,
        "roomsNumber": 3,
        "floorNumber": "ground_floor",
        "isPrivateOwner": false,
        "publishedAt": "2026-10-15T11:39:16Z"
      }
    ],
    "pagination": { "page": 1, "pageSize": 24, "total": 7859, "totalPages": 328, "hasMore": true },
    "stats": [ { "type": "PRICE", "min": 13000, "max": 19500000, "mean": 925751.08 } ]
  },
  "meta": { "endpoint_family": "search", "billable": true }
}

What you can build

Structured data for real applications. Here are some ideas.

Portuguese Supply Monitoring

Poll the same transaction, estate and location filter on a schedule and diff id sets to detect newly published listings.

Price Benchmarking

Combine transaction, estate, price and area filters to compare asking prices per square meter across Portuguese districts and councils.

Agency Lead Feeds

Resolve an agency profile and its current listings to build a per-agency inventory feed with prices and locations.

Geo and Category Discovery

Resolve place names to canonical location slugs and read the published estate categories to build filter menus without scraping pages.

Available endpoints

Everything you need in one API.

GET

Property Search

/api/imovirtual/search

Search Portuguese property listings by transaction, estate, location, price, area and page

GET

Listing Detail

/api/imovirtual/listing

Get the full detail of one listing with description, characteristics, images and agency

Scrappa vs ScrapingBee / ScraperAPI

See how Scrappa compares to the official API.

Imovirtual property data as JSON
Scrappa:
ScrapingBee / ScraperAPI: Build your own parser
Location slug resolution
Scrappa:
ScrapingBee / ScraperAPI: Parse it yourself
Agency listings
Scrappa:
ScrapingBee / ScraperAPI:
Price per 1k requests
Scrappa: From $0.20
ScrapingBee / ScraperAPI: Varies by credits per request
Unified API key
Scrappa: Yes (80+ APIs)
ScrapingBee / ScraperAPI: Scraping only
Free tier
Scrappa: 500 credits/month
ScrapingBee / ScraperAPI: Trial credits

Key features

Portuguese property search with transaction, estate, location, price and area filters
Numeric price in EUR with currency, price per square meter and pagination metadata
Full listing detail with plain-text description, characteristics table and images
Location autocomplete returning the canonical slugs the search endpoint consumes
Live transaction and estate categories parsed from the site category sitemap
Agency profiles and agency listings, with contact details never returned

Frequently asked questions

No. Scrappa is an independent service and is not affiliated with or endorsed by Imovirtual or OLX Group. The Imovirtual API returns structured JSON from public listing pages through a Scrappa API key.

Call the locations endpoint with a place name. Each match returns a canonical id such as lisboa/lisboa, which you pass as the location parameter. todo-o-pais searches the whole country.

Use the 1-based page parameter with limit 24, 36, 48 or 72. The response returns currentPage, totalPages and hasMore. A valid empty result is a successful response and is billed as success.

No. An unknown listing slug or agency answers a non-billable 404 with error code NOT_FOUND. Only successful 2xx responses are billed.

Start using the Imovirtual API

Sign up and get 500 free credits. No credit card required.