Loft Scraper — Brazil Property Data & API avatar

Loft Scraper — Brazil Property Data & API

Pricing

from $1.60 / 1,000 overview listings

Go to Apify Store
Loft Scraper — Brazil Property Data & API

Loft Scraper — Brazil Property Data & API

Loft scraper & real estate data API for Brazil. Sale & rent listings: price, condo fee, IPTU, area, bedrooms, suites, parking, address, GPS, neighbourhood, amenities, photos — clean JSON/CSV. Fast overview or full detail. No API key needed.

Pricing

from $1.60 / 1,000 overview listings

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Loft Scraper — Brazil Property Data & Real Estate API 🏠🇧🇷

SIÁN Agency Store QuintoAndar Scraper VivaReal Scraper Zillow Scraper

🎉 Turn Brazil's Loft listings into clean, analysis-ready datasets — sale & rent, every city, no API key

For real-estate analysts, proptech teams, investors, and lead-gen agencies who need structured Brazilian property data fast


📋 Overview

Need Loft property data without copy-pasting? This scraper pulls Loft (loft.com.br) sale and rent listings into a clean, structured dataset — price, condo fee, IPTU, area, bedrooms, suites, parking, address, GPS, neighbourhood, amenities, photos and agency — ready for Excel, your CRM, or a model.

Why teams choose us:

  • Complete records: ~55 structured fields per listing, including monthly IPTU, condo fee, GPS coordinates and the full photo set
  • Two speeds, one tool: a fast, cheap Overview mode for bulk lists and a rich Detail mode for full per-listing data
  • 🎯 Search the way you work: by city, by a pasted search URL, or by specific listing URLs/IDs
  • 💰 Transparent pay-per-result: you're only charged for listings actually extracted — no charge until your input is validated
  • 💎 Brazil-native: prices in BRL, Portuguese locale, every state and city covered
  • No account or API key needed — paste a city and run

✨ Features

  • 🏙️ City search: pull every sale or rent listing in any Brazilian city (e.g. sao paulo, sp)
  • 🔗 Search-URL mode: paste a loft.com.br search URL and the actor mirrors your filters
  • 🆔 Listing-URL mode: enrich a specific set of listings by URL or ID
  • 💵 Full pricing picture: sale price, previous price, condo fee, monthly & annual IPTU, monthly expenses, and a computed price per m²
  • 📐 Rich attributes: area, bedrooms, suites, bathrooms, parking, floor, build year, tower floors, balcony & elevator flags
  • 📍 Geo-ready: street, neighbourhood, city, state, postal code, latitude & longitude
  • 🏢 Agency & marketplace data: agency name/ID and marketplace flags for lead generation
  • 🏊 Amenities & media: condo infrastructure, leisure amenities, unit features, virtual/video tour links and every photo URL
  • 📤 Export anywhere: JSON, CSV, or Excel straight from the Apify dataset

🎬 Quick Start

Pick a mode, give it a city (or URLs), and run. Results stream into the dataset as they're extracted — export to JSON/CSV/Excel when it finishes.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~loft-property-scraper/runs?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"scrapeMode":"overview","searchMode":"byCity","cities":["sao paulo, sp"],"maxResults":100}'

🚀 Getting Started (3 Simple Steps)

Step 1: Choose your mode

Overview for fast, cheap lists. Detail for the full per-listing record.

Step 2: Tell it where to look

Enter one or more cities (sao paulo, sp), paste loft.com.br search URLs, or list specific listing URLs/IDs.

Step 3: Run and export

Hit Start and download your dataset as JSON, CSV, or Excel.

That's it! In a few minutes, you'll have:

  • A clean table of Brazilian property listings
  • Price, costs, attributes, location and contact data
  • A reusable dataset you can refresh on a schedule

📥 Input Configuration

FieldTypeRequiredDescription
scrapeModestringNooverview (fast list) or detail (full record). Default overview.
searchModestringNobyCity, bySearchUrl, or byListingUrl.
citiesarrayNoCity facets, e.g. ["sao paulo, sp"].
searchUrlsarrayNoloft.com.br search URLs to mirror.
listingUrlsarrayNoListing URLs or IDs (detail mode).
transactionTypestringNofor_sale or for_rent. Default for_sale.
orderBystringNorankB (relevance) or rankA. Default rankB.
neighborhoodstringNoOptional neighbourhood facet, e.g. pinheiros, sao paulo, sp.
minBedroomsintegerNoMinimum bedrooms (≥ N).
maxResultsintegerNoMax listings per run. Default 100.
proxyCountrystringNoBR to route via a Brazilian residential exit; blank = direct.

Example — overview by city:

{
"scrapeMode": "overview",
"searchMode": "byCity",
"cities": ["sao paulo, sp"],
"transactionType": "for_sale",
"minBedrooms": 2,
"maxResults": 200
}

Example — detail by listing URL:

{
"scrapeMode": "detail",
"searchMode": "byListingUrl",
"listingUrls": ["https://loft.com.br/imovel/apartamento-vila-madalena/1fdwpn8"]
}

📤 Output

Results are saved to the Apify dataset with ~55 fields including:

