Skip to content
    ↑↓ to choose · Enter to open

    · 15 min read

    GuiaMais Brazil Business Directory Scraper: 36 Data Fields per Record

    By CrawlerBros Engineering Team

    For $5.00 per 1,000 results on Apify's free plan, this scraper extracts rich contact profiles and directories from GuiaMais.com.br without logins, cookies, or API keys. Each record carries 36 output fields, including the business name, category, localized address, and public phone numbers from Brazil's leading business directory. You can target any of Brazil's thousands of municipalities using custom search overrides in Portuguese. This tool is built for sales teams, market researchers, and directory aggregators who need structured Brazilian local business data, but it is not for anyone who requires official business email addresses or website URLs, which GuiaMais does not publish.

    Try it: open GuiaMais Brazil Business Directory Scraper on Apify, sign in on the free plan and run the prefilled example.

    Can you try GuiaMais Brazil Business Directory Scraper before paying?

    Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of GuiaMais Brazil Business Directory Scraper a month, before run-start charges and platform usage.

    GuiaMais Brazil Business Directory Scraper was last updated on 2026-07-21. It is one of 1,725 Actors CrawlerBros publishes on Apify, which together have 680,173 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.

    What does it cost to run GuiaMais Brazil Business Directory Scraper?

    Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.

    Apify plan Per result Per 1,000 results
    FREE $0.005 $5.00
    BRONZE $0.00433 $4.33
    SILVER $0.00367 $3.67
    GOLD $0.003 $3.00
    PLATINUM $0.003 $3.00
    DIAMOND $0.003 $3.00

    The control with the absolute largest impact on your bill is maxItems, combined with fetchDetails. Because results write to the dataset, keeping maxItems low prevents unexpected charges. Be aware that the platform charges for platform usage each run consumes on top of these charges, and a run-start fee is charged every time a run starts, whether or not it returns results.

    How do you run GuiaMais Brazil Business Directory Scraper from the API?

    The schema marks 1 of its 16 controls as required: mode. Nothing in the payload below is illustrative. Those are the schema's prefilled defaults for GuiaMais Brazil Business Directory Scraper, so the request works once your token is in place.

    Call the synchronous endpoint to start a run and receive dataset items in one request:

    curl -X POST "https://api.apify.com/v2/acts/crawlerbros~guiamais-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"mode":"search"}'
    

    The same run from Python, using the official client:

    from apify_client import ApifyClient
    
    client = ApifyClient("<YOUR_APIFY_TOKEN>")
    
    run_input = {
      "mode": "search"
    }
    
    run = client.actor("crawlerbros~guiamais-scraper").call(run_input=run_input)
    
    for item in client.dataset(run["defaultDatasetId"]).iterate_items():
        print(item)
    

    And from Node.js:

    import { ApifyClient } from 'apify-client'
    
    const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
    
    const input = {
      "mode": "search"
    }
    
    const run = await client.actor('crawlerbros~guiamais-scraper').call(input)
    const { items } = await client.dataset(run.defaultDatasetId).listItems()
    console.log(items)
    

    Because the call is synchronous, your client waits for the whole run. Keep it for exploration. For scheduled work, start the run without waiting and collect the dataset afterwards, so network trouble costs you a retry rather than the results.

    Which GuiaMais Brazil Business Directory Scraper inputs matter, and which can you skip?

    The crucial inputs are mode and category. For most initial runs, leave state, minRating, and the boolean filters alone. Focus on setting a specific city or customCity in 'City Name, UF' format and defining a customCategory in Portuguese to target your niche directly.

    • mode (string): What to fetch. Default: "search".
    • category (string): Business category/type to search for. Pick one of the curated categories, or select "Custom category" and type any category in customCategory (any Portuguese business/service term works, even if not listed here, e.g. Cirurgião Dentista, Loja de Bicicletas). Default: "Restaurante".
    • customCategory (string): Free-text business category/type (Portuguese). Takes priority over category when set, e.g. Cirurgião Dentista, Loja de Bicicletas.
    • city (string): City to search within. Pick one of the 60 curated major Brazilian cities, or select "Custom city" and type any Brazilian city + state in customCity (format: City Name, UF). Default: "São Paulo, SP".
    • customCity (string): Free-text Brazilian city, format City Name, UF (e.g. Piracicaba, SP, Petrópolis, RJ). Takes priority over city when set.
    • state (string): Only keep results located in this Brazilian state (UF). Leave empty for no state restriction. Also used to disambiguate customCity when it doesn't already include a UF. Default: "".
    • urls (array): Full GuiaMais business listing URLs, e.g. https://www.guiamais.com.br/sao-paulo-sp/restaurantes/pizzarias/11230918-3/jatoba-restaurante-pizzaria. Default: [].
    • keyword (string): Only keep results whose name, description, or category contains this text (case- and accent-insensitive).
    • minRating (integer): Only keep results with a rating greater than or equal to this value (1-5). Use 0 for no minimum. Records with no rating yet are excluded once this is set above 0. Default: 0.
    • openNowOnly (boolean): Only emit businesses currently marked as open on GuiaMais. Default: false.
    • hasPhotosOnly (boolean): Only emit businesses that have at least one photo listed. Default: false.
    • verifiedOnly (boolean): Only emit businesses GuiaMais marks as verified. Default: false.

    The other 4 controls, with their defaults, are listed in the input schema on GuiaMais Brazil Business Directory Scraper on Apify.

    Fixed-choice controls: mode accepts search (Search by category + city), byUrl (Fetch listing pages by URL); category accepts 59 values (default Restaurante), including Restaurante (Restaurant), custom (Custom category (type below)), Hotel (Hotel / Pousada), Farmácia (Pharmacy); city accepts 62 values (default São Paulo, SP), including São Paulo, SP, custom (Custom city (type below)), Rio de Janeiro, RJ, Brasília, DF; state accepts 28 values (default ""), including "" ((none - no restriction)), AC (Acre (AC)), AL (Alagoas (AL)), AP (Amapá (AP)).

    What does GuiaMais Brazil Business Directory Scraper return?

    The returned records are perfect for building local lead databases, mapping business density, or verifying operating hours. However, they conspicuously do not contain email addresses or website links because GuiaMais does not expose these fields.

    • businessId, sourceUrl - unique ID and canonical GuiaMais listing URL
    • name
    • category, categoryUrl - business category (e.g. Pizzarias, Restaurantes)
    • description
    • street, neighborhood, city, state, postalCode, fullAddress
    • latitude, longitude, mapUrl - Google Maps link built from coordinates (detail only)
    • priceRange (detail only, when published)
    • phone, phones[] (all numbers on file), whatsappNumber, whatsappChatUrl - ready-to-send WhatsApp click-to-chat link
    • rating (1-5), reviewCount - only present once the business has received reviews
    • profileCompleteness - GuiaMais's own 0-100 listing-completeness score
    • openNow (boolean), openingHoursSummary (short text), openingSoon/closingSoon (booleans), openingHours[] - per-weekday breakdown {day, dayEn, hours} (detail only)
    • logoUrl, photos[]
    • verified (boolean), sponsored (boolean), plan - GuiaMais listing tier (free, etc.)
    • directionsUrl - GuiaMais-generated Google Maps directions link
    • recordType: "business", scrapedAt

    These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.

    How do you build the workflow end to end?

    Open GuiaMais Brazil Business Directory Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.

    1. Run an initial validation test with mode set to search, city set to São Paulo, SP, category set to Restaurante, and maxItems limited to 5.
    2. Verify that the businessId and sourceUrl are populated and that accented characters are correctly encoded in the name and fullAddress fields.
    3. Turn on fetchDetails and run again for the same 5 listings to verify that the latitude, longitude, mapUrl, and openingHours array populate.
    4. Set customCity to a free-text value like Piracicaba, SP or Petrópolis, RJ and verify that state filters successfully on SP or RJ.
    5. Utilize customCategory and enter a Portuguese service term like Cirurgião Dentista or Loja de Bicicletas to verify custom search parsing.
    6. Apply filters such as minRating set to 4, openNowOnly, or verifiedOnly to check how they reduce your returned dataset count.
    7. Scale up your run by increasing maxItems up to your desired volume when you are ready to pull larger geographical batches.

    How do you apply it? Three worked playbooks

    These are GuiaMais Brazil Business Directory Scraper's own documented use cases, each worked through as an operating pattern rather than a description.

    Use case 1: Lead generation

    Outcome: Build prospect lists of local businesses by category, state, and city

    Configure: Set mode to "search", category to "custom", customCategory to "Oficina Mecânica", city to "custom", customCity to "Campinas, SP", state to "SP", and maxItems to 100.

    Working method: Launch the run to query auto repair shops in Campinas. Examine the initial dataset output to ensure that phone, whatsappNumber, and whatsappChatUrl are populated for the leads. Filter out any rows lacking a phone number to finalize your high-priority outbound calling list.

    Deliverable: A CSV spreadsheet containing business names, categories, full physical addresses, and direct WhatsApp contact links.

    Stop condition: The run returns zero results for a known category, indicating that the GuiaMais search structure has changed.

    Use case 2: Market research

    Outcome: Analyze business density and category coverage across Brazilian states and cities

    Configure: Set mode to "search", category to "Dentista", city to "custom", customCity to "Ribeirão Preto, SP", state to "SP", fetchDetails to true, and maxItems to 200.

    Working method: Execute the run with fetchDetails set to true to ensure GPS coordinates and ratings are collected. Once the dataset is ready, group the records by neighborhood and calculate average ratings and coordinate density to map service coverage gaps.

    Deliverable: A structured JSON dataset featuring geospatial coordinates, business completeness scores, and rating averages per neighborhood.

    Stop condition: Over half of the retrieved records are missing latitude and longitude coordinates despite fetchDetails being active.

    Use case 3: Directory aggregation

    Outcome: Mirror or cross-reference Brazilian business listings

    Configure: Set mode to "byUrl", urls to ["https://www.guiamais.com.br/sao-paulo-sp/restaurantes/pizzarias/11230918-3/jatoba-restaurante-pizzaria"], and maxItems to 10.

    Working method: Feed a targeted list of high-value directory URLs into the urls array. Execute the run in byUrl mode to fetch direct, deep-page data including complete per-weekday opening hours and profile completeness scores. Compare this fresh data against your existing internal database to update outdated hours or addresses.

    Deliverable: A master database update file containing current business names, coordinates, and exact openingHours structures.

    Stop condition: The scraper returns a 404 or fails to resolve the specific listing page URL provided.

    What breaks, and how do you design around it?

    • deliveryOnly scopes the GuiaMais search, it isn't a post-fetch record filter. GuiaMais doesn't return a "delivery available" flag on individual business records - only its own search endpoint knows which businesses match, so this input narrows what GuiaMais itself searches rather than filtering records after the fact (like openNowOnly/hasPhotosOnly/verifiedOnly do).
    • website and email are not exposed. GuiaMais's public search results and business detail pages do not surface a website link or email address for the businesses sampled during development - these fields simply are not part of the structured data GuiaMais publishes for public (non-logged-in) access, so they are not fabricated or forced into the output.
    • rating/reviewCount only appear once a business has received reviews. GuiaMais shows a 0 placeholder for un-reviewed businesses; this actor omits the field entirely in that case rather than emitting a misleading zero.
    • Category list is curated, not exhaustive. GuiaMais accepts any Portuguese business/service search term. The category field ships ~55 popular curated examples but accepts any free text via customCategory - it is not a locked taxonomy.
    • City list is curated, not exhaustive. Brazil has thousands of municipalities. The city field ships 60 major cities (all state capitals plus other large metros) but accepts any Brazilian city via customCity (format City Name, UF).
    • Per-weekday opening hours and GPS coordinates require fetchDetails. These fields only exist on each business's own listing page, not in the search-results list.
    • GPS coordinates (latitude/longitude/mapUrl) and priceRange are only present for a subset of businesses even with fetchDetails on. GuiaMais only geocodes/publishes these for some listings; when a business's own page doesn't include them, the fields are simply omitted rather than fabricated.

    To handle large-scale extractions efficiently, break down wide searches into smaller, separate runs using customCity. If you find GPS coordinates or price ranges missing, remember that GuiaMais only geocodes a subset of its database, so you must design your downstream application to handle null values gracefully.

    When should you not use GuiaMais Brazil Business Directory Scraper?

    Do not use this Actor if you require email addresses, website links, or official corporate registration numbers like CNPJ, as GuiaMais does not host this information. Instead, you should consider searching other business registers or using broader web search scrapers. If your business intelligence needs shift to other regions entirely, you should use more targeted national tools. For example, if you need data from Mexico, run the SeccionAmarilla Mexico Business Directory Scraper. If you require data from Poland, use the PanoramaFirm Business Directory Scraper. For Germany, rely on the DasTelefonbuch Scraper - German Business Directory.

    What should you check before trusting the output?

    • Check that businessId and sourceUrl are never null; use these fields as your primary keys for deduplication.
    • Verify if phone is missing or if the phones array is empty, as some listings do not provide telephone numbers.
    • Inspect the rating field; it is entirely omitted for un-reviewed businesses, so expect null values instead of zero.
    • Verify that latitude and longitude are present when fetchDetails is true, but allow for occasional omissions when GuiaMais lacks geocoding data.
    • Monitor the dataset for any 403 or 429 status codes; though the scraper auto-escalates to free AUTO proxies, repeated blocks require custom proxy configuration.

    None of this proves a record is correct. It gives a scheduled GuiaMais Brazil Business Directory Scraper run defined points where it should stop instead of quietly passing bad data downstream.

    Frequently asked questions

    Can I extract email addresses and company websites with this tool?

    No. GuiaMais does not publish email addresses or website links on its public search results or business listing pages. This scraper cannot extract data that does not exist on the platform, so those fields are omitted.

    What is the cost of running a large-scale search on GuiaMais?

    On the free plan, the cost is $5.00 per 1,000 results. Run-start fees are charged every time a run starts, and Apify also bills platform usage on top of these charges, so keeping your runs consolidated is highly cost-effective.

    Why are some coordinates and opening hours missing from my results?

    These fields require turning on the fetchDetails control. When fetchDetails is false, the scraper only reads the main search results. If it is true, it visits each page. Some listings still won't have coordinates if GuiaMais has not geocoded them.

    Do I need to purchase proxies to bypass scraping blocks on GuiaMais?

    No. The website is publicly accessible, and the Actor is configured to automatically scale up to Apify's free AUTO proxy group if it encounters repeated 403, 429, or 503 errors during execution.

    How can I search for a city or category not listed in the default dropdown menus?

    You can use the customCategory and customCity text overrides. Enter any Portuguese business term in customCategory, and any Brazilian municipality in customCity using the 'City Name, UF' format.

    Where to go next

    When you are ready to run it, open GuiaMais Brazil Business Directory Scraper on Apify; the free plan covers up to 1,000 results a month.

    Start with the GuiaMais Brazil Business Directory Scraper Actor page for the current input schema, pricing tier, and run history.

    Other Actors we maintain for related data:

    Related guides:

    Resources

    • Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-26.

    • Actor last updated by its maintainers on 2026-07-21.

    • Run outcome figures cover the 30 day public window ending 2026-09-26.

    • GuiaMais Brazil Business Directory Scraper on Apify

    Featured actors

    GuiaMais Brazil Business Directory Scraper

    Scrape GuiaMais.com.br, Brazil's leading business directory. Search by category and city anywhere in Brazil, or fetch specific listings by URL. Get name, address, phone, category, rating, opening hours, photos and more - no login required.

    Run on Apify ↗