eBird Event Type

Part of the eBird integration.

Overview

The eBird integration brings bird observations from eBird, run by the Cornell Lab of Ornithology, into EarthRanger as events. Each observation records what was seen, how many, where, and which eBird checklist it came from, so sightings around your conservancy show up alongside the rest of your operational picture.

Observations arrive already resolved: they are records of something that was seen, not incidents that need a response.

Supported event types

EarthRanger event type Display title eBird source
ebird_observation eBird Observation One species observation from an eBird checklist

Fields

Field Label Type What it holds
common_name Common Name Text Species common name, e.g. Northern Red-fronted Tinkerbird.
scientific_name Scientific Name Text Binomial name, e.g. Pogoniulus uropygialis.
species_code Species Code Text eBird's own species identifier, e.g. reftin1.
quantity Quantity Number How many individuals were reported.
location_name Location Name Text The eBird location or hotspot name.
location_id Location ID Text eBird location identifier, e.g. L4197723.
location_private Private Location Yes/No Whether the observation came from a private location rather than a public hotspot.
submission_id Submission ID Text The eBird checklist the observation belongs to, e.g. S392006136.
valid Valid Yes/No eBird's validity flag for the record.
reviewed Reviewed Yes/No Whether the record has been through eBird review.
attribution Attribution Text Required credit line for eBird data.

How to create this event type

1. Install the command-line tool and sign in

You need a terminal with Python 3.11 or newer and pipx installed, and an EarthRanger account on the target site.

pipx install earthranger-cli                         # install the tool; this gives you the 'er' command

er profile add sitename --server sitename --username you   # save the site as a profile ('sitename' is the site's subdomain, e.g. 'borana' for borana.pamdas.org)
export ER_PROFILE=sitename                                 # tell 'er' to use that profile in this terminal
er auth login                                              # asks for your EarthRanger password and signs you in

Important: the account you log in with must have permissions on the Event Category that will host this event type.

2. Save this spec as ebird.yaml

Set category to the category that should host the eBird events on this site (for example tourism or monitoring).

category:
  value: tourism
  display: Tourism
event_types:
- value: ebird_observation
  display: eBird Observation
  icon_id: ebird_rep
  default_state: resolved
  layout:
    label: ''
    columns: 1
  fields:
  - key: common_name
    label: Common Name
    type: string
  - key: scientific_name
    label: Scientific Name
    type: string
  - key: species_code
    label: Species Code
    type: string
  - key: quantity
    label: Quantity
    type: number
  - key: location_name
    label: Location Name
    type: string
  - key: location_id
    label: Location ID
    type: string
  - key: location_private
    label: Private Location
    type: boolean
  - key: submission_id
    label: Submission ID
    type: string
  - key: valid
    label: Valid
    type: boolean
  - key: reviewed
    label: Reviewed
    type: boolean
  - key: attribution
    label: Attribution
    type: string

3. Preview, then apply

er events apply ebird.yaml --dry-run   # shows what will be created or changed
er events apply ebird.yaml             # actually does it

Applying is safe to repeat: it creates what is missing and patches only what differs. Nothing is ever deleted.

4. Verify

er events show event-type ebird_observation

Changelog

September 2026 — first published field set. Before this revision the event type existed with no fields at all, so eBird data was stored on each event but nothing appeared on the event form. These eleven fields were added: common_name, scientific_name, species_code, quantity, location_name, location_id, location_private, submission_id, valid, reviewed, attribution.

Events recorded before the update keep the values they arrived with — once the fields exist, that older data becomes visible on the form too. Nothing needs to be re-sent.

 

CLI tool and full spec documentation: https://github.com/PADAS/earthranger-cli