Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.cyanheads/gbif-biodiversity-mcp-server

REMOTE · GBIF-BIODIVERSITY.CASEYJHAND.COM · 2 COMPONENTS · SCANNED AUG 3

Search GBIF species taxonomy, occurrence records, datasets, and publishers.

+5 this week 69 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security66
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation not fully verified: no authorisation is required to call this server, and 13 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
  • HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
  • The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
  • DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
Schema Quality & AI Usability67
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3171 tokens (~243/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · gbif-biodiversity.caseyjhand.com

# add to Claude Code
claude mcp add --transport http cyanheads-gbif-biodiversity-mcp-server https://gbif-biodiversity.caseyjhand.com/mcp
# ~/.codex/config.toml
[mcp_servers.cyanheads-gbif-biodiversity-mcp-server]
url = "https://gbif-biodiversity.caseyjhand.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cyanheads-gbif-biodiversity-mcp-server": {
      "type": "remote",
      "url": "https://gbif-biodiversity.caseyjhand.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cyanheads-gbif-biodiversity-mcp-server --url https://gbif-biodiversity.caseyjhand.com/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  cyanheads-gbif-biodiversity-mcp-server:
    url: "https://gbif-biodiversity.caseyjhand.com/mcp"
// mcp.json
{
  "mcpServers": {
    "cyanheads-gbif-biodiversity-mcp-server": {
      "type": "http",
      "url": "https://gbif-biodiversity.caseyjhand.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 63

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://gbif-biodiversity.caseyjhand.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=caseyjhand.com CN=WE1,O=Google Trust Services,C=US 7 Jul 2026 5 Oct 2026 ECDSA 256 ECDSA-SHA256 5aad900eb2055a0b0ea55912ec19680c
SANs: caseyjhand.com, *.caseyjhand.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC secure

Validation of gbif-biodiversity.caseyjhand.com. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
caseyjhand.com. present 2371 13 Verified
gbif-biodiversity.caseyjhand.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://gbif-biodiversity.caseyjhand.com/mcp Verified 200
http (plaintext) http://gbif-biodiversity.caseyjhand.com/mcp HTTPS enforced 301 https://gbif-biodiversity.caseyjhand.com/mcp
MCP tools — 13 exposed · ~3,048 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
gbif_bulk_match_species ~216

Resolve up to 50 scientific names to GBIF backbone taxon keys in one call — the batch counterpart to gbif_match_species for checklist, inventory, and species-list workflows that would otherwise need one round trip per name. Each name is matched independently and results are returned in input order, one entry per name. A name with no backbone match yields matchType NONE (no taxonKey) instead of failing the batch; a per-name lookup failure yields matchType ERROR with the reason, leaving the rest of the batch intact. Resolves synonyms to the accepted backbone key. Common names are not supported — use gbif_search_species for vernacular searches. Below confidence 80, review the match.

NameTypeReqDescription
namesarrayyesScientific names to match against the GBIF backbone. 1–50 per call, matched in parallel.
strictbooleanWhen true, require an exact match for every name (no fuzzy matching). When false (default), GBIF applies fuzzy matching to tolerate minor misspellings.
NameTypeReqDescription
resultsarrayyesOne result per input name, in input order.

No examples provided.

gbif_count_occurrences ~205

Count occurrences matching a taxon + location filter without fetching records. Use for quick totals ("how many Aves records in Sweden?") or before deciding whether to paginate a full search. Accepts taxonKey, country, isGeoreferenced, datasetKey, and year.

NameTypeReqDescription
countrystringISO 3166-1 alpha-2 country code (e.g., "GB", "US").
datasetKeystringFilter to a specific dataset UUID.
isGeoreferencedbooleanWhen true, count only georeferenced records. When false, count only non-georeferenced records.
taxonKeynumberGBIF backbone taxon key from gbif_match_species. Matches the given taxon and all descendant taxa (subspecies, varieties, etc.).
yearstringYear or year range (e.g., "2024" or "2020,2024"). Both endpoints inclusive.
NameTypeReqDescription
countnumberyesTotal occurrences matching the supplied filters.

No examples provided.

gbif_get_dataset ~165

Fetch full dataset metadata by UUID key — title, description, citation text, contacts, license, DOI, numConstituents (sub-datasets), and temporal/geographic coverage. Use after gbif_search_datasets or when an occurrence record's datasetKey needs provenance detail. Contacts are capped by contactLimit (default 10); contactsTotal and contactsReturned report the full count.

NameTypeReqDescription
contactLimitintegerMaximum number of contacts to include (default 10, max 100). Set to 0 to omit contact detail while still reporting contactsTotal — useful when citation, license, and record count are all you need fro…
datasetKeystringyesDataset UUID from gbif_search_datasets or an occurrence record.
NameTypeReqDescription
citationTextstringFull citation text for academic reference. May be absent.
contactsarrayDataset contacts, capped at contactLimit. Absent when the dataset has no contacts or contactLimit is 0.
contactsReturnednumberNumber of contacts included in this response (≤ contactLimit). Present when the dataset has any contacts.
contactsTotalnumberTotal contacts on the dataset before applying contactLimit. Present when the dataset has any contacts.
descriptionstringFull dataset description. May be absent.
doistringDOI for citation. May be absent.
geographicCoveragesarrayGeographic coverage descriptions declared by the dataset. May be absent.
keystringDataset UUID.
licensestringLicense identifier. May be absent.
numConstituentsnumberNumber of constituent sub-datasets. May be absent.
publishingCountrystringCountry code of the publishing organization.
recordCountnumberNumber of records in the dataset. May be absent.
temporalCoveragesarrayTemporal coverage ranges declared by the dataset. May be absent.
titlestringDataset title.
typestringDataset type (OCCURRENCE, CHECKLIST, etc.).

No examples provided.

gbif_get_occurrence ~90

Fetch a single occurrence record by its GBIF occurrence key. Returns the complete Darwin Core record — all coordinates, administrative geography (GADM), dates, collections metadata, collector identifiers, media links, and quality issue flags. Use the occurrence key from gbif_search_occurrences results to fetch full detail.

NameTypeReqDescription
occurrenceKeynumberyesGBIF occurrence key from gbif_search_occurrences results.
NameTypeReqDescription
basisOfRecordstringHow the occurrence was recorded.
canonicalNamestringCanonical name without authorship.
catalogNumberstringCatalog number within the collection. May be absent.
classstringClass classification. May be absent.
classKeynumberBackbone taxon key for the class. May be absent.
collectionCodestringCollection code within the institution. May be absent.
continentstringContinent name. May be absent.
coordinateUncertaintyInMetersnumberCoordinate uncertainty radius in meters. May be absent.
countrystringCountry name. May be absent.
countryCodestringISO 3166-1 alpha-2 country code. May be absent.
datasetKeystringUUID of the source dataset.
daynumberObservation day. May be absent.
decimalLatitudenumberLatitude in decimal degrees (WGS84). May be absent.
decimalLongitudenumberLongitude in decimal degrees (WGS84). May be absent.
eventDatestringObservation date as ISO 8601 string. May be absent.
familystringFamily classification.
gadmobjectGADM administrative geography — stable GIDs and names at levels 0–2. May be absent.
genusstringGenus classification.
identifiedBystringIdentifier name(s). May be absent.
identifiersarrayAlternative record identifiers from the source. May be absent.
individualCountnumberNumber of individuals. May be absent.
institutionCodestringCode of the contributing institution. May be absent.
issuesarrayGBIF data quality issue flags.
keynumberGBIF occurrence key.
kingdomstringKingdom classification.
lifeStagestringLife stage of the individual(s). May be absent.
localitystringLocality description. May be absent.
mediaarrayAssociated media (images, audio, video). May be absent.
monthnumberObservation month (1–12). May be absent.
occurrenceIDstringDarwin Core occurrenceID — the source record identifier, often a URL back to the origin record. May be absent.
orderstringOrder classification.
phylumstringPhylum classification.
publishingCountrystringCountry code of the publishing organization.
recordedBystringCollector name(s). May be absent.
scientificNamestringScientific name from occurrence record.
sexstringSex of the individual(s). May be absent.
speciesstringSpecies canonical name.
stateProvincestringState or province. May be absent.
taxonKeynumberBackbone taxon key.
taxonRankstringTaxonomic rank of the identified taxon.
yearnumberObservation year. May be absent.

No examples provided.

gbif_get_species ~128

Fetch a single backbone taxon by its GBIF taxon key. Returns full classification, authorship, taxonomic status, vernacular name, descendant count, and publication reference. Use after gbif_match_species when you need the complete record rather than the match summary. When taxonomicStatus is SYNONYM, acceptedKey and accepted fields identify the accepted taxon. The extinct field is absent (not false) on most records — only present on explicitly flagged taxa.

NameTypeReqDescription
taxonKeynumberyesGBIF backbone taxon key from gbif_match_species or another taxonomy tool.
NameTypeReqDescription
acceptedstringScientific name of the accepted taxon when this record is a synonym.
acceptedKeynumberBackbone key of the accepted taxon when this record is a synonym.
authorshipstringTaxonomic authorship of the name.
canonicalNamestringScientific name without authorship.
classstringClass classification.
classKeynumberTaxon key for the class.
extinctbooleanTrue when the taxon is explicitly flagged as extinct. Absent on most records.
familystringFamily classification.
familyKeynumberTaxon key for the family.
genusstringGenus classification.
genusKeynumberTaxon key for the genus.
keynumberGBIF backbone taxon key.
kingdomstringKingdom classification.
kingdomKeynumberTaxon key for the kingdom.
numDescendantsnumberCount of child taxa in the backbone under this taxon.
numOccurrencesnumberOccurrence record count in GBIF.
orderstringOrder classification.
orderKeynumberTaxon key for the order.
parentstringName of the immediate parent taxon.
parentKeynumberTaxon key of the immediate parent.
phylumstringPhylum classification.
phylumKeynumberTaxon key for the phylum.
publishedInstringOriginal description citation when available.
rankstringTaxonomic rank (SPECIES, GENUS, FAMILY, etc.).
scientificNamestringFull scientific name with authorship.
speciesstringSpecies canonical name.
speciesKeynumberTaxon key for the species.
taxonomicStatusstringACCEPTED, SYNONYM, DOUBTFUL, etc. SYNONYM means acceptedKey/accepted are populated.
vernacularNamestringEnglish common name when available.

No examples provided.

gbif_get_species_children ~114

List direct children of a backbone taxon — genera within a family, species within a genus, subspecies within a species. Paginated. Use gbif_match_species to get the taxonKey first, then iterate with offset for large groups.

NameTypeReqDescription
limitnumberNumber of children to return (default 20, max 1000).
offsetnumberPagination offset.
taxonKeynumberyesGBIF backbone taxon key from gbif_match_species or another taxonomy tool.
NameTypeReqDescription
capnumberLimit applied when the result was truncated. Re-call with offset to page on.
childrenarrayyesDirect child taxa.
endOfRecordsbooleanyesTrue when there are no more results after this page.
limitnumberyesRecords returned in this page.
noticestringAgent guidance — a no-children note for a valid taxon, or a pagination note when the page was capped. Absent on a complete single page.
offsetnumberyesCurrent pagination offset.
shownnumberChildren returned in this page when the result was truncated.
truncatedbooleanTrue when more children exist beyond this page. Absent on the final page.

No examples provided.

gbif_get_species_classification ~142

Return the parent chain for a taxon — from kingdom (or domain) down to the immediate parent of the queried taxon — as an ordered array. Each entry has its rank, canonical name, and taxon key. The array is returned root-first (kingdom → phylum → class → … → immediate parent of the queried taxon); the queried taxon itself is not included — call gbif_get_species for its own record. Useful for building taxonomic trees or understanding placement without navigating the backbone level-by-level.

NameTypeReqDescription
taxonKeynumberyesGBIF backbone taxon key from gbif_match_species or another taxonomy tool.
NameTypeReqDescription
classificationarrayyesClassification chain ordered from root (kingdom) to the immediate parent of the queried taxon. The queried taxon itself is not included — call gbif_get_species for its own record.

No examples provided.

gbif_match_species ~272

Match a scientific name against the GBIF backbone taxonomy. Returns the best-matching taxon with full classification and a confidence score (0–100). This is the mandatory first step for any GBIF workflow — it resolves synonyms and returns the backbone taxonKey required by gbif_search_occurrences, gbif_count_occurrences, and gbif_occurrence_facets. Below confidence 80, the match should be reviewed. matchType NONE means no usable match was found — try removing the strict flag or broadening the name.

NameTypeReqDescription
kingdomstringNarrow the match to a specific kingdom (e.g., "Animalia", "Plantae", "Fungi") to disambiguate names that appear in multiple kingdoms.
namestringyesScientific name to match. Examples: "Parus major", "Agaricus bisporus", "Homo sapiens". Fuzzy matching handles minor spelling variations. Common names are not supported — use gbif_search_species for…
rankstringExpected taxonomic rank. Use to avoid matching a genus when you expect a species.
strictbooleanWhen true, only return an exact match. When false (default), GBIF applies fuzzy matching — useful for minor spelling variations and abbreviated names.
NameTypeReqDescription
canonicalNamestringScientific name without authorship.
classstringClass of the matched taxon.
classKeynumberBackbone taxon key for the class.
confidencenumberMatch confidence score 0–100. Below 80 warrants review.
familystringFamily of the matched taxon.
familyKeynumberBackbone taxon key for the family.
genusstringGenus of the matched taxon.
genusKeynumberBackbone taxon key for the genus.
kingdomstringKingdom of the matched taxon.
kingdomKeynumberBackbone taxon key for the kingdom.
matchTypestringEXACT, FUZZY, HIGHERRANK, or NONE. NONE means no usable match.
orderstringOrder of the matched taxon.
orderKeynumberBackbone taxon key for the order.
phylumstringPhylum of the matched taxon.
phylumKeynumberBackbone taxon key for the phylum.
rankstringTaxonomic rank of the matched taxon.
scientificNamestringFull scientific name with authorship.
speciesstringSpecies canonical name of the matched taxon.
speciesKeynumberBackbone taxon key for the species.
statusstringTaxonomic status: ACCEPTED, SYNONYM, or DOUBTFUL.
taxonKeynumberGBIF backbone taxon key. Use this in downstream tools. Absent when matchType is NONE.

No examples provided.

gbif_occurrence_facets ~428

Aggregate occurrence counts across a dimension (COUNTRY, STATE_PROVINCE, YEAR, BASIS_OF_RECORD, DATASET_KEY, KINGDOM_KEY, etc.). Returns the top-N facet values ranked by count — no record payloads returned. Core tool for distribution analysis and trend queries: "which countries have the most records for this species?", "how has observation volume changed since 2010?". Scope the aggregation with taxonKey, country, year, geometry, basisOfRecord, or datasetKey filters.

NameTypeReqDescription
basisOfRecordstringScope to a specific basis of record.
countrystringISO 3166-1 alpha-2 country code to scope to one country.
datasetKeystringScope the aggregation to a single dataset by its GBIF dataset UUID. Obtain one from gbif_search_datasets, gbif_get_dataset, a DATASET_KEY facet, or the datasetKey field on an occurrence record.
facetstringyesDimension to aggregate by (e.g., COUNTRY, YEAR, BASIS_OF_RECORD, SPECIES_KEY).
facetLimitnumberMaximum number of facet values to return (default 10, max 100).
facetOffsetnumberZero-based offset into the ranked facet values, for paging past the first facetLimit values on high-cardinality dimensions like DATASET_KEY. Advance by facetLimit to fetch the next page (0, then face…
geometrystringWKT polygon to scope the aggregation to a geographic area (e.g., POLYGON((8 47, 9 47, 9 48, 8 48, 8 47))). Coordinates are longitude latitude.
taxonKeynumberBackbone taxon key to scope the aggregation. Matches the given taxon and all descendant taxa (subspecies, varieties, etc.).
yearstringYear or year range (e.g., "2020,2024") to scope the aggregation. Both endpoints inclusive.
NameTypeReqDescription
countsarrayyesFacet values ranked by count descending (top facetLimit entries).
facetstringyesThe facet dimension aggregated.
facetLimitnumberyesMaximum facet values requested.
facetOffsetnumberyesZero-based offset applied to the ranked facet values.
moreValuesLikelybooleanyesHeuristic continuation flag: true when this page returned a full facetLimit of values, so more distinct values may exist past facetOffset + facetLimit (re-call with facetOffset advanced by facetLimit…
noticestringGuidance when no facet values were returned. Absent when counts are non-empty.
totalOccurrencesnumberyesTotal matching occurrences across all facet values.

No examples provided.

gbif_search_datasets ~184

Search GBIF datasets by keyword, type, country, or publishing organization. Returns dataset title, description, license, record count, and DOI. Use to find the source dataset behind a set of records, or to explore what data collections are available for a taxon, country, or organization.

NameTypeReqDescription
hostingOrgstringUUID of the hosting organization. From gbif_search_publishers results.
limitnumberNumber of datasets to return (default 20, max 1000).
offsetnumberPagination offset.
publishingCountrystringISO 3166-1 alpha-2 country code of the publishing organization.
qstringFree-text search across dataset title and description.
typestringFilter by dataset type. OCCURRENCE for observation records, CHECKLIST for species lists.
NameTypeReqDescription
datasetsarrayyesMatching datasets.
endOfRecordsbooleanyesTrue when there are no more results after this page.
limitnumberyesDatasets returned in this page.
noticestringGuidance when results are empty or paging overshot. Absent on successful result pages.
offsetnumberyesCurrent pagination offset.
totalCountnumberyesTotal matching datasets before pagination.

No examples provided.

gbif_search_occurrences ~732

Search 2.4B+ GBIF occurrence records with Darwin Core filters. Use taxonKey from gbif_match_species for reliable results — it resolves synonyms automatically. Accepts country (ISO 3166-1 alpha-2), bounding box (decimalLatitude/decimalLongitude ranges), WKT polygon geometry, year range, month, basis of record, coordinate filter, and dataset key. Pagination is capped at approximately offset+limit=100,000 — use gbif_occurrence_facets for aggregate counts across large result sets.

NameTypeReqDescription
basisOfRecordstringFilter by how the occurrence was recorded. HUMAN_OBSERVATION covers citizen science. PRESERVED_SPECIMEN covers natural history collections.
coordinateUncertaintyInMetersstringFilter by coordinate uncertainty radius in meters. Range format: "min,max" (e.g., "0,1000" for sub-kilometer precision). Both endpoints inclusive.
countrystringISO 3166-1 alpha-2 country code (e.g., "GB", "US", "DE", "SE").
datasetKeystringRestrict results to a single dataset by its GBIF dataset UUID. Obtain one from gbif_search_datasets, gbif_get_dataset, a DATASET_KEY facet (gbif_occurrence_facets), or the datasetKey field on an occu…
decimalLatitudestringLatitude range as "min,max" (e.g., "47.0,48.5"). Decimal degrees, WGS84. Combine with decimalLongitude for a bounding box.
decimalLongitudestringLongitude range as "min,max" (e.g., "8.0,9.5"). Decimal degrees, WGS84. Combine with decimalLatitude for a bounding box.
geometrystringWKT polygon for geographic filtering (e.g., POLYGON((8 47, 9 47, 9 48, 8 48, 8 47))). Coordinates are longitude latitude. Takes precedence over decimalLatitude/decimalLongitude.
hasCoordinatebooleanWhen true, return only georeferenced records (those with coordinates). When false, return ONLY records without coordinates. Omit the parameter entirely to include all records regardless of coordinate…
isInClusterbooleanFilter to records flagged as likely duplicates (true) or exclude them (false). Omit to include all. Note: GBIF does not expose a cluster identifier — only the membership flag. To de-duplicate, set is…
limitnumberNumber of records to return (default 20, max 300).
monthnumberCalendar month (1–12). Useful for seasonal distribution queries.
offsetnumberPagination offset. GBIF caps offset+limit at approximately 100,000 — use gbif_occurrence_facets for aggregate analysis beyond this.
scientificNamestringScientific name filter. Less precise than taxonKey — does not match synonyms. Use taxonKey from gbif_match_species for reliable results.
taxonKeynumberGBIF backbone taxon key from gbif_match_species. Preferred over scientificName — matches all synonyms automatically. Matches the given taxon and all descendant taxa (subspecies, varieties, etc.).
yearstringYear or year range. Single year: "2024". Range: "2020,2024". Filters by observation year. Both endpoints inclusive.
NameTypeReqDescription
endOfRecordsbooleanyesTrue when there are no more results after this page.
limitnumberyesRecords returned in this page.
noticestringGuidance when results are empty or paging overshot. Absent on successful result pages.
occurrencesarrayyesOccurrence records matching the filters.
offsetnumberyesCurrent pagination offset.
totalCountnumberyesTotal matching occurrences before pagination.

No examples provided.

gbif_search_publishers ~124

Search organizations registered with GBIF by name fragment or country. Returns organization key, title, and country — sufficient to chain into gbif_search_datasets with hostingOrg, or to understand who publishes data for a region.

NameTypeReqDescription
countrystringISO 3166-1 alpha-2 country code to filter organizations by country.
limitnumberNumber of organizations to return (default 20, max 1000).
offsetnumberPagination offset.
qstringName fragment to search for. Matches organization names.
NameTypeReqDescription
endOfRecordsbooleanyesTrue when there are no more results after this page.
limitnumberyesOrganizations returned in this page.
noticestringGuidance when results are empty or paging overshot. Absent on successful result pages.
offsetnumberyesCurrent pagination offset.
publishersarrayyesMatching organizations.
totalCountnumberyesTotal matching organizations before pagination.

No examples provided.

gbif_search_species ~248

Search or browse the GBIF backbone taxonomy. Accepts scientific name fragments, rank filters, and higher-taxon constraints. Useful for exploring what species exist under a higher taxon (e.g., "list all families of Coleoptera"), for simple name-fragment searches, or when gbif_match_species returns too narrow a result. Paginated — use limit and offset to walk through results.

NameTypeReqDescription
datasetKeystringScope to a specific checklist dataset UUID. Omit to search the GBIF backbone.
familystringScope search to a family name.
genusstringScope search to a genus name.
isExtinctbooleanFilter to extinct (true) or extant (false) taxa.
kingdomstringScope search to a kingdom (e.g., "Animalia", "Plantae").
limitnumberNumber of records to return (default 20, max 1000).
offsetnumberPagination offset.
qstringName fragment to search for. Matches scientific and vernacular names.
rankstringFilter to a specific taxonomic rank.
NameTypeReqDescription
endOfRecordsbooleanyesTrue when there are no more results after this page.
limitnumberyesRecords returned in this page.
noticestringGuidance when results are empty or paging overshot. Absent on successful result pages.
offsetnumberyesCurrent pagination offset.
taxaarrayyesMatching taxa.
totalCountnumberyesTotal matches before pagination.

No examples provided.