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
