---
title: "List issuing entities"
method: GET
path: "/v1/entities"
tags: ["Reference"]
---

# List issuing entities

`GET /v1/entities`

## Request

- Base URL: `https://api.dapperglobal.com`
- URL: `https://api.dapperglobal.com/v1/entities`
- Auth: API key in header `X-API-Key`

Returns the full list of government entities (ministerios, superintendencias, congresses, secretarías) that issue regulations. Primary use: discover `entity_id` values to pass to `list_regulations`. `country_code` is comma-separated (e.g. `BR,CO`); omit for all accessible countries. Use `q` to search by entity name — a case-insensitive substring (e.g. `q=Hacienda`), the agency's acronym (e.g. `q=ANEEL`, `q=INVIMA`), which is usually how a question names it, or every word of a name written from memory (`q=Superintendencia de Transporte` finds `Superintendencia de Puertos y Transporte`).

**Data sources:** reference catalogs derived from the official registries behind each domain — issuing entities from gazette attributions, commissions and parties from the congress rosters. These are internal lookup values (entity_id, commission_id, etc.), not citable documents themselves — cite the regulation/bill/actor record that uses them instead.

## Query parameters

- `q` string, nullable: Name filter: a case-insensitive substring ('Ministerio de Hacienda'), the agency's acronym ('ANEEL'), or every word of a remembered name ('Superintendencia de Transporte'). Returns up to 50 matches.
- `country_code` string, nullable: Comma-separated country codes, e.g. BR,CO,CL.
- `country_id` string, nullable: Deprecated alias: comma-separated numeric ids, e.g. 8,2,6.

## Response `200`

Successful response (real sample data)

- AppSchemasMiscEntity[]
  - `dapper_url` string, nullable: This record's page in the Dapper platform (dapperglobal.com) — hand this to a person who wants the full detail. Use it as given; the routes are not derivable from the payload. `null` means the record has no page (see the field's per-domain notes), not that the link is missing. Distinct from `external_link`/`congress_records[].link`, which point at the original official document.
  - `country_code` string, nullable
  - `country_id` integer, nullable
  - `id` integer, required
  - `name` string, nullable
  - `long_name` string, nullable
  - `feed` EntityFeed: When this body last published anything Dapper captured. Attached to an entity because that is where the caller is standing when the question is still answerable. The prescribed workflow is resolve-then-filter — `list_entities(q="ANEEL")`, then `list_regulations(entity_id=...)` — and until 2026-09-17 the first step handed back an id with no hint that the second one would return nothing. Measured that day: the most recent ANEEL consultation Dapper had captured was 73 days old (and every one it holds had already closed, the latest on 2025-11-26), while Brazil's consultations feed overall was current — so no country-level signal said anything. `days_since` is the fact; `status` is a coarse bucket over it (active <= 30d, quiet <= 90d, stale beyond, `never` when the body has no rows at all). It is deliberately not the ingestion SLA of /v1/health: that one answers "is the pipeline running", which is a different question from "has this agency gone quiet" — see app/utils/feed_freshness.py.
    - `last_published` string, date, nullable
    - `days_since` number, nullable
    - `status` string, required
  - `matched_alias` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/dapperglobal/apis/dapper-political-intelligence-api.md) · [All operations](https://skmtc.dev/dapperglobal/apis/dapper-political-intelligence-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dapperglobal/apis/dapper-political-intelligence-api/revisions/f34d9e6a2b0e?raw)
