{
  "openapi": "3.0.1",
  "info": {
    "title": "GuiaMais Brazil Business Directory Scraper",
    "description": "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.",
    "version": "1.0",
    "x-build-id": "rjbEe64jfwEfXephS"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~guiamais-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-guiamais-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/crawlerbros~guiamais-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-guiamais-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/crawlerbros~guiamais-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-guiamais-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "byUrl"
            ],
            "type": "string",
            "description": "What to fetch.",
            "default": "search"
          },
          "category": {
            "title": "Category (mode=search)",
            "enum": [
              "custom",
              "Restaurante",
              "Hotel",
              "Farmácia",
              "Advogado",
              "Dentista",
              "Veterinário",
              "Academia",
              "Padaria",
              "Joalheria",
              "Sapataria",
              "Loja de Móveis",
              "Lavanderia",
              "Banco",
              "Cartório",
              "Contador",
              "Arquiteto",
              "Escola",
              "Universidade",
              "Óptica",
              "Funerária",
              "Posto de Gasolina",
              "Cafeteria",
              "Pizzaria",
              "Salão de Beleza",
              "Oficina Mecânica",
              "Agência de Viagens",
              "Locadora de Veículos",
              "Empresa de Segurança",
              "Mudanças",
              "Encanador",
              "Eletricista",
              "Chaveiro",
              "Pet Shop",
              "Clínica Médica",
              "Hospital",
              "Laboratório",
              "Imobiliária",
              "Papelaria",
              "Spa",
              "Seguradora",
              "Açougue",
              "Loja de Eletrodomésticos",
              "Supermercado",
              "Floricultura",
              "Bar",
              "Lanchonete",
              "Sorveteria",
              "Confeitaria",
              "Salão de Festas",
              "Loja de Decoração",
              "Construtora",
              "Psicólogo",
              "Fisioterapeuta",
              "Nutricionista",
              "Barbearia",
              "Motel",
              "Autoescola",
              "Marcenaria"
            ],
            "type": "string",
            "description": "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": {
            "title": "Custom category override (mode=search)",
            "type": "string",
            "description": "Free-text business category/type (Portuguese). Takes priority over `category` when set, e.g. `Cirurgião Dentista`, `Loja de Bicicletas`."
          },
          "city": {
            "title": "City (mode=search)",
            "enum": [
              "custom",
              "São Paulo, SP",
              "Rio de Janeiro, RJ",
              "Brasília, DF",
              "Salvador, BA",
              "Fortaleza, CE",
              "Belo Horizonte, MG",
              "Manaus, AM",
              "Curitiba, PR",
              "Recife, PE",
              "Porto Alegre, RS",
              "Belém, PA",
              "Goiânia, GO",
              "Guarulhos, SP",
              "Campinas, SP",
              "São Luís, MA",
              "São Gonçalo, RJ",
              "Maceió, AL",
              "Duque de Caxias, RJ",
              "Natal, RN",
              "Campo Grande, MS",
              "Teresina, PI",
              "São Bernardo do Campo, SP",
              "Nova Iguaçu, RJ",
              "João Pessoa, PB",
              "Santo André, SP",
              "Osasco, SP",
              "Jaboatão dos Guararapes, PE",
              "São José dos Campos, SP",
              "Ribeirão Preto, SP",
              "Uberlândia, MG",
              "Sorocaba, SP",
              "Contagem, MG",
              "Aracaju, SE",
              "Feira de Santana, BA",
              "Cuiabá, MT",
              "Joinville, SC",
              "Juiz de Fora, MG",
              "Londrina, PR",
              "Aparecida de Goiânia, GO",
              "Ananindeua, PA",
              "Niterói, RJ",
              "Porto Velho, RO",
              "Serra, ES",
              "Caxias do Sul, RS",
              "Vila Velha, ES",
              "Florianópolis, SC",
              "Macapá, AP",
              "Campos dos Goytacazes, RJ",
              "São José do Rio Preto, SP",
              "Mauá, SP",
              "Diadema, SP",
              "Vitória, ES",
              "Boa Vista, RR",
              "Palmas, TO",
              "Rio Branco, AC",
              "Gramado, RS",
              "Foz do Iguaçu, PR",
              "Ilhéus, BA",
              "Piracicaba, SP",
              "Bauru, SP",
              "Santos, SP"
            ],
            "type": "string",
            "description": "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": {
            "title": "Custom city override (mode=search)",
            "type": "string",
            "description": "Free-text Brazilian city, format `City Name, UF` (e.g. `Piracicaba, SP`, `Petrópolis, RJ`). Takes priority over `city` when set."
          },
          "state": {
            "title": "State / UF filter (all modes)",
            "enum": [
              "",
              "AC",
              "AL",
              "AP",
              "AM",
              "BA",
              "CE",
              "DF",
              "ES",
              "GO",
              "MA",
              "MT",
              "MS",
              "MG",
              "PA",
              "PB",
              "PR",
              "PE",
              "PI",
              "RJ",
              "RN",
              "RS",
              "RO",
              "RR",
              "SC",
              "SP",
              "SE",
              "TO"
            ],
            "type": "string",
            "description": "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": {
            "title": "Business listing URLs (mode=byUrl)",
            "type": "array",
            "description": "Full GuiaMais business listing URLs, e.g. `https://www.guiamais.com.br/sao-paulo-sp/restaurantes/pizzarias/11230918-3/jatoba-restaurante-pizzaria`.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "keyword": {
            "title": "Keyword filter",
            "type": "string",
            "description": "Only keep results whose name, description, or category contains this text (case- and accent-insensitive)."
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "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": {
            "title": "Open now only",
            "type": "boolean",
            "description": "Only emit businesses currently marked as open on GuiaMais.",
            "default": false
          },
          "hasPhotosOnly": {
            "title": "Has photos only",
            "type": "boolean",
            "description": "Only emit businesses that have at least one photo listed.",
            "default": false
          },
          "verifiedOnly": {
            "title": "Verified businesses only",
            "type": "boolean",
            "description": "Only emit businesses GuiaMais marks as verified.",
            "default": false
          },
          "deliveryOnly": {
            "title": "Delivery available only (mode=search)",
            "type": "boolean",
            "description": "Only search businesses GuiaMais marks as offering delivery. This scopes the GuiaMais search itself (delivery availability isn't a field returned per business, so unlike the other filters it can't be applied after fetching).",
            "default": false
          },
          "fetchDetails": {
            "title": "Fetch full detail page per business",
            "type": "boolean",
            "description": "For mode=search: visit each business's own listing page to also collect geo-coordinates, map URL, price range, and full per-weekday opening hours. Slower (1 extra request per business). Always on for mode=byUrl.",
            "default": false
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Hard cap on emitted records.",
            "default": 30
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional proxy settings. Leave empty to use no proxy — GuiaMais is publicly accessible without one. The actor automatically escalates to the free AUTO datacenter proxy group if it hits repeated 403/429/503 errors."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}