Skip to main content
Search a market’s portal for listings. Target an area either with free-text location (auto-resolved via autocomplete) or with precise geography ids (region_id / province_id / city_id, e.g. from /autocomplete).

Query Parameters

market
string
default:"it"
Market to search. One of it, es, gr, lu.
location
string
Free-text place, auto-resolved to a geography — e.g. Milano, Roma Trastevere. Provide either location or the id parameters below.
region_id
string
Region id (from /autocomplete). Alternative to location.
province_id
string
Province id (from /autocomplete).
city_id
string
City (comune) id (from /autocomplete).
contract
string
default:"sale"
Contract type. One of sale, rent.
category
string
default:"residential"
Listing category. One of residential, commercial, garages, offices, land, buildings, warehouses.
price_min
integer
Minimum price (EUR).
price_max
integer
Maximum price (EUR).
surface_min
integer
Minimum surface (m²).
surface_max
integer
Maximum surface (m²).
rooms_min
integer
Minimum number of rooms.
rooms_max
integer
Maximum number of rooms.
bathrooms_min
integer
Minimum number of bathrooms.
sort
string
default:"relevance"
Sort order. One of relevance, price_asc, price_desc, newest, oldest, surface_desc, surface_asc.
page
integer
default:"1"
Result page.

Response

listings
Listing[]
Listing cards for this page.
count
integer
Listings returned on this page.
total_ads
integer
Total matching listings.
current_page
integer
max_pages
integer
Last available page.
is_results_limit_reached
boolean
true when the portal capped the result set — narrow the filters or split the area to get everything.
Portal-suggested related searches for this area.
market
string
Echo of the requested market.
source
string
Portal domain the data came from, e.g. www.immobiliare.it.

Example

const res = await fetch(
  "https://api.scrapebadger.com/v1/immobiliare/search?" +
    new URLSearchParams({
      location: "Milano",
      contract: "sale",
      category: "residential",
      price_max: "300000",
      rooms_min: "3",
      sort: "newest",
    }),
  { headers: { "X-API-Key": process.env.SCRAPEBADGER_API_KEY } },
);
const data = await res.json();
Response
{
  "listings": [
    {
      "id": 121584766,
      "uuid": "c1f8a3f2-9a41-4a6e-bb3e-1e2f9d3a7c55",
      "url": "https://www.immobiliare.it/annunci/121584766/",
      "title": "Trilocale via Padova 120, Cimiano, Milano",
      "contract": "sale",
      "is_new": false,
      "luxury": false,
      "is_project": false,
      "is_mosaic": false,
      "visibility": "premium",
      "typology": "Apartment",
      "category": "residential",
      "price": {
        "value": 285000,
        "formatted": "€ 285.000",
        "min_value": null,
        "max_value": null,
        "currency": "EUR",
        "visible": true,
        "price_per_sqm": "3.353 €/m²",
        "loan_from": "€ 741/month"
      },
      "location": {
        "address": "via Padova, 120",
        "latitude": 45.4972,
        "longitude": 9.2296,
        "region": "Lombardia",
        "province": "Milano",
        "city": "Milano",
        "macrozone": "Cimiano, Crescenzago, Adriano",
        "microzone": "Padova",
        "zipcode": "20127",
        "nation_code": "IT",
        "nation_name": "Italia"
      },
      "surface": "85 m²",
      "rooms": "3",
      "bathrooms": "2",
      "floor": "3",
      "energy_class": "E",
      "description": "Luminoso trilocale al terzo piano con ascensore, doppia esposizione, balcone e cantina...",
      "photo_count": 24,
      "has_virtual_tour": true,
      "photos": [
        {
          "id": 987654321,
          "caption": "soggiorno",
          "small": "https://pic.im-cdn.it/image/987654321/xsmall.jpg",
          "medium": "https://pic.im-cdn.it/image/987654321/medium.jpg",
          "large": "https://pic.im-cdn.it/image/987654321/large.jpg"
        }
      ],
      "agency": {
        "id": 41235,
        "type": "agency",
        "display_name": "Tecnocasa Milano Crescenzago",
        "label": "Tecnocasa",
        "url": "https://www.immobiliare.it/agenzie-immobiliari/41235/tecnocasa-milano/",
        "is_paid": true,
        "guaranteed": true,
        "show_logo": true,
        "image_small": "https://pic.im-cdn.it/agency/41235/small.png",
        "image_large": "https://pic.im-cdn.it/agency/41235/large.png",
        "phones": ["+39 02 2846120"]
      },
      "agent": {
        "type": "agent",
        "display_name": "Marco Rossi",
        "label": "Agente",
        "image_gender": "male",
        "image_url": "https://pic.im-cdn.it/agent/998877/photo.jpg",
        "phones": ["+39 340 5512347"]
      },
      "properties_count": 1,
      "properties": [
        {
          "is_main": true,
          "surface": "85 m²",
          "surface_value": 85,
          "rooms": "3",
          "bathrooms": "2",
          "bedrooms": "2",
          "floor": "3° floor, with lift",
          "elevator": true,
          "garage": null,
          "heating": "Centralized, radiators, gas powered",
          "energy_class": "E",
          "condominium_fees": "€ 120/month",
          "typology": "Apartment",
          "category": "Residential",
          "caption": "Main unit",
          "description": "Luminoso trilocale al terzo piano con ascensore...",
          "price": "€ 285.000",
          "features": [
            { "type": "balcony", "label": "Balcony", "compact_label": "Balcony" },
            { "type": "cellar", "label": "Cellar", "compact_label": "Cellar" }
          ],
          "ga4_features": ["balcony", "cellar", "external_exposure"],
          "views": [],
          "photos": []
        }
      ],
      "creation_date": "2026-05-18",
      "last_modified_utc": "2026-07-02T09:14:05Z",
      "last_modified_at": "2026-07-02 11:14",
      "features_full": ["balcony", "cellar", "fitted wardrobes", "concierge"]
    }
  ],
  "count": 25,
  "total_ads": 3417,
  "current_page": 1,
  "max_pages": 137,
  "is_results_limit_reached": false,
  "related_searches": [
    { "label": "Case in vendita Sesto San Giovanni", "url": "/vendita-case/sesto-san-giovanni/" }
  ],
  "market": "it",
  "source": "www.immobiliare.it"
}
Each search request costs 5 credits. Failed requests are not charged.