GBIF Species & Occurrence Scraper - Biodiversity Data avatar

GBIF Species & Occurrence Scraper - Biodiversity Data

Pricing

from $0.30 / 1,000 results

Go to Apify Store
GBIF Species & Occurrence Scraper - Biodiversity Data

GBIF Species & Occurrence Scraper - Biodiversity Data

$0.3/1K ๐Ÿ”ฅ GBIF scraper! Species taxonomy & occurrence records with coordinates worldwide. No key. JSON, CSV, Excel or API in seconds. Power biodiversity & conservation research โšก

Pricing

from $0.30 / 1,000 results

Rating

0.0

(0)

Developer

ninhothedev

ninhothedev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

GBIF Species & Occurrence Scraper

Export biodiversity data from GBIF (the Global Biodiversity Information Facility) โ€” the world's largest open index of species records, backed by more than 100,000 datasets from museums, herbaria, research institutions and citizen-science platforms.

This actor turns any search term into clean, flat JSON/CSV/Excel:

  • Species mode โ€” taxonomic name records: scientific name, canonical name, rank, taxonomic status and the full hierarchy (kingdom โ†’ phylum โ†’ class โ†’ order โ†’ family โ†’ genus โ†’ species) plus authorship.
  • Occurrences mode โ€” individual observation and specimen records including GPS latitude/longitude, country, event date, year, basis of record, institution, dataset and collector.

No API key. No login. No proxy required.

Features

  • Two scrape modes: species (taxonomy) and occurrences (records with coordinates)
  • Multiple search queries per run โ€” scientific names, genera, families or common names
  • Offset pagination handled automatically, with de-duplication across queries
  • ISO-8601 normalisation of GBIF's messy eventDate values (date-only, datetime, ranges, plain years)
  • Every field is nullable and every record is flat โ€” no nested objects to unpack
  • Browser-grade TLS fingerprint (curl_cffi, Chrome 124) with an automatic stdlib fallback
  • Runs on 512 MB, datacenter-clean, no proxy costs

Input

FieldTypeDefaultDescription
modeselectspeciesspecies for taxonomy records, occurrences for records with coordinates
queriesarray["Puma concolor", "Quercus"]Free-text GBIF search terms
maxItemsinteger100Total record cap across all queries (max 1000)
{
"mode": "occurrences",
"queries": ["Puma concolor", "Panthera onca"],
"maxItems": 500
}

Output

Species record

{
"type": "species",
"key": 116892593,
"scientific_name": "Puma concolor",
"canonical_name": "Puma concolor",
"rank": "SPECIES",
"taxonomic_status": "ACCEPTED",
"kingdom": "Animalia",
"phylum": "Chordata",
"class_name": "Mammalia",
"order_name": "Carnivora",
"family": "Felidae",
"genus": "Puma",
"species_name": "Puma concolor",
"authorship": "(Linnaeus, 1771)",
"num_descendants": 0,
"url": "https://www.gbif.org/species/116892593",
"source": "gbif",
"scraped_at": "2026-07-28T11:37:02.247510+00:00"
}

Occurrence record

{
"type": "occurrence",
"key": 5015469523,
"scientific_name": "Puma concolor (Linnaeus, 1771)",
"latitude": -19.588499,
"longitude": -56.087017,
"country": "Brazil",
"country_code": "BR",
"event_date": "2016-09-09T00:00:00",
"year": 2016,
"basis_of_record": "HUMAN_OBSERVATION",
"institution": "NABU|naturgucker",
"dataset": null,
"kingdom": "Animalia",
"family": "Felidae",
"genus": "Puma",
"elevation": null,
"recorded_by": "105162832",
"url": "https://www.gbif.org/occurrence/5015469523",
"source": "gbif",
"scraped_at": "2026-07-28T11:37:03.422709+00:00"
}

Use cases

  • Biodiversity research โ€” assemble species checklists for a taxon or region and cross-reference them against your own field data.
  • Ecology โ€” pull georeferenced occurrence points to fit species distribution models (MaxEnt, ENMeval) or map ranges in QGIS.
  • Species datasets โ€” build training corpora for taxonomic name matching, fuzzy name resolution or ML classification of scientific names.
  • Conservation โ€” track where and when a threatened species has been recorded, by which institution, and how sampling effort changed over time.

Pricing

Roughly $0.5 per 1,000 records. GBIF is free and public, so there are no proxy or API costs baked in โ€” you only pay for compute. A 1,000-record run finishes in about a minute on 512 MB.

Notes & limits

  • GBIF's full-text search is fuzzy: broad terms like Quercus return every name usage across all source datasets, so the same binomial can appear from multiple checklists (each with its own key). De-duplication is by GBIF key, not by name.
  • Not every occurrence has coordinates. GBIF stores records from herbarium sheets and old catalogues that were never georeferenced โ€” latitude/longitude will be null for those. In a typical run 90 %+ of records carry coordinates.
  • dataset, elevation, authorship and other optional Darwin Core terms are frequently empty upstream. That is source data, not scraper loss.
  • Data is published by GBIF under open licences (mostly CC0 / CC-BY / CC-BY-NC). Check the licence of each contributing dataset before republishing, and cite GBIF in academic work.

Development

python -m py_compile src/*.py
python tests/test_smoke.py # offline smoke tests, no network needed