> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tukanmx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Categorías de lugares

> El árbol completo de categorías comerciales, agrupado por fuente y categoría principal.

El árbol completo de **categorías de lugares**, agrupado por categoría principal.

Cada grupo (`finance`, `health-and-wellness`, `food-and-drink`…) contiene sus categorías específicas, y son los IDs de estas últimas (`bank`, `pharmacy`, `restaurant`…) los que usas para filtrar en [listado por entidad](/es/atlas/lugares/listado-por-entidad) y como `group_by: "category"` en [conteo por entidad](/es/atlas/lugares/conteo-por-entidad).

<RequestExample>
  ```bash cURL theme={null}
  curl "https://client.tukanmx.com/tukan-atlas/places-categories/grouped/" \
    -H "Authorization: Token $API_TUKAN"
  ```

  ```python Python theme={null}
  import os
  import requests

  headers = {"Authorization": f"Token {os.environ['API_TUKAN']}"}

  resp = requests.get(
      "https://client.tukanmx.com/tukan-atlas/places-categories/grouped/",
      headers=headers,
  )
  resp.raise_for_status()
  arbol = resp.json()["GOOGLE_MAPS"]
  for categoria in arbol["finance"]:
      print(categoria["id"], "-", categoria["name"])
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "GOOGLE_MAPS": {
      "finance": [
        {"id": "bank", "name": "Banco", "name_en": "Bank"},
        {"id": "atm", "name": "Cajero automático", "name_en": "ATM"},
        {"id": "pawn_shop", "name": "Casa de empeño", "name_en": "Pawn shop"}
      ],
      "health-and-wellness": [
        {"id": "wellness_center", "name": "Centro de bienestar", "name_en": "Wellness center"},
        {"id": "medical_center", "name": "Centro médico", "name_en": "Medical center"}
      ]
    }
  }
  ```

  <Note>
    La respuesta real incluye los 19 grupos y todas sus categorías; arriba se muestran dos grupos recortados para que el ejemplo quepa.
  </Note>
</ResponseExample>


## OpenAPI

````yaml es/atlas/openapi-atlas.json GET /places-categories/grouped/
openapi: 3.0.3
info:
  title: Atlas API
  description: >-
    API para consultar indicadores geoespaciales, catálogos geográficos y
    densidad de lugares en México.
  version: 1.0.0
  contact:
    name: Soporte Tukan
    email: contacto@tukanmx.com
servers:
  - url: https://client.tukanmx.com/tukan-atlas
    description: Servidor de producción
security:
  - tokenAuth: []
paths:
  /places-categories/grouped/:
    get:
      summary: Catálogo de categorías de lugares
      description: >-
        Regresa todas las categorías de lugares agrupadas por fuente y por
        categoría principal. Cada grupo contiene sus categorías específicas (las
        que se usan como category_ids en los filtros de densidad de lugares).
      operationId: listPlacesCategoriesGrouped
      responses:
        '200':
          description: Catálogo obtenido exitosamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlacesCategoriesGroupedResponse'
        '400':
          description: Solicitud inválida
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Token de autenticación inválido o ausente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    PlacesCategoriesGroupedResponse:
      type: object
      description: >-
        Categorías agrupadas por fuente (source_id) y después por categoría
        principal. Cada llave de segundo nivel contiene las categorías
        específicas hijas.
      additionalProperties:
        type: object
        additionalProperties:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                example: bank
              name:
                type: string
                example: Banco
              name_en:
                type: string
                example: Bank
      example:
        GOOGLE_MAPS:
          finance:
            - id: bank
              name: Banco
              name_en: Bank
            - id: atm
              name: Cajero automático
              name_en: ATM
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Token de autenticación. Formato requerido: Token tu-token (la palabra
        Token, un espacio y tu token). Solicita tu token escribiendo a
        contacto@tukanmx.com.

````