APIs / Real estate / Loft

1 credit per call4 endpoints35 datapoints

Loft API

Loft API for Brazilian apartments and houses for sale or rent, listing details, agencies and their stock, and autocomplete. 1 credit per successful call.

Loft
GET/v1/loft/search?city=S%C3%A3o+Paulo%2C+SP&bedrooms=3&exact_rooms=true&per_page=10
{
  "success": true,
  "data": {
    "items": [
      {
        "id": "zyf448bf",
        "url": "https://loft.com.br/imovel/zyf448bf",
        "listing_type": "sale",
        "status": "FOR_SALE",
        "home_type": "apartment",
        "property_type": "default",
        "property_subtypes": [
          "home_apartment",
          "apartment_default"
        ],
        "usage_type": "residential",
        "product_type": "market",
        "contract_type": "non_exclusive",
        "price": 765000,
        "currency": "BRL",
        "condo_fee": 700,
        "monthly_expenses": 771.67,
        "property_tax": 71.67,
        "area": 70,
        "bedrooms": 3,
        "suites": 1,
        "bathrooms": 1,
        "parking_spots": 2,
        "number_of_floors": 20,
        "has_balcony": false,
        "has_virtual_tour": true,
        "has_decorated_photos": true,
        "can_redecorate": true,
        "tags": [
          "REDECORATABLE_PHOTO"
        ],
        "description": "Apartamento de 70m² com 3 Dormitórios, Suíte, 2 Vagas e Lazer de Clube!\n\nSeu novo lar com conforto, praticidade e lazer completo para toda a família!\n\nImagine morar em um apartamento espaçoso, com ambientes planejados, duas vagas de garagem…",
        "image": "https://content.loft.com.br/homes/zyf448bf/desktop_banner.jpg",
        "thumbnail": "https://content.loft.com.br/homes/zyf448bf/banner_thumbnail.jpg",
        "photos": [
          "https://content.loft.com.br/homes/zyf448bf/desktop_facade01.jpg",
          "https://content.loft.com.br/homes/zyf448bf/desktop_facade02.jpg",
          "https://content.loft.com.br/homes/zyf448bf/desktop_facade03.jpg"
        ],
        "address": {
          "street": "Avenida Ernesto Igel",
          "neighborhood": "Lapa",
          "neighborhood_slug": "lapa_sao-paulo_sp",
          "city": "São Paulo",
          "state": "SP",
          "country": "BR",
          "complex_name": "Condominio Passeio Vila Leopoldina",
          "latitude": -23.5186698,
          "longitude": -46.7294594,
          "facets": {
            "city": "São Paulo, SP",
            "neighborhood": "Lapa, São Paulo, SP"
          }
        },
        "agency": {
          "id": "23e0de5f-5850-4f40-94da-6e19df9896ab",
          "name": "MARLON ROGERIO ALBINO"
        },
        "created_at": "2026-10-19T19:15:42.365Z",
        "updated_at": "2026-10-21T12:36:28.223Z",
        "grouped_listings_count": 1
      },
      {
        "id": "v5a7hbi1",
        "url": "https://loft.com.br/imovel/v5a7hbi1",
        "listing_type": "sale",
        "status": "FOR_SALE",
        "home_type": "house",
        "property_subtypes": [
          "home_house",
          "house_standard"
        ],
        "usage_type": "residential",
        "product_type": "market",
        "contract_type": "non_exclusive",
        "price": 600000,
        "currency": "BRL",
        "area": 125,
        "bedrooms": 3,
        "suites": 1,
        "bathrooms": 3,
        "parking_spots": 2,
        "number_of_floors": 2,
        "has_balcony": false,
        "has_virtual_tour": true,
        "has_decorated_photos": false,
        "can_redecorate": true,
        "tags": [
          "REDECORATABLE_PHOTO"
        ],
        "image": "https://content.loft.com.br/homes/v5a7hbi1/desktop_banner.jpg",
        "thumbnail": "https://content.loft.com.br/homes/v5a7hbi1/banner_thumbnail.jpg",
        "photos": [
          "https://content.loft.com.br/homes/v5a7hbi1/desktop_facade01.jpg",
          "https://content.loft.com.br/homes/v5a7hbi1/desktop_facade02.jpg",
          "https://content.loft.com.br/homes/v5a7hbi1/desktop_facade03.jpg"
        ],
        "address": {
          "street": "Avenida Comendador Feiz Zarzur",
          "neighborhood": "Jardim Cidade Pirituba",
          "neighborhood_slug": "jardim-cidade-pirituba_sao-paulo_sp",
          "city": "São Paulo",
          "state": "SP",
          "country": "BR",
          "latitude": -23.47691,
          "longitude": -46.72186,
          "facets": {
            "city": "São Paulo, SP",
            "neighborhood": "Jardim Cidade Pirituba, São Paulo, SP"
          }
        },
        "agency": {
          "id": "3fda2e66-d9f5-4e36-bf1e-173cb847544d",
          "name": "Ceci Vargaz"
        },
        "created_at": "2026-11-11T18:56:53.753Z",
        "updated_at": "2026-11-11T18:57:13.581Z",
        "grouped_listings_count": 1
      },
      {
        "id": "1btdzbh8",
        "url": "https://loft.com.br/imovel/1btdzbh8",
        "listing_type": "sale",
        "status": "FOR_SALE",
        "home_type": "house",
        "property_subtypes": [
          "home_house",
          "house_standard"
        ],
        "usage_type": "residential",
        "product_type": "market",
        "contract_type": "non_exclusive",
        "price": 539000,
        "currency": "BRL",
        "monthly_expenses": 100,
        "property_tax": 100,
        "area": 175,
        "bedrooms": 3,
        "suites": 1,
        "bathrooms": 2,
        "parking_spots": 2,
        "has_balcony": false,
        "has_virtual_tour": true,
        "has_decorated_photos": false,
        "can_redecorate": false,
        "description": "Descubra sua nova casa na Vila Isolina Mazzei! Esta encantadora residência térrea de 175 m² é perfeita para quem busca conforto e praticidade. Com 3 dormitórios, sendo 1 suíte, você terá espaço de sobra para sua família. A cozinha ampla é i…",
        "image": "https://content.loft.com.br/homes/1btdzbh8/desktop_banner.jpg",
        "thumbnail": "https://content.loft.com.br/homes/1btdzbh8/banner_thumbnail.jpg",
        "photos": [
          "https://content.loft.com.br/homes/1btdzbh8/desktop_facade01.jpg",
          "https://content.loft.com.br/homes/1btdzbh8/desktop_facade02.jpg",
          "https://content.loft.com.br/homes/1btdzbh8/desktop_facade03.jpg"
        ],
        "address": {
          "street": "Rua Rosalina Alves",
          "neighborhood": "Vila Isolina Mazzei",
          "neighborhood_slug": "vila-isolina-mazzei_sao-paulo_sp",
          "city": "São Paulo",
          "state": "SP",
          "country": "BR",
          "latitude": -23.49925,
          "longitude": -46.60531,
          "facets": {
            "city": "São Paulo, SP",
            "neighborhood": "Vila Isolina Mazzei, São Paulo, SP"
          }
        },
        "agency": {
          "id": "bbd20ecc-20b0-4f4c-b14f-aec4b8021bcf",
          "name": "TOP ZN IMOVEIS SOLUCOES IMOBILIARAS"
        },
        "created_at": "2026-09-18T14:43:57.350Z",
        "updated_at": "2026-09-18T14:43:57.350Z",
        "grouped_listings_count": 1
      }
    ],
    "pagination": {
      "page": 1,
      "per_page": 10,
      "returned": 10,
      "total": 92397,
      "total_listings": 117377,
      "total_pages": 1000,
      "has_next_page": true,
      "window": 10000
    },
    "facets": {
      "address.facets.city": {
        "São Paulo, SP": 403272
      },
      "address.facets.neighborhood": {
        "Jardim Paulista, São Paulo, SP": 13914,
        "Vila Mariana, São Paulo, SP": 13631,
        "Pinheiros, São Paulo, SP": 12898,
        "Indianópolis, São Paulo, SP": 10418,
        "Perdizes, São Paulo, SP": 9903,
        "Vila Olímpia, São Paulo, SP": 7967,
        "Brooklin Paulista, São Paulo, SP": 7792,
        "Itaim Bibi, São Paulo, SP": 7160,
        "Bela Vista, São Paulo, SP": 6923,
        "Vila Nova Conceição, São Paulo, SP": 6862
      },
      "address.facets.street": {
        "Alameda Lorena, Jardim Paulista, São Paulo, SP": 1656,
        "Alameda Franca, Jardim Paulista, São Paulo, SP": 1299,
        "Alameda Jaú, Jardim Paulista, São Paulo, SP": 1175,
        "Rua Bela Cintra, Consolação, São Paulo, SP": 1171,
        "Avenida Doutor Cardoso de Melo, Vila Olímpia, São Paulo, SP": 1062,
        "Rua Oscar Freire, Pinheiros, São Paulo, SP": 1061,
        "Rua Alves Guimarães, Pinheiros, São Paulo, SP": 1044,
        "Rua Alvorada, Vila Olímpia, São Paulo, SP": 985,
        "Rua Voluntários da Pátria, Santana, São Paulo, SP": 931,
        "Rua Haddock Lobo, Cerqueira César, São Paulo, SP": 922
      },
      "address.facets.condominium": {
        "Condominio Edifício Horizonte Home & Offices, Avenida Presidente Juscelino Kubitschek, Vila Nova Conceição, São Paulo, SP": 307,
        "Condominio On Melo Alves, Rua Melo Alves, Cerqueira César, São Paulo, SP": 279,
        "Condominio O Parque, Avenida Roque Petroni Júnior, Jardim das Acácias, São Paulo, SP": 279,
        "Condominio Home Boutique Brooklin, Avenida Portugal, Brooklin Paulista, São Paulo, SP": 266,
        "Condominio Ciragan, Alameda Ministro Rocha Azevedo, Cerqueira César, São Paulo, SP": 250,
        "Edifício V House - Faria Lima, Avenida Eusébio Matoso, Pinheiros, São Paulo, SP": 235,
        "Condominio Monumento Sao Paulo, Rua Doutor Luiz Migliano, Jardim Caboré, São Paulo, SP": 230,
        "Veranda Apartments, Rua Ribeiro do Vale, Brooklin Paulista, São Paulo, SP": 225,
        "Condomnio Edifcio 21st Century Flat, Alameda Lorena, Jardim Paulista, São Paulo, SP": 218,
        "Condominio Vn Millennium Faria Lima, Rua Chilon, Vila Olímpia, São Paulo, SP": 216
      }
    },
    "facets_stats": {
      ".price": {
        "count": 117377,
        "min": 10001,
        "max": 85000000,
        "avg": 1947019.75288174,
        "sum": 228535337534
      }
    },
    "applied_filters": {
      "city": "São Paulo, SP",
      "bedrooms": 3,
      "exact_rooms": true,
      "per_page": 10,
      "listing_type": "sale"
    }
  },
  "meta": {
    "endpoint_family": "search",
    "attempts": 1,
    "request_id": "req_a2a1447083cd412482a2a7bce6b89fde",
    "credits_charged": 1,
    "credits_remaining": 1847
  }
}
200 OKJSONX-Credits-Used: 1
Recorded from our API and shortened.

