Telelistas Brazil Scraper
Pricing
from $5.00 / 1,000 business listings
Telelistas Brazil Scraper
Scrape Telelistas / BuscJá into one row per Brazilian business: name, phone, website, address, coordinates. Category plus city and state, or a buscja.com / telelistas.net URL. JSON or CSV out. $5 per 1,000 listings plus phone and email events.
Pricing
from $5.00 / 1,000 business listings
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
Scrape BuscJá (the live Telelistas directory) into one row per business: name, phone, website, address, coordinates.
Works from a category plus city and state, or a pasted buscja.com / telelistas.net category or profile URL. Direct requests return the HTML. No proxy by default.
Pricing: $0.005 per listing (pushData). Extra contact-phone $0.002 and contact-email $0.05 when those fields are present.
Why use this scraper?
- Phone and website sit on the search card (
data-telefone,data-site). - City is
/{uf}/{city}/{category}with+for spaces, e.g./sp/sao+paulo/restaurantes. - São Paulo and Rio return different businesses.
?page=reshuffles the same set. It is not a next page.- Profile
/locais/.../bu-{id}/adds coordinates. The contact form does not expose email in HTML.
Overview
Built for lead lists and local research on Brazilian companies. Telelistas.net category URLs with + in the path serve the same cards as buscja.com. Hyphen paths such as /sp/sao-paulo/restaurantes return 410.
Supported inputs
| Input | What it does |
|---|---|
startUrls | https://www.buscja.com/sp/sao+paulo/restaurantes or a /locais/.../bu- profile |
searchTerms | Category slug, e.g. restaurantes, advogados |
locations | City plus UF, e.g. São Paulo, SP. Required |
maxItems | Stop after N unique listings (free plan cap 50) |
harvestWebsiteEmail | Fetch the business site if the directory has no inbox |
proxy | Off by default |
Each city and category is one set of about 25 cards.
Use cases
| Who | Why |
|---|---|
| Sales / agencies | Brazilian phones and websites from a category |
| Researchers | City and street coverage |
| SEO / maps | Website + coordinates per listing |
How it works
- Build
https://www.buscja.com/{uf}/{city}/{category}. - Parse
div.cardrows. The id isbu-{id}on the profile path. - Open the profile for coordinates and the full phone. JSON-LD telephone is truncated, so the actor uses
tel:links. - Charge
contact-phone/contact-emailafterpushData. - If still no email and harvest is on, fetch the business homepage and
/contato.
Input configuration
| Field | Type | Required | Notes |
|---|---|---|---|
startUrls | url[] | one of terms/URLs | category path or /bu- profile |
searchTerms | string[] | one of terms/URLs | e.g. restaurantes |
locations | string[] | with a category | e.g. São Paulo, SP |
maxItems | integer | no | default 50 |
scrapeDetails | boolean | no | default true |
harvestWebsiteEmail | boolean | no | default true |
maxConcurrency | integer | no | default 5 |
proxy | proxy | no | default off |
Example input
{"searchTerms": ["restaurantes"],"locations": ["São Paulo, SP"],"maxItems": 10,"harvestWebsiteEmail": false,"proxy": { "useApifyProxy": false }}
Output overview
One JSON object per business. Search cards already carry phone, website, and address when the listing publishes them.
Output samples
{"listingId": "18394985","name": "B.Lem Portuguese Bakery - Conceição em Vila Guarani (Z Sul)","phone": "1150110190","website": "https://www.blembakery.com","city": "São Paulo","region": "SP","postalCode": "04311000","country": "BR","profileUrl": "https://www.buscja.com/locais/sp/sao+paulo/restaurantes/bu-18394985/blem+portuguese+bakery+conceicao+em+vila+guarani+z+sul","source": "telelistas"}
FAQ
Does a city filter work? Yes, as /{uf}/{city}/{category}. São Paulo and Rio do not share listing ids. A city without a state code is skipped.
Is there a page 2? No stable one. ?page=2 overlaps page 1. /2 is 404.
Do I need a proxy? No. Leave it off unless a run starts getting blocked.
Where is the email? Not in the directory HTML. The contact button sits behind a captcha. Turn on website harvest if you want an inbox from the business site.
Support
Questions or a broken selector: open an issue on the actor page.
Disclaimer
Use this actor in line with Telelistas / BuscJá terms and applicable law. You are responsible for how you use the data.