---
title: "World Bank Indicators Search"
method: POST
path: "/global/world-bank/indicators-search/v1"
tags: ["Global", "World Bank"]
---

# World Bank Indicators Search

`POST /global/world-bank/indicators-search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/global/world-bank/indicators-search/v1`
- Auth: HTTP bearer

Search the World Bank's World Development Indicators catalog, about 1,500 indicators, by words in the name or definition and by `topic` (`poverty`, `education`, `health`, `social_protection_labor`, `financial_sector`, `economy`...). Each result carries the indicator code to pass to `world-bank-indicator-values`, its name, unit, topics, definition and the organization that produces the data. Served by Croma from its copy (`as_of` says how current the data is).

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

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `query` string: Optional words to find in the indicator's name or definition, e.g. `gini`, `unemployment youth`. Every word must appear.
  - `topic` '' | 'agriculture' | 'aid_effectiveness' | 'climate_change' | 'economy' | 'education' | 'energy_mining' | 'environment' | 'external_debt' | 'financial_sector' | 'gender' | 'health' | 'infrastructure' | 'millennium_development_goals' | 'poverty' | 'private_sector' | 'public_sector' | 'science_technology' | 'social_development' | 'social_protection_labor' | 'trade' | 'urban_development': Optional topic the World Bank files the indicator under, e.g. `poverty`, `education`, `social_protection_labor`.
  - `page` integer: 1-based page number for paginated results.
  - `per_page` integer: Results per page (1-200).

## Response `200`

Successful response

- WorldBankIndicatorsSearchResponse
  - `data` WorldBankIndicatorsSearchData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `query` string, required
    - `topic` string, nullable, required
    - `total` number, required: Matches, 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` object[], required
      - `indicator_code` string, required: The World Development Indicators code, e.g. "SI.POV.GINI". It is what `indicator_code` takes on the values endpoint.
      - `indicator` string, required: The indicator's name, e.g. "Gini index", "Unemployment, total (% of total labor force) (modeled ILO estimate)".
      - `unit` string, nullable, required: The unit, as the name states it in its last parentheses, e.g. "% of GDP", "current US$". Null when the name states none (an index, a count).
      - `topics` string[], required: The World Bank's topics for the indicator, by name, e.g. ["Poverty"]. Empty for a few indicators the World Bank files under none.
      - `source_note` string, nullable, required: The World Bank's definition of the indicator and how it is computed.
      - `source_organization` string, nullable, required: Who produces the underlying data, as the World Bank credits it.

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