Sample data

What one call returns

A recorded run of search: the fields and shapes you will get, shortened to 3 items.

#idstringurlurllisting_typestringstatusstringhome_typestringproperty_typestringproperty_subtypesstring[]usage_typestringproduct_typestringcontract_typestringpriceintegercurrencystringcondo_feenumbermonthly_expensesnumberproperty_taxnumberareaintegerbedroomsintegersuitesintegerbathroomsintegerparking_spotsintegernumber_of_floorsnumberhas_balconybooleanhas_virtual_tourbooleanhas_decorated_photosbooleancan_redecoratebooleantagsstring[]descriptionstringimageurlthumbnailurlphotosstring[]addressobjectagencyobjectcreated_atstringupdated_atstringgrouped_listings_countinteger
1zyf448bfhttps://loft.com.br/imovel/zyf448bfsaleFOR_SALEapartmentdefault[2 items]residentialmarketnon_exclusive765000BRL700771.6771.6770311220falsetruetruetrue[1 item]Apartamento de 70m² com 3 Dormitórios, Suíte, 2 Vagas e Lazer de Clube! Seu novo lar com conforto, praticidade e lazer completo para toda a família! Imagine morar em um apartamento espaçoso, com ambientes planejados, duas vagas de garagem…https://content.loft.com.br/homes/zyf448bf/desktop_banner.jpghttps://content.loft.com.br/homes/zyf448bf/banner_thumbnail.jpg[3 items]{10 fields}{2 fields}2026-10-19T19:15:42.365Z2026-10-21T12:36:28.223Z1
2v5a7hbi1https://loft.com.br/imovel/v5a7hbi1saleFOR_SALEhouse—[2 items]residentialmarketnon_exclusive600000BRL———12531322falsetruefalsetrue[1 item]—https://content.loft.com.br/homes/v5a7hbi1/desktop_banner.jpghttps://content.loft.com.br/homes/v5a7hbi1/banner_thumbnail.jpg[3 items]{9 fields}{2 fields}2026-11-11T18:56:53.753Z2026-11-11T18:57:13.581Z1
31btdzbh8https://loft.com.br/imovel/1btdzbh8saleFOR_SALEhouse—[2 items]residentialmarketnon_exclusive539000BRL—1001001753122—falsetruefalsefalse—Descubra sua nova casa na Vila Isolina Mazzei! Esta encantadora residência térrea de 175 m² é perfeita para quem busca conforto e praticidade. Com 3 dormitórios, sendo 1 suíte, você terá espaço de sobra para sua família. A cozinha ampla é i…https://content.loft.com.br/homes/1btdzbh8/desktop_banner.jpghttps://content.loft.com.br/homes/1btdzbh8/banner_thumbnail.jpg[3 items]{9 fields}{2 fields}2026-09-18T14:43:57.350Z2026-09-18T14:43:57.350Z1

