---
title: "Get Country Indicators"
method: GET
path: "/api/v1/observations/countries/{country_code}"
tags: ["Observations"]
---

# Get Country Indicators

`GET /api/v1/observations/countries/{country_code}`

## Request

- Base URL: `https://api.africadb.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.africadb.com/api/v1/observations/countries/{country_code}`
- Auth: none declared

Return every indicator resolved for a single country at a target year.

Resolution order:

  1. **Local store** (``_LOCAL_OBS``, populated by ingested runs).
     This is the correct + fastest path and should serve nearly
     100% of requests. Cached in RAM, no upstream call.
  2. **Live upstream fetch** (World Bank API) — fallback only when
     the local store has nothing for this country. Every fallback
     increments the ``worldbank/live`` counter in
     :mod:`core.data_source_metrics` with the country + endpoint
     so ops can see coverage gaps without waiting for a support
     ticket.

We WANT the fallback to be rare. If the counters show a lot of
live hits, the ingestion pipeline needs a bigger coverage sweep.

## Path parameters

- `country_code` string, required

## Query parameters

- `year` integer, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/africadb/apis/africa-data-bank-api.md) · [All operations](https://skmtc.dev/africadb/apis/africa-data-bank-api/llms.txt) · [OpenAPI document](https://skmtc.dev/africadb/apis/africa-data-bank-api/revisions/2a50da82945b?raw)
