---
title: "SIEM Establishments Search"
method: POST
path: "/mx/siem/establishments/v1"
tags: ["Mexico", "SIEM"]
---

# SIEM Establishments Search

`POST /mx/siem/establishments/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/mx/siem/establishments/v1`
- Auth: HTTP bearer

Search Mexican business establishments in the SIEM directory by commercial name or razón social. Optional filters narrow by state (INEGI code) and SCIAN activity. SIEM is a self-declared directory: registration is voluntary and each establishment chooses which fields stay public, so absence is not evidence of anything. Drill into a result with `siem-establishment`.

Supports async delivery: set `Prefer: wait=N` for an inline result, pass `callback_url` to receive a POST when ready, or poll `GET /jobs/{id}`.

## Headers

- `Idempotency-Key` string
- `Prefer` string

## Request body

- object
  - `name` string, required: Commercial name or razón social to search for. Matched case-insensitively as a substring.
  - `state_code` integer: INEGI state code (1-32) to filter by. Omit or 0 searches all states.
  - `activity_code` integer: SCIAN activity code to filter by (exact match). Omit or 0 searches all activities.
  - `page` integer: 1-based page number for paginated results.
  - `callback_url` string, uri: POST the job result here when it finishes.

## Response `200`

Successful response

- SiemEstablishmentsResponse
  - `data` SiemEstablishmentsData, required
    - `query` string, required: The name actually searched for, as the directory matched it.
    - `establishments` object[], required: The matching establishments on this page.
      - `establishment_id` string, required: Id to pass to the establishment lookup.
      - `commercial_name` string, nullable, required: Declared commercial name.
      - `chamber` string, nullable, required: Chamber the establishment is affiliated with.
      - `state` string, nullable, required: State name for `state_code`.
      - `state_code` number, nullable, required: INEGI state code.
    - `pagination` object, required
      - `total` number, required
      - `page_size` number, required
      - `total_pages` number, required
      - `page` number, required

## Other responses

- `202`: Accepted — the result is being computed asynchronously. Poll `job.status_url` (GET /jobs/{id}) or supply `callback_url` to have the result POSTed to you. Returned when `Prefer: wait` elapses before completion, or immediately when `callback_url` is set.
- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