Recorded from our API · 3 items shown · 35 datapoints per itemGET /v1/loft/search?city=S%C3%A3o+Paulo%2C+SP&bedrooms=3&exact_rooms=true&per_page=10

35 datapoints

Identity

  • idstring
  • listing_typestring
  • statusstring
  • home_typestring
  • property_typestring
  • property_subtypesstring[]
  • usage_typestring
  • product_typestring
  • contract_typestring

Contact

  • urlurl

Location

  • areainteger
  • addressobject

Reputation

  • has_decorated_photosboolean
  • imageurl
  • photosstring[]

Price

  • priceinteger
  • currencystring
  • condo_feenumber
  • can_redecorateboolean

Other

  • monthly_expensesnumber
  • property_taxnumber
  • bedroomsinteger
  • suitesinteger
  • bathroomsinteger
  • parking_spotsinteger
  • number_of_floorsnumber
  • has_balconyboolean
  • has_virtual_tourboolean
  • tagsstring[]
  • descriptionstring
  • thumbnailurl
  • agencyobject
  • created_atstring
  • updated_atstring
  • grouped_listings_countinteger

Playground

Run this API

cURLshell
curl "https://api.perceptlayer.com/v1/loft/search?city=S%C3%A3o+Paulo%2C+SP&bedrooms=3&exact_rooms=true&per_page=10" \
  -H "X-API-Key: $API_KEY"

