v1 Public · No auth required 60 req/min

georeference.it API

Open REST API returning Darwin Core occurrence data with community georeferences. No API key needed.

https://georeference.it/api/v1 Try it → /occurrences

Endpoints

GET /api/v1/occurrences Try →

Paginated list of occurrences. All filters are optional and combinable.

Parameter Type Description
countryISO 3166-1 α-2Filter by country code — PT, ES, …
dataset_keyUUIDFilter by GBIF dataset key
statusstringvalidated · has_suggestion · ungeoreferenced · gbif_georeferenced
scientific_namestringPartial match on scientific name
per_pageintegerRecords per page — default 100, max 500
pageintegerPage number — default 1
formatstringSet to jsonld for JSON-LD output
https://georeference.it/api/v1/occurrences?country=PT&status=validated&per_page=50
GET /api/v1/occurrences/{gbif_key} Try →

Returns a single occurrence by its GBIF numeric key. Accepts Accept: application/ld+json or ?format=jsonld.

GET /api/v1/datasets Try →

Aggregated statistics per GBIF dataset. Optional filters: country, institution_code, q (free text on institution/collection). Returns dataset_key, institution_code, collection_code, total, georeferenced, validated, ungeoreferenced.

See also: Datasets browser with CSV download.

Response format

Coordinates reflect the best available georeference: community-validated → pending suggestion → original GBIF coordinates.

JSON (default)

{
  "meta": {
    "total": 48213,
    "per_page": 100,
    "current_page": 1,
    "last_page": 483
  },
  "data": [
    {
      "occurrenceID": "3014169604",
      "scientificName": "Quercus robur L.",
      "verbatimLocality": "Redinha",
      "countryCode": "PT",
      "decimalLatitude": 39.8812,
      "decimalLongitude": -8.5234,
      "coordinateUncertaintyInMeters": 500,
      "georeferenceVerificationStatus":
        "verified by contributor",
      "georef_status": "validated",
      ...
    }
  ]
}

JSON-LD

Send Accept: application/ld+json or add ?format=jsonld

{
  "@context": {
    "@vocab":
      "http://rs.tdwg.org/dwc/terms/",
    ...
  },
  "@type": "owl:Ontology",
  "totalRecords": 48213,
  "@graph": [
    {
      "@type": "dwc:Occurrence",
      "@id": "https://www.gbif.org/
         occurrence/3014169604",
      "scientificName": "Quercus robur L.",
      "georeferenceVerificationStatus":
        "verified by contributor",
      ...
    }
  ]
}

Fields reference

Field Description
occurrenceID GBIF numeric occurrence key DwC
datasetKey GBIF dataset UUID DwC
institutionCode Institution that holds the specimen DwC
collectionCode Collection within the institution DwC
catalogNumber Catalog number in the collection DwC
basisOfRecord Nature of the record (PRESERVED_SPECIMEN, etc.) DwC
scientificName Full scientific name with authorship DwC
taxonRank Rank of the taxon (SPECIES, GENUS, etc.) DwC
kingdom / family Higher taxonomy DwC
eventDate Date of collection — ISO 8601 DwC
recordedBy Collector name(s) DwC
country / countryCode Country name and ISO 3166-1 alpha-2 code DwC
stateProvince State or province DwC
county County or second-level administrative area DwC
municipality Municipality DwC
island / islandGroup Island and island group when applicable DwC
waterBody Water body name when applicable DwC
verbatimLocality Original locality text from the specimen label DwC
decimalLatitude / decimalLongitude Best available coordinates DwC
geodeticDatum Coordinate reference system — WGS84 DwC
coordinateUncertaintyInMeters Radius of positional uncertainty in metres DwC
georeferencedBy Who georeferenced (contributor or system) DwC
georeferencedDate Date of georeference — ISO 8601 DwC
georeferenceProtocol Protocol used — Zermoglio et al. 2020 DwC
georeferenceSources Tools used (georeference.it, OpenStreetMap, etc.) DwC
georeferenceRemarks Free-text notes added by the georeferencer DwC
georeferenceVerificationStatus DwC verification status (see below) DwC
georef_status Platform internal status — omitted from JSON-LD
localityGroupID Locality group identifier — omitted from JSON-LD

georeferenceVerificationStatus

verified by contributor

Coordinates submitted and approved by community members.

validated
verified by data custodian

Reviewed and published by the data publisher via GBIF.

gbif_reviewed
requires verification

Coordinates exist but not yet community-validated.

has_suggestion
requires georeference

No coordinates available — specimen needs georeferencing.

ungeoreferenced

Code examples

curl

# Validated occurrences from Portugal
curl "https://georeference.it/api/v1/occurrences?country=PT&status=validated"

# As JSON-LD
curl -H "Accept: application/ld+json" \
  "https://georeference.it/api/v1/occurrences?country=PT&status=validated"

# Single occurrence
curl "https://georeference.it/api/v1/occurrences/3014169604"

# Dataset list
curl "https://georeference.it/api/v1/datasets?country=PT"

JavaScript

const res = await fetch(
  'https://georeference.it/api/v1/occurrences?country=PT&status=validated&per_page=500'
);
const { meta, data } = await res.json();
data.forEach(o =>
  console.log(o.scientificName, o.decimalLatitude, o.decimalLongitude)
);

Python — fetch all pages

import requests

url = "https://georeference.it/api/v1/occurrences"
params = {"country": "PT", "status": "validated", "per_page": 500}

records, page = [], 1
while True:
    r = requests.get(url, params={**params, "page": page}).json()
    records.extend(r["data"])
    if page >= r["meta"]["last_page"]:
        break
    page += 1

print(f"{len(records)} records")
Data provenance — Records are imported from GBIF. Community georeferences follow the Georeferencing Quick Reference Guide (Zermoglio et al. 2020). Please cite both GBIF and georeference.it when using this data.