GBIF biodiversity data coverage by country (monthly)
Monthly country-level index of biodiversity occurrence-data coverage from the GBIF occurrence search API joined with World Bank 2024 population. For each country/territory with GBIF occurrence records, the connector pulls GBIF's country-faceted counts (all records plus the hasCoordinate=true subset) and joins World Bank 2024 population (SP.POP.TOTL); ISO codes are resolved through GBIF's own country vocabulary with hub.normalize canonicalization, and GBIF's non-territory codes (ZZ/XZ) are dropped loudly. Each row carries occurrence counts, georeferenced share, global share, records per 100k inhabitants, and a documented 0-100 coverage_score = min-max of log10(records per 100k), ranked as coverage_rank, with data-gap (bottom-quartile per-capita), low-georeference (<50% with coordinates), and small-population (<100k) flags. Month-granular as-of stamping makes same-month re-runs hash-identical; every row carries its exact GBIF and World Bank query URLs. Primary key: (snapshot_month, country_code). Caveats: GBIF counts measure digitized/published records, not true biodiversity — high scores mean strong digitization effort; microstates top the per-capita ranking (flagged); month-to-month deltas mix real growth with publisher backfill; 34 economies (incl. Taiwan, 26.4M records) have no World Bank 2024 population and carry NULL per-capita metrics. Only aggregate counts are stored (factual statistics); GBIF.org citation and World Bank attribution required. Sample use: order by coverage_rank for the best-digitized countries, or filter data_gap_flag = 1 for under-documented countries.
- Rows
- 250
- Columns
- 19
- Source cadence
- Monthly
- Last refreshed
- Sep 25, 2026
- Theme
- environment
| Column | Type | Description |
|---|---|---|
| snapshot_month | string | ISO calendar month of the fetch (YYYY-MM); the logical snapshot identity together with country_code. (unit: ISO month) |
| fetched_at | string | Fetch timestamp, month-granular: the first of snapshot_month at 00:00 UTC. Same-month re-runs produce identical snapshots; a new month always yields a new content-hashed snapshot. (unit: ISO datetime) |
| country_code | string | ISO 3166-1 alpha-3 code resolved through GBIF's own country vocabulary (XKX for Kosovo). Primary row identity with snapshot_month. (unit: ISO alpha-3) |
| country_name | string | Canonical English short name from hub.normalize; territories the hub table does not cover use GBIF's vocabulary title. (unit: name) |
| occurrence_count | integer | GBIF occurrence records attributed to the country (all record types). Factual aggregate from the GBIF occurrence search API. (unit: records) |
| georeferenced_count | integer | Subset of occurrence_count with coordinates (GBIF hasCoordinate=true facet). (unit: records) |
| coordinate_share | float | georeferenced_count / occurrence_count (0-1); the share of records usable on a map. (unit: ratio) |
| share_global_pct | float | Country's percent share of all GBIF occurrence records in the snapshot. (unit: percent) |
| population_2024 | float | World Bank WDI total population (SP.POP.TOTL) for 2024. NULL for the 34 GBIF economies with no World Bank entry (incl. Taiwan). (unit: persons) |
| population_year | float | Reference year of population_2024 (2024); NULL when population is NULL. (unit: year) |
| records_per_100k | float | occurrence_count per 100,000 inhabitants; NULL when population_2024 is NULL. Blows up for microstates (see small_population_flag). (unit: records/100k) |
| coverage_score | float | 0-100 min-max of log10(records_per_100k) over all scored countries; a digitization-coverage heuristic, NOT a biodiversity measure. NULL when records_per_100k is NULL. (unit: score 0-100) |
| coverage_tier | string | Tertile bucket of coverage_score: high (>= 66.67), medium (>= 33.33), low. NULL when unscored. (unit: category) |
| coverage_rank | integer | Rank by coverage_score desc (ties: occurrence_count desc, country_code asc); 1 = best digitization coverage. NULL when unscored. (unit: rank) |
| data_gap_flag | integer | 1 when records_per_100k is below the global 25th percentile (under-documented); NULL when unscored. (unit: flag) |
| low_georeference_flag | integer | 1 when fewer than half the country's records carry coordinates (coordinate_share < 0.5). (unit: flag) |
| small_population_flag | integer | 1 when population_2024 < 100,000: per-capita ratios are unstable for microstates. (unit: flag) |
| gbif_source_url | string | Exact GBIF occurrence-search query behind this row's counts (country filter, limit=0). (unit: URL) |
| wb_source_url | string | Exact World Bank API query behind this row's population value; NULL when the country has no World Bank entry. (unit: URL) |
First 10 sample rows — a preview, not the complete dataset.
| snapshot_month | fetched_at | country_code | country_name | occurrence_count | georeferenced_count | coordinate_share | share_global_pct | population_2024 | population_year | records_per_100k | coverage_score | coverage_tier | coverage_rank | data_gap_flag | low_georeference_flag | small_population_flag | gbif_source_url | wb_source_url |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-09 | 2026-09-01T00:00:00+00:00 | IMN | Isle of Man | 1,937,177 | 1,934,230 | 0.999 | 0.049 | 84,160 | 2,024 | 2,301,778.75 | 100 | high | 1 | 0 | 0 | 1 | https://api.gbif.org/v1/occurrence/search?country=IM&limit=0 | https://api.worldbank.org/v2/country/IM/indicator/SP.POP.TOTL?format=json&date=2024 |
| 2026-09 | 2026-09-01T00:00:00+00:00 | ASM | American Samoa | 991,700 | 934,746 | 0.943 | 0.025 | 46,765 | 2,024 | 2,120,603.02 | 99.09 | high | 2 | 0 | 0 | 1 | https://api.gbif.org/v1/occurrence/search?country=AS&limit=0 | https://api.worldbank.org/v2/country/AS/indicator/SP.POP.TOTL?format=json&date=2024 |
| 2026-09 | 2026-09-01T00:00:00+00:00 | GRL | Greenland | 1,134,624 | 846,596 | 0.746 | 0.029 | 56,836 | 2,024 | 1,996,312.2 | 98.42 | high | 3 | 0 | 0 | 1 | https://api.gbif.org/v1/occurrence/search?country=GL&limit=0 | https://api.worldbank.org/v2/country/GL/indicator/SP.POP.TOTL?format=json&date=2024 |
| 2026-09 | 2026-09-01T00:00:00+00:00 | BLZ | Belize | 7,896,311 | 7,778,256 | 0.985 | 0.199 | 417,072 | 2,024 | 1,893,272.86 | 97.84 | high | 4 | 0 | 0 | 0 | https://api.gbif.org/v1/occurrence/search?country=BZ&limit=0 | https://api.worldbank.org/v2/country/BZ/indicator/SP.POP.TOTL?format=json&date=2024 |
| 2026-09 | 2026-09-01T00:00:00+00:00 | NOR | Norway | 96,563,835 | 95,227,148 | 0.986 | 2.437 | 5,572,279 | 2,024 | 1,732,932.52 | 96.86 | high | 5 | 0 | 0 | 0 | https://api.gbif.org/v1/occurrence/search?country=NO&limit=0 | https://api.worldbank.org/v2/country/NO/indicator/SP.POP.TOTL?format=json&date=2024 |
| 2026-09 | 2026-09-01T00:00:00+00:00 | SWE | Sweden | 175,883,116 | 173,022,918 | 0.984 | 4.44 | 10,569,709 | 2,024 | 1,664,029.88 | 96.41 | high | 6 | 0 | 0 | 0 | https://api.gbif.org/v1/occurrence/search?country=SE&limit=0 | https://api.worldbank.org/v2/country/SE/indicator/SP.POP.TOTL?format=json&date=2024 |
| 2026-09 | 2026-09-01T00:00:00+00:00 | PLW | Palau | 292,959 | 243,289 | 0.831 | 0.007 | 17,695 | 2,024 | 1,655,603.28 | 96.35 | high | 7 | 0 | 0 | 1 | https://api.gbif.org/v1/occurrence/search?country=PW&limit=0 | https://api.worldbank.org/v2/country/PW/indicator/SP.POP.TOTL?format=json&date=2024 |
| 2026-09 | 2026-09-01T00:00:00+00:00 | BMU | Bermuda | 736,950 | 695,851 | 0.944 | 0.019 | 64,636 | 2,024 | 1,140,154.09 | 92.23 | high | 8 | 0 | 0 | 1 | https://api.gbif.org/v1/occurrence/search?country=BM&limit=0 | https://api.worldbank.org/v2/country/BM/indicator/SP.POP.TOTL?format=json&date=2024 |
| 2026-09 | 2026-09-01T00:00:00+00:00 | DNK | Denmark | 67,738,920 | 66,700,789 | 0.985 | 1.71 | 5,976,992 | 2,024 | 1,133,327.93 | 92.16 | high | 9 | 0 | 0 | 0 | https://api.gbif.org/v1/occurrence/search?country=DK&limit=0 | https://api.worldbank.org/v2/country/DK/indicator/SP.POP.TOTL?format=json&date=2024 |
| 2026-09 | 2026-09-01T00:00:00+00:00 | FIN | Finland | 53,786,422 | 53,219,429 | 0.99 | 1.358 | 5,619,911 | 2,024 | 957,068.93 | 90.29 | high | 10 | 0 | 0 | 0 | https://api.gbif.org/v1/occurrence/search?country=FI&limit=0 | https://api.worldbank.org/v2/country/FI/indicator/SP.POP.TOTL?format=json&date=2024 |
Profiled Sep 25, 2026 from snapshot 20260925T144956Z-d65c0b65e3c4
Measured- Completeness
- 94.3%
- Rows
- 250
- Columns
- 19
- Columns with gaps
- 8
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| snapshot_monthvarchar | 0% | 1 | — |
|
| fetched_atvarchar | 0% | 1 | — |
|
| country_codevarchar | 0% | 292 | — |
|
| country_namevarchar | 0% | 246 | — |
|
| occurrence_countbigint | 0% | 261 | 4,432 → 1,320,335,895median 760,617 | 6 outside 1st–99th percentile |
| georeferenced_countbigint | 0% | 260 | 3,682 → 1,278,626,406median 652,866 | 6 outside 1st–99th percentile |
| coordinate_sharedouble | 0% | 222 | 0.1148 → 0.9997median 0.9115 | 6 outside 1st–99th percentile |
| share_global_pctdouble | 0% | 190 | 0.0001 → 33.33median 0.0192 | 6 outside 1st–99th percentile |
| population_2024double | 13.6% | 233 | 9,646 → 1,450,935,791median 6,751,308 | 6 outside 1st–99th percentile |
| population_yeardouble | 13.6% | 1 | 2,024 → 2,024median 2,024 | |
| records_per_100kdouble | 13.6% | 184 | 273.86 → 2,301,779median 25,768 | 6 outside 1st–99th percentile |
| coverage_scoredouble | 13.6% | 263 | 0 → 100median 50.29 | 6 outside 1st–99th percentile |
| coverage_tiervarchar | 0% | 3 | — |
|
| coverage_rankbigint | 13.6% | 237 | 1 → 216median 108.5 | 6 outside 1st–99th percentile |
| data_gap_flagbigint | 13.6% | 2 | 0 → 1median 0 | |
| low_georeference_flagbigint | 0% | 2 | 0 → 1median 0 | |
| small_population_flagbigint | 13.6% | 2 | 0 → 1median 0 | |
| gbif_source_urlvarchar | 0% | 256 | — |
|
| wb_source_urlvarchar | 13.6% | 197 | — |
|
- Current
20260925T144956Z-d65c0b65e3c4 · sha256 d65c0b65e3c4…
250 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/gbif_biodiversity_signals/gbif_biodiversity_coverage_monthly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/gbif_biodiversity_signals/gbif_biodiversity_coverage_monthly").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/gbif_biodiversity_signals/gbif_biodiversity_coverage_monthly
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20260925T144956Z-d65c0b65e3c4 and its content hash, so readers get exactly the data you used.
GBIF biodiversity data coverage index (agent-curated). (2026). GBIF biodiversity data coverage by country (monthly) [Data set, snapshot 20260925T144956Z-d65c0b65e3c4, sha256 d65c0b65e3c4]. Datazimuts. Retrieved 2026-09-25, from https://datazimuts.com/en/datasets/gbif_biodiversity_signals/gbif_biodiversity_coverage_monthly?snapshot=20260925T144956Z-d65c0b65e3c4
@misc{dz_gbif_biodiversity_signals_gbif_biodivers_d65c0b65,
title = {{GBIF biodiversity data coverage by country (monthly)}},
author = {{GBIF biodiversity data coverage index (agent-curated)}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/gbif_biodiversity_signals/gbif_biodiversity_coverage_monthly?snapshot=20260925T144956Z-d65c0b65e3c4}},
note = {Snapshot 20260925T144956Z-d65c0b65e3c4, sha256 d65c0b65e3c4fa9df8c36be318a9fb7b9991f368ce7c27c1a998466390b372b7; accessed 2026-09-25}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=gbif_biodiversity_signals%2Fgbif_biodiversity_coverage_monthly&lang=en&theme=auto&snapshot=20260925T144956Z-d65c0b65e3c4&x=population_year&y=occurrence_count&agg=avg" title="GBIF biodiversity data coverage by country (monthly)" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.