Loft · 4 endpoints

Endpoints

Every endpoint takes the same key. Open one for its parameters and an example request.

EndpointRequired parametersCost
GET/v1/loft/agency
id+6 optional
1 credit
GET/v1/loft/autocomplete
term+1 optional
1 credit
GET/v1/loft/listing
id
1 credit
GET/v1/loft/search
none+25 optional
1 credit

Overview

About the Loft API

What you can get

The Loft API returns Loft property data as JSON through 4 endpoints.

  • Search: search takes a city, with listing_type (sale or rent), neighborhood, query, a repeatable property_type[], price_min, price_max, area_min, area_max, bedrooms, suites, bathrooms, parking_spots, exact_rooms, condo_fee_max, monthly_expenses_max, a repeatable tags[], has_virtual_tour, has_decorated_photos, usage_type (residential or commercial), product_type (market, select, home_flipping, own_the_key or new_construction), agency_id, sort (relevance, price_asc, price_desc, newest or updated), per_page and page.
  • Listings: listing takes an id.
  • Agencies: agency takes an id, with listing_type, city, property_type[], sort, per_page and page.
  • Locations: autocomplete takes a term, with city.

The recorded search for São Paulo, SP (exactly 3 bedrooms, 10 per page) returns items, each with id, url, listing_type, status, home_type, property_type, price, currency, condo_fee, monthly_expenses, property_tax, area, bedrooms, suites, bathrooms, parking_spots, has_balcony, tags, photos, address, agency, created_at and updated_at. It also returns facets by city, neighbourhood, street and condominium, facets_stats for price (count, min, max and average), and pagination with total_pages and has_next_page.

How a call works

Search a city: GET /v1/loft/search?city=São Paulo, SP&bedrooms=3&exact_rooms=true&per_page=10 with your key in the X-API-Key header. Each item's id is what listing takes, and its agency.id is what agency takes, or what search filters on as agency_id. Every successful call costs 1 credit; failed calls cost nothing.

Real estateJSONRESTMCP

More real estate APIs

Use cases

Track asking prices and rents by neighbourhood in São Paulo and other Brazilian cities

Use the Loft API to track asking prices and rents by neighbourhood in São Paulo and other Brazilian cities

Compare total monthly cost from `condo_fee`, `property_tax` and `monthly_expenses`

Use the Loft API to compare total monthly cost from `condo_fee`, `property_tax` and `monthly_expenses`

Read price ranges for a search from `facets_stats`

Use the Loft API to read price ranges for a search from `facets_stats`

Find new construction with `product_type=new_construction`

Use the Loft API to find new construction with `product_type=new_construction`

FAQ

Questions

How much does the Loft API cost?

Each successful call costs one credit. New accounts get free credits to start, and credit packs bring the price down as you scale.

What format are responses in?

Every endpoint returns JSON, with no HTML parsing on your side.

Do I need a Loft account?

No. You call this Loft API with your Perceptlayer key in the `X-API-Key` header, with no Loft login.

Can I cap the condo fee?

Yes. Pass `condo_fee_max`, or `monthly_expenses_max` for all monthly costs, to `search`.

Should I build a Loft scraper instead?

You can, but a Loft scraper is code you maintain: page changes break it, requests get blocked, and Loft's terms govern how you collect data. The Loft API gives you 4 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.

Try the Loft API with 100 free credits

No credit card. Failed calls are never billed.