Accessing OBIS data

Finding & accessing OBIS data

Elizabeth Lawrence

2026-07-24

Getting data out of OBIS

Several ways in, depending on what you need:

  • obis.org — browse, search, and cite datasets
  • OBIS Mapper — visual exploration + quick downloads
  • robis — programmatic access from R
  • Parquet + robisdb (new) — fast, local access to the full dataset

The OBIS portal — obis.org

Your starting point for finding and understanding data:

  • Search & browse by taxon, region, or dataset
  • View dataset summary + citation info
  • Find data provider’s contact details

OBIS Mapper — mapper.obis.org

Visual, filter-driven exploration of OBIS data:

  • Filter by taxon, geography, time, and extensions
  • Combine multiple layers in one view
  • Download individual layers as CSV
    • Better for smaller datasets <20,000,000 records
  • Incldue eMoF and/or DNA-derived data extensions
    • (check the box — not on by default)

robis — programmatic access from R

install.packages("robis")
library(robis)

records <- occurrence(scientificname = "Megaptera novaeangliae", fields="associatedSequences")
dna <- dataset(scientificname = "Megaptera novaeangliae", fields="associatedSequences")
  • Query by species, taxon group, geometry (WKT), depth, time, quality flags…
  • Built-in checklist() for taxon lists in an area
  • dataset() — query for datasets instead of biological records

github.com/iobis/robis

New: fast access via Parquet

  • OBIS publishes the full global dataset as Parquet fields
  • Brand-new R package, robisdb
    • (released this month — actively evolving)
pak::pak("iobis/robisdb")
library(robisdb)

con <- connect_opendata_local("~/data/obis-open-data")
occ <- con |> occurrence_db(scientificname = "Minuca rapax")
  • Mirrors robis functions where possible (occurrence_db(), checklist_db()…)
  • Runs on DuckDB — fast, local queries without loading everything into memory
  • Built for scale: full-dataset or repeated analyses that would be slow via the API