FieldTypeDescription
propertyTitlestringHuman-readable listing title
urlstringCanonical listing URL
pricenumberSale price (BRL)
rental_pricenumberMonthly rent (BRL)
complex_feenumberMonthly condo fee (BRL)
property_taxnumberMonthly IPTU (BRL)
annual_property_taxnumberAnnual IPTU (BRL, detail)
price_per_sqm_brlnumberComputed price per m²
areanumberUsable area (m²)
bedrooms / suits / restrooms / parking_spotsnumberRoom counts
neighborhood / city / statestringLocation
latitude / longitudenumberGPS coordinates
agency_namestringListing agency
photosarrayAll photo URLs

Example:

{
"listingId": "1fdwpn8",
"url": "https://loft.com.br/imovel/1fdwpn8",
"propertyTitle": "Cobertura, Rua Fidalga, Vila Madalena, 2 quartos, 233m2",
"property_type": "rooftop",
"transaction_type": "FOR_SALE",
"price": 2600000,
"complex_fee": 1800,
"annual_property_tax": 11262,
"price_per_sqm_brl": 11158,
"area": 233,
"bedrooms": 2,
"suits": 1,
"restrooms": 3,
"parking_spots": 2,
"neighborhood": "Vila Madalena",
"city": "São Paulo",
"state": "SP",
"latitude": -23.5523645,
"longitude": -46.6930137,
"agency_name": "Foxter Imobiliária",
"currency": "BRL"
}

💼 Use Cases & Examples

1. Market Analysis

Analysts tracking price and inventory across São Paulo neighbourhoods.

  • Input: a city + neighbourhood facet, overview mode
  • Output: every active listing with price, area and price per m²
  • Use: build a live comparables table and spot pricing trends

2. Lead Generation

Agencies building a list of listing agencies and marketplace sellers.

  • Input: overview mode across multiple cities
  • Output: agency names, listing URLs and locations
  • Use: feed your CRM with fresh, structured prospects

3. Investment Research

Investors screening yield by comparing rent and sale data.

  • Input: for_sale and for_rent runs for the same city
  • Output: price, rent, condo fee and IPTU per property
  • Use: model gross yield and total carrying cost

4. Price Monitoring

Proptech teams refreshing a dataset on a schedule.

  • Input: a saved search URL, run daily
  • Output: updated prices and previous_price history
  • Use: detect price drops and new inventory

5. Property Detail Enrichment

Teams that need deep data on a shortlist.

  • Input: detail mode with specific listing URLs/IDs
  • Output: build year, tower floors, annual IPTU, tour links, full photos
  • Use: populate a listing page or valuation report

6. Data Feeds & Dashboards

Builders powering a real-estate dashboard.

  • Input: scheduled overview runs by city
  • Output: clean JSON ready for a database
  • Use: keep an internal property dashboard current

🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/loft-property-scraper').call({
scrapeMode: 'overview',
searchMode: 'byCity',
cities: ['sao paulo, sp'],
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/loft-property-scraper').call(
run_input={
'scrapeMode': 'overview',
'searchMode': 'byCity',
'cities': ['sao paulo, sp'],
'maxResults': 100,
}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~loft-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"scrapeMode":"overview","searchMode":"byCity","cities":["sao paulo, sp"]}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: Schedule or webhook
  2. HTTP Request: Call the actor API
  3. Process: Handle JSON results
  4. Action: Save to a sheet, notify a channel, or sync to your CRM

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 listings per run — full feature access, same quality
  • No credit card required
  • Perfect for testing and small projects
  • Unlimited listings per run
  • Faster processing, no caps
  • Pay-per-result: only charged for listings actually extracted

💰 Cost-efficient by design — Overview mode is the cheap, high-volume path; pay the premium Detail rate only on the listings you choose to enrich.

🔗 View current pricing


❓ Frequently Asked Questions

Q: How many listings can I extract? A: FREE tier: 25 per run. PAID tier: unlimited.

Q: What's the difference between Overview and Detail mode? A: Overview is the fast, cheap list — great for bulk. Detail enriches each listing with build year, tower floors, annual IPTU, tour links and the full photo set.

Q: Can I search a specific neighbourhood? A: Yes — set the neighborhood facet (e.g. pinheiros, sao paulo, sp) or paste a filtered search URL.

Q: What output formats are available? A: JSON, CSV, and Excel — export directly from the Apify dataset.

Q: Do I need an API key or a Loft account? A: No. Just provide a city or URLs and run.

Q: Which currency are prices in? A: Brazilian Real (BRL), as listed on the site.

Q: Is this legal? A: We only extract publicly available listing data. See the legal note below.


🐛 Troubleshooting

No results returned

  • Check the city format: "city, uf" lowercase (e.g. sao paulo, sp)
  • Confirm the transactionType (for_sale vs for_rent) matches what's available

Fewer results than expected

  • FREE tier is capped at 25 listings — switch to PAID for unlimited
  • Raise maxResults

Detail mode is slower

  • Detail fetches each listing individually for the full record — use Overview for bulk lists and Detail only on a shortlist

Hitting limits at very high volume

  • Set proxyCountry to BR to spread requests across a Brazilian residential exit

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what has been chosen to be shared publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Trademark notice

Loft is a trademark of Loft Tecnologia S.A. and/or its respective owners. This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Loft. All product names, logos, and brands are property of their respective owners and are used for identification purposes only.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools