Loft Scraper — Brazil Property Data & API
Pricing
from $1.60 / 1,000 overview listings
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Ü
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Loft Scraper — Brazil Property Data & Real Estate API 🏠🇧🇷
🎉 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
| Field | Type | Required | Description |
|---|---|---|---|
scrapeMode | string | No | overview (fast list) or detail (full record). Default overview. |
searchMode | string | No | byCity, bySearchUrl, or byListingUrl. |
cities | array | No | City facets, e.g. ["sao paulo, sp"]. |
searchUrls | array | No | loft.com.br search URLs to mirror. |
listingUrls | array | No | Listing URLs or IDs (detail mode). |
transactionType | string | No | for_sale or for_rent. Default for_sale. |
orderBy | string | No | rankB (relevance) or rankA. Default rankB. |
neighborhood | string | No | Optional neighbourhood facet, e.g. pinheiros, sao paulo, sp. |
minBedrooms | integer | No | Minimum bedrooms (≥ N). |
maxResults | integer | No | Max listings per run. Default 100. |
proxyCountry | string | No | BR 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:
| Field | Type | Description |
|---|---|---|
propertyTitle | string | Human-readable listing title |
url | string | Canonical listing URL |
price | number | Sale price (BRL) |
rental_price | number | Monthly rent (BRL) |
complex_fee | number | Monthly condo fee (BRL) |
property_tax | number | Monthly IPTU (BRL) |
annual_property_tax | number | Annual IPTU (BRL, detail) |
price_per_sqm_brl | number | Computed price per m² |
area | number | Usable area (m²) |
bedrooms / suits / restrooms / parking_spots | number | Room counts |
neighborhood / city / state | string | Location |
latitude / longitude | number | GPS coordinates |
agency_name | string | Listing agency |
photos | array | All 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_pricehistory - 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 ApifyClientclient = 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)
- Trigger: Schedule or webhook
- HTTP Request: Call the actor API
- Process: Handle JSON results
- 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
PAID Tier (Production Ready)
- 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.
❓ 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
proxyCountrytoBRto spread requests across a Brazilian residential exit
⚖️ Is it legal to scrape data?
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
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check the SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools