> ## 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.

# Indicadores

> Explora los más de 420 indicadores disponibles en Atlas, con sus unidades, frecuencias y mnemónicos.

Más de **400 indicadores** demográficos, socioeconómicos, financieros, de seguridad y de vivienda.

Cada uno trae lo que necesitas para consultarlo e interpretarlo.

* **`indicator_id`** es el ID que mandas a [últimas observaciones](/es/atlas/estadisticas/ultimas-observaciones) y [estadísticas por polígono](/es/atlas/estadisticas/estadisticas-por-poligono).
* **`mnemonic`** es el alias estable y legible, como `census_population` o `pct_households_nse_high`.
* **`unit_id`** y **`frequency_id`** dan la unidad (`PEOPLE`, `PERCENT`, `MXN`…) y la frecuencia (`MONTHLY`, `DECENNIALY`…).

<Tip>
  La forma más rápida de encontrar un indicador es `search`, que busca en mnemónico, nombre y descripción, o el filtro exacto `mnemonic`. Recuerda que si mandas cualquier filtro por campo, `search` se ignora.
</Tip>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://client.tukanmx.com/tukan-atlas/indicators/?mnemonic=census_population" \
    -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/indicators/",
      headers=headers,
      params={"mnemonic": "census_population"},
  )
  resp.raise_for_status()
  ind = resp.json()["results"][0]
  print(ind["indicator_id"], ind["name"], ind["unit_id"])
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "count": 1,
    "page": 1,
    "page_size": 100,
    "results": [
      {
        "mnemonic": "census_population",
        "name": "Población total",
        "indicator_id": 1528,
        "name_en": "Total population",
        "description": "Población total censada.",
        "description_en": "Total census population.",
        "unit_id": "PEOPLE",
        "frequency_id": "DECENNIALY",
        "aggregation_level_up": "SUM",
        "aggregation_level_down": null,
        "weight_indicator": null,
        "indicator_type_id": "STOCK"
      }
    ]
  }
  ```
</ResponseExample>


## OpenAPI

````yaml es/atlas/openapi-atlas.json GET /indicators/
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:
  /indicators/:
    get:
      summary: Catálogo de indicadores
      description: >-
        Lista todos los indicadores disponibles con su metadata. Soporta
        búsqueda global por texto (parámetro search) y filtros individuales por
        campo. Los filtros por campo tienen precedencia sobre search y se
        combinan con lógica AND.
      operationId: listIndicators
      parameters:
        - name: page
          in: query
          description: Número de página
          required: false
          schema:
            type: integer
            default: 1
        - name: page_size
          in: query
          description: Resultados por página
          required: false
          schema:
            type: integer
            default: 100
        - name: search
          in: query
          description: Búsqueda global en mnemonic, name, name_en y description
          required: false
          schema:
            type: string
            example: población
        - name: mnemonic
          in: query
          description: Filtro por código mnemónico (coincidencia parcial)
          required: false
          schema:
            type: string
            example: census_population
        - name: name
          in: query
          description: Filtro por nombre en español (coincidencia parcial)
          required: false
          schema:
            type: string
            example: población
        - name: name_en
          in: query
          description: Filtro por nombre en inglés (coincidencia parcial)
          required: false
          schema:
            type: string
            example: population
        - name: unit_id
          in: query
          description: Filtro por unidad de medida (coincidencia parcial)
          required: false
          schema:
            type: string
            example: PEOPLE
        - name: frequency_id
          in: query
          description: Filtro por frecuencia de actualización (coincidencia parcial)
          required: false
          schema:
            type: string
            example: DECENNIALY
        - name: indicator_type_id
          in: query
          description: Filtro por tipo de indicador (coincidencia parcial)
          required: false
          schema:
            type: string
            example: STOCK
      responses:
        '200':
          description: Catálogo de indicadores obtenido exitosamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndicatorListResponse'
        '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'
components:
  schemas:
    IndicatorListResponse:
      type: object
      properties:
        count:
          type: integer
        page:
          type: integer
        page_size:
          type: integer
        results:
          type: array
          items:
            $ref: '#/components/schemas/IndicatorItem'
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
    IndicatorItem:
      type: object
      properties:
        indicator_id:
          type: integer
          description: ID único del indicador
          example: 1528
        mnemonic:
          type: string
          description: Código mnemónico único
          example: census_population
        name:
          type: string
          description: Nombre en español
          example: Población total
        name_en:
          type: string
          description: Nombre en inglés
          example: Total population
        description:
          type: string
          description: Descripción en español
          nullable: true
          example: Población total censada.
        description_en:
          type: string
          description: Descripción en inglés
          nullable: true
        unit_id:
          type: string
          description: Unidad de medida
          example: PEOPLE
        frequency_id:
          type: string
          description: Frecuencia de actualización
          example: DECENNIALY
        indicator_type_id:
          type: string
          description: Tipo de indicador
          example: STOCK
  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.

````