---
title: "Supersociedades Companies Search"
method: POST
path: "/co/supersociedades/companies-search/v1"
tags: ["Colombia", "Supersociedades"]
---

# Supersociedades Companies Search

`POST /co/supersociedades/companies-search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/supersociedades/companies-search/v1`
- Auth: HTTP bearer

Every company that files annual financial statements with Colombia's Superintendencia de Sociedades (about 30,000 a year since fiscal 2015), searchable by name, fiscal year, macrosector (`construccion`, `comercio`, `manufactura`, ...), CIIU section, division or code, department, region, supervision status and minimum revenue. Each result is one filing: NIT, name, activity, location, supervision status, employees, and the headline figures (revenue, profit, assets, liabilities, equity, cash flows, ratios, ranking) in thousands of COP. Largest revenue first. One filing per company and year unless `include_all_filings` is true. Served by Croma (`as_of` says how current the data is); the latest year is searched when `fiscal_year` is 0.

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `query` string: Optional words matched against the company name (razón social) as filed.
  - `fiscal_year` integer: Optional fiscal year (2015 or later). 0 searches the latest year available.
  - `macrosector` 'any' | 'agropecuario' | 'minero' | 'manufactura' | 'construccion' | 'comercio' | 'servicios' | 'transporte': Optional macrosector as the Superintendencia groups activities: `agropecuario`, `minero` (mining and hydrocarbons), `manufactura`, `construccion`, `comercio`, `servicios`, `transporte`, or `any`.
  - `ciiu_code` string: Optional CIIU Rev. 4 A.C. filter: a section letter (`F` for construction), a two-digit division (`42`), or a full four-digit code (`4220`).
  - `department` string: Optional department of the company's domicile, e.g. `ANTIOQUIA`, `BOGOTA D.C.`. Case and accents are ignored.
  - `region` 'any' | 'bogota_cundinamarca' | 'antioquia' | 'costa_pacifica' | 'region_caribe' | 'centro_oriente' | 'eje_cafetero' | 'centro_sur' | 'llanos': Optional region as the Superintendencia groups departments.
  - `supervision_status` 'any' | 'inspeccion' | 'vigilancia' | 'control' | 'cancelada' | 'exenta' | 'nueva' | 'camara_de_comercio': Optional standing before the Superintendencia: `inspeccion`, `vigilancia`, `control`, `cancelada`, `exenta`, `nueva` (roster only), `camara_de_comercio` (roster only), or `any`.
  - `min_revenue` number: Optional revenue floor for the fiscal year, in thousands of COP (`1000000` is one billion pesos). 0 applies no floor.
  - `include_all_filings` boolean: `false` (default) returns one filing per company and fiscal year (the individual books when filed, else the separado, else the consolidado). `true` returns every filing, including consolidated ones.
  - `page` integer: 1-based page number for paginated results.
  - `per_page` integer: Results per page (1-100).

## Response `200`

Successful response

