Skip to content
worldgovdata
Documentation / Core concepts

Core concepts

Licensing and attribution

None of this data is ours. Every series arrives under its provider's own licence, and that licence travels with it through the API — in the response you already have.

Two obligations. Credit the source, and respect the access tier. Both are stated in every response, so neither requires you to look anything up.

Who owns what

worldgovdata harmonises published statistics from institutional providers — the World Bank, UN agencies, the OECD, Our World in Data and others — onto one country spine and one response shape. The harmonisation is our work. The numbers are theirs.

Most of what we serve is CC BY, which permits commercial use, redistribution and derivative work, on one condition: attribution. Some providers attach further terms — share-alike, non-commercial, no-derivatives. The licence for every indicator is in the response; check it rather than assuming CC BY.

Access tiers

Every indicator carries an access_tier. It records what the provider’s licence permits us to do with the series, and it is enforced in the API rather than left to goodwill.

What each access tier permits
access_tier/v1/indicators/v1/rankings · country detail/v1/data
openListedServedServed
displayListedServed403 display_only
not redistributableAbsentAbsent404 indicator_not_found

open — the normal case

The provider permits redistribution. The series is listed, rankable, and exportable through /v1/data as JSON or CSV. The overwhelming majority of the catalogue is here.

display — look, do not export

The provider permits us to show the values with attribution but not to redistribute them. Such a series appears in the catalogue and in rankings, so you can read it and present it, but /v1/data refuses to hand you the underlying rows.

display_only · 403

HTTP/1.1 403 Forbidden

{
  "error": {
    "code": "display_only",
    "message": "Indicator 'oecd.example_series' is display-only: viewable on the portal with attribution, but not available for CSV/JSON export."
  }
}

This is the one refusal money cannot clear. Paying does not unlock a licence we do not hold — a full balance, a paid tier and a valid key all produce exactly the same 403. Nor is it transient: retrying will fail identically forever. Record it and move on.

Not redistributable — invisible

Some sources do not permit us to serve their data at all. Those indicators are absent from the API entirely: they are not in the catalogue, not in rankings, and a request for one by id returns 404 indicator_not_found rather than a 403. There is no “ask for access” path, because the gate is a licence, not a permission setting.

Where the licence is recorded

Three places, all free to read. You never have to guess and never have to hardcode a provider’s terms.

  • On the indicator record. /v1/indicators/{id} returns licence, licence_url, attribution and access_tier at the top level, and the same three again under provider. This is the authoritative answer for one series.
  • In the response meta. /v1/data and /v1/rankings put licence and attribution in meta, so the obligation arrives attached to the rows it applies to. Do not strip them on the way into your store.
  • Per provider. /v1/meta/freshness lists every provider with its licence, its attribution string, its update cadence and the upstream sources it is itself built on.

Read the terms for one indicator

curl -sS "https://api.worldgovdata.com/v1/indicators/wgi.control_of_corruption" \
  | jq '{licence: .data.licence, attribution: .data.attribution, access_tier: .data.access_tier}'

The attribution you must publish

Wherever the data appears — a chart, a table, a page, a report, a dataset you redistribute — the credit must be visible to whoever is looking at it. Same page, or one click away in a sources note. Not buried in a repository.

A line you can copy

One indicator

Source: World Bank — Worldwide Governance Indicators, via worldgovdata
(worldgovdata.com). Licensed under CC BY 4.0.

The template, with the field each part comes from:

Template

Source: {data.attribution}, via worldgovdata (worldgovdata.com).
Licensed under {data.licence}.

  data.attribution   →  "World Bank — Worldwide Governance Indicators"
  data.licence       →  "CC BY 4.0"
  data.licence_url   →  "https://creativecommons.org/licenses/by/4.0/"   (link the licence name)

For a chart drawing on several indicators, list each provider once and point at our sources page for the full lineage:

Several indicators

Sources: World Bank, UN Population Division, Our World in Data,
via worldgovdata — worldgovdata.com/data/sources. CC BY 4.0.

Generate it, do not type it

The attribution string is a field. Build the line from the response and it cannot drift when a provider updates their preferred wording.

From the response

# Python — from any /v1/data response
meta = page["meta"]
credit = (
    f"Source: {meta['attribution']}, via worldgovdata (worldgovdata.com). "
    f"Licensed under {meta['licence']}."
)

The rest of it

  • Link where you can. Link licence_url from the licence name, and link worldgovdata.com/data/sources from ours. Both are stable.
  • Say if you changed it. CC BY requires derivative works to be marked as such. If you rebased, smoothed, converted units, interpolated or combined series, say so — one clause is enough.
  • Do not use provider logos. An attribution is a text credit. A logo implies endorsement, and trademark is a separate regime from the data licence.
  • Do not imply endorsement. worldgovdata is not affiliated with any provider we redistribute, and neither are you by using the API.
  • Honour the extra terms. Where an indicator’s licence adds share-alike, non-commercial or no-derivatives conditions, those apply to you exactly as they apply to us. licence names them;licence_url is the text.
  • Store provenance with the rows. Keep indicator_id, licence and attribution in whatever you load the data into. It costs three columns and it is the difference between an audit and an archaeology project.

Accuracy and warranty

We publish what providers publish. Where a provider revises a series, we pick up the revision on the next run; where a provider is wrong, we are wrong with them. Nothing here is warranted fit for any particular purpose, and it must not be relied on as the sole basis for a decision that matters — check the original source for anything consequential.

/v1/meta/freshness is how you tell how current a provider is: it carries the last successful load and the newest year actually measured, per provider. The full terms are on the terms page.

See also

  • Sources — every provider, its licence, its cadence and the upstream origins it is itself built on.
  • /v1/indicators — the endpoint that answers the licence question for one series.
  • Errors — the difference between 403 display_only and 404 indicator_not_found.
  • Terms — the full reuse terms for the platform.