{
  "openapi": "3.0.1",
  "info": {
    "title": "DENUE México: directorio de negocios del INEGI (sin token)",
    "description": "Establecimientos de México del directorio público DENUE del INEGI, filtrados por estado, municipio, actividad SCIAN y tamaño. Sin token ni API key. Modo privacidad para personas físicas. Mexico business directory (INEGI DENUE) by state, municipality, activity and size.",
    "version": "1.0",
    "x-build-id": "GTAGVVOWlZPFtTN5R"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abigc~denue-mexico-directorio-negocios/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abigc-denue-mexico-directorio-negocios",
        "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/abigc~denue-mexico-directorio-negocios/runs": {
      "post": {
        "operationId": "runs-sync-abigc-denue-mexico-directorio-negocios",
        "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/abigc~denue-mexico-directorio-negocios/run-sync": {
      "post": {
        "operationId": "run-sync-abigc-denue-mexico-directorio-negocios",
        "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": [
          "estados"
        ],
        "properties": {
          "estados": {
            "title": "Estados",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "Uno o más estados, por nombre (\"Nuevo León\", \"CDMX\", \"Estado de México\") o por clave INEGI de dos dígitos (\"19\"). Escriba \"todos\" para todo el país (32 descargas, tarda varios minutos). / One or more Mexican states, by name or two-digit INEGI code; \"todos\" for the whole country.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "Aguascalientes",
                "Baja California",
                "Baja California Sur",
                "Campeche",
                "Coahuila",
                "Colima",
                "Chiapas",
                "Chihuahua",
                "Ciudad de México",
                "Durango",
                "Guanajuato",
                "Guerrero",
                "Hidalgo",
                "Jalisco",
                "Estado de México",
                "Michoacán",
                "Morelos",
                "Nayarit",
                "Nuevo León",
                "Oaxaca",
                "Puebla",
                "Querétaro",
                "Quintana Roo",
                "San Luis Potosí",
                "Sinaloa",
                "Sonora",
                "Tabasco",
                "Tamaulipas",
                "Tlaxcala",
                "Veracruz",
                "Yucatán",
                "Zacatecas",
                "todos"
              ]
            }
          },
          "codigosScian": {
            "title": "Códigos de actividad SCIAN",
            "uniqueItems": true,
            "type": "array",
            "description": "Código SCIAN completo (6 dígitos, p. ej. 621211 = consultorios dentales del sector privado) o solo el inicio (2 a 5 dígitos, p. ej. 7225 = todos los restaurantes y similares). Varios códigos se suman. Vacío = cualquier actividad. / SCIAN (Mexican NAICS) code, full or prefix of 2 to 6 digits.",
            "items": {
              "type": "string",
              "pattern": "^\\s*[0-9]{2,6}\\s*$"
            }
          },
          "palabrasClaveActividad": {
            "title": "Palabras clave en el nombre de la actividad",
            "uniqueItems": true,
            "type": "array",
            "description": "Busca en el nombre SCIAN de la actividad (no en el nombre del negocio), sin distinguir acentos ni mayúsculas. Ejemplos: \"dental\", \"farmacia\", \"hotel\". Varias palabras se suman. Si además pone códigos, deben cumplirse las dos condiciones. / Keyword matched against the SCIAN activity name, accent- and case-insensitive.",
            "items": {
              "type": "string",
              "minLength": 3
            }
          },
          "municipios": {
            "title": "Municipios o alcaldías",
            "uniqueItems": true,
            "type": "array",
            "description": "Nombre oficial del municipio o alcaldía, sin distinguir acentos ni mayúsculas (p. ej. \"Monterrey\", \"Cuauhtemoc\", \"San Pedro Garza García\"). Debe ser el nombre completo. Vacío = todo el estado. / Official municipality name, accent- and case-insensitive, full name.",
            "items": {
              "type": "string"
            }
          },
          "tamanos": {
            "title": "Tamaño (personal ocupado)",
            "uniqueItems": true,
            "type": "array",
            "description": "Estratos de personal ocupado tal como los publica el INEGI. Vacío = cualquier tamaño. / Employee-count strata as published by INEGI.",
            "items": {
              "type": "string",
              "enum": [
                "0 a 5",
                "6 a 10",
                "11 a 30",
                "31 a 50",
                "51 a 100",
                "101 a 250",
                "251 y más"
              ],
              "enumTitles": [
                "0 a 5 personas",
                "6 a 10 personas",
                "11 a 30 personas",
                "31 a 50 personas",
                "51 a 100 personas",
                "101 a 250 personas",
                "251 y más personas"
              ]
            }
          },
          "soloConTelefono": {
            "title": "Solo con teléfono",
            "type": "boolean",
            "description": "Entrega solo establecimientos cuyo teléfono aparece en el resultado. Con el modo privacidad activo, los negocios clasificados como persona física quedan fuera porque su teléfono se oculta. / Only rows that show a phone number.",
            "default": false
          },
          "soloConCorreo": {
            "title": "Solo con correo electrónico",
            "type": "boolean",
            "description": "Entrega solo establecimientos cuyo correo aparece en el resultado (misma regla que el teléfono con el modo privacidad). / Only rows that show an email.",
            "default": false
          },
          "soloConSitioWeb": {
            "title": "Solo con sitio web",
            "type": "boolean",
            "description": "Entrega solo establecimientos con sitio web registrado. / Only rows with a website.",
            "default": false
          },
          "maxResultados": {
            "title": "Máximo de resultados",
            "minimum": 0,
            "type": "integer",
            "description": "La corrida se detiene al llegar a este número (se toman en el orden del archivo del INEGI, no es una muestra aleatoria). 0 = sin límite. / Maximum number of rows; 0 = no limit.",
            "default": 1000
          },
          "modoPrivacidad": {
            "title": "Modo privacidad (recomendado)",
            "type": "boolean",
            "description": "Activado: se ocultan el teléfono y el correo de los establecimientos clasificados como persona física (razón social vacía o con forma de nombre de persona). La clasificación es una estimación automática; vea sus límites en la descripción del actor. / When on, phone and email are blanked for establishments classified as natural persons (heuristic).",
            "default": true
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}