- SupersociedadesCompaniesSearchResponse
  - `data` SupersociedadesCompaniesSearchData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `total` number, required: Matches across every page, counted up to 1000.
    - `total_is_exact` boolean, required: False when more than 1000 match: `total` is then 1000, and the pages go on.
    - `page` number, required
    - `per_page` number, required
    - `total_pages` number, required: Pages over `total`; there are more when `total_is_exact` is false.
    - `count` number, required: Results on this page.
    - `fiscal_year` number, nullable, required: The fiscal year searched: the one asked, or the latest available when `0` was sent. Null when the copy is empty.
    - `results` object[], required: Largest revenue first.
      - `id` string, required: The filing's identifier: entry point, NIT and corte, e.g. `pymes_individuales_800011651_2025-12-31`. The same filing carries the same id in every Supersociedades dataset.
      - `document_number` string, required: The company's NIT, numeric, no verification digit.
      - `name` string, nullable, required: Razón social as filed.
      - `fiscal_year` integer, required: Fiscal year of the corte.
      - `cutoff_date` string, required: The corte, `yyyy-mm-dd`; December 31 for an annual filing.
      - `filing_id` string, nullable, required: Número de radicado of the filing. Numbers grow with time, so the highest one held for a corte is what a refresh reads above.
      - `statement_type` 'individual' | 'separado' | 'consolidado' | 'combinado', nullable, required: What the filing covers: `individual`, `separado`, `consolidado` or `combinado`.
      - `niif_group` 'plenas' | 'pymes', nullable, required: Reporting framework: `plenas` (group 1) or `pymes` (group 2).
      - `preferred` boolean, required: True for the one filing that stands for the company in that fiscal year: the individual books when filed, else the separado, else the consolidado, latest radicado first. Searches return preferred filings unless asked otherwise.
      - `ciiu_code` string, nullable, required: Primary CIIU Rev. 4 A.C. activity code as filed, four digits, e.g. `4220`. A prefix filter takes a division (`42`) or a full code.
      - `ciiu_description` string, nullable, required: The activity's label as filed.
      - `ciiu_section` string, nullable, required: CIIU section letter, `A` to `U`; `F` is construction.
      - `ciiu_division` string, nullable, required: CIIU two-digit division, e.g. `42`.
      - `sector` string, nullable, required: The CIIU division's label, e.g. `Obras de ingeniería civil`.
      - `macrosector` string, nullable, required: The Superintendencia's own grouping: `AGROPECUARIO`, `MINERO E HIDROCARBUROS`, `MANUFACTURA`, `CONSTRUCCION`, `COMERCIO`, `SERVICIOS`, `TRANSPORTE`, or `SIN CIIU`.
      - `region` string, nullable, required: Region as the Superintendencia groups departments, e.g. `Bogotá-Cundinamarca`, `Antioquia`, `Región Caribe`.
      - `department` string, nullable, required: Department of the company's domicile, as filed.
      - `city` string, nullable, required: City of the company's domicile, as filed.
      - `supervision_status` string, nullable, required: The company's standing before the Superintendencia: `INSPECCION`, `VIGILANCIA`, `CONTROL`, `CANCELADA`, `EXENTA`; null when the filing carries none.
      - `supervision_status_date` string, nullable, required: `yyyy-mm-dd` the supervision status was set.
      - `incorporation_date` string, nullable, required: Date of incorporation.
      - `employees_men` integer, nullable, required: Men employed, as filed.
      - `employees_women` integer, nullable, required: Women employed, as filed.
      - `revenue` number, nullable, required: Ingresos de actividades ordinarias for the fiscal year, in thousands of COP.
      - `gross_profit` number, nullable, required: Ganancia bruta, in thousands of COP.
      - `net_income` number, nullable, required: Ganancia (pérdida) for the fiscal year, in thousands of COP.
      - `total_assets` number, nullable, required: Total de activos at the corte, in thousands of COP.
      - `total_liabilities` number, nullable, required: Total pasivos at the corte, in thousands of COP.
      - `total_equity` number, nullable, required: Patrimonio total at the corte, in thousands of COP.
      - `revenue_previous` number, nullable, required: Revenue restated for the previous fiscal year.
      - `gross_profit_previous` number, nullable, required
      - `net_income_previous` number, nullable, required
      - `total_assets_previous` number, nullable, required
      - `total_liabilities_previous` number, nullable, required
      - `total_equity_previous` number, nullable, required
      - `comprehensive_income` number, nullable, required: Resultado integral total for the fiscal year, in thousands of COP.
      - `other_comprehensive_income` number, nullable, required: Otro resultado integral for the fiscal year, in thousands of COP.
      - `comprehensive_income_previous` number, nullable, required
      - `other_comprehensive_income_previous` number, nullable, required
      - `cash_from_operating` number, nullable, required: Net cash from operating activities, in thousands of COP.
      - `cash_from_investing` number, nullable, required
      - `cash_from_financing` number, nullable, required
      - `cash_from_operating_previous` number, nullable, required
      - `cash_from_investing_previous` number, nullable, required
      - `cash_from_financing_previous` number, nullable, required
      - `debt_ratio` number, nullable, required: Nivel de endeudamiento: total liabilities over total assets.
      - `liquidity` number, nullable, required: Razón de liquidez general.
      - `roa` number, nullable, required: Return on assets, as a fraction.
      - `roe` number, nullable, required: Return on equity, as a fraction.
      - `margin` number, nullable, required: Gross margin, as a fraction.
      - `ros` number, nullable, required: Return on sales (net income over revenue), as a fraction.
      - `debt_ratio_previous` number, nullable, required
      - `liquidity_previous` number, nullable, required
      - `roa_previous` number, nullable, required
      - `roe_previous` number, nullable, required
      - `rank_country` integer, nullable, required: The Superintendencia's ranking of the company by revenue among every filer that year; null when not ranked.
      - `rank_sector` integer, nullable, required: Ranking within its macrosector; null when not ranked.
      - `rank_top500` integer, nullable, required: Position among the 500 largest, when in it.
      - `rank_top9000` integer, nullable, required: Position among the 9,000 largest, when in it.
      - `rank_country_previous` integer, nullable, required: Previous year's ranking among every filer.
      - `rank_sector_previous` integer, nullable, required: Previous year's ranking within its macrosector.
      - `insolvency_processes_active` integer, nullable, required: Insolvency processes open at the corte, as the Superintendencia counts them.
      - `insolvency_processes_closed` integer, nullable, required: Insolvency processes closed, as the Superintendencia counts them.
      - `address` string, nullable, required: Address of the domicile, as filed.
      - `latitude` number, nullable, required: Latitude of the domicile as the Superintendencia geocodes it.
      - `longitude` number, nullable, required

## Other responses

- `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)
