ebird-api-data
eBird API Data is a reusable Django app for loading data from eBird into a database.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Repository
eBird API Data is a reusable Django app for loading data from eBird into a database.
Basic Info
- Host: GitHub
- Owner: ebirders
- License: mit
- Language: Python
- Default Branch: master
- Size: 652 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
eBird API Data
eBird API Data is a reusable Django app for loading data from eBird into a database.
Overview
The Cornell Laboratory of Ornithology in Ithaca, New York runs the eBird database which collects observations of birds from all over the world. All the observations are published on eBird.org, and they also make them available via an API. This project contains a loader and models to take data from the API and load it into a database. From there you can analyse the data with python, jupyter notebooks, or build a web site.
To get started, you will need to sign up for an eBird account, if you don't already have one and register to get an API key. Make sure you read and understand the Terms of use, and remember bandwidth and servers cost money, so don't abuse the service. If you need large numbers of observations, then sign up to receive the eBird Basic Dataset.
Install
You can use either pip or uv to download the package from PyPI and install it into a virtualenv:
shell
pip install ebird-api-data
or:
shell
uv add ebird-api-data
Update INSTALLED_APPS in your Django setting:
python
INSTALLED_APPS = [
...
ebird.api.data
]
Finally, run the migrations to create the tables:
python
python manage.py migrate
Demo
If you check out the code from the repository there is a fully functioning Django site. It contains pages for checklists, observations and species, where you can browse the records or search by location, observer. date. etc. The Django Admin lets you browse and edit the records in the database.
shell
git clone git@github.com:StuartMacKay/ebird-api-data.git
cd ebird-api-data
Create the virtual environment:
shell
uv venv
Activate it:
shell
source .venv/bin/activate
Install the requirements:
shell
uv sync
Create a copy of the .env.example file and add your API key:
shell
cp .env.example .env
For example:
shell
EBIRD_API_KEY=<my api key>
Run the database migrations:
shell
python manage.py migrate
Create a user:
shell
python manage.py createsuperuser
Create a copy of the .env.example file and add your API key:
shell
cp .env.example .env
shell
EBIRD_API_KEY=<my api key>
Now, download data from the API:
shell
python manage.py add_checklists --days 2 US-NY-109
This loads all the checklists, submitted in the past two days by birders in Tompkins County, New York, where the Cornell Lab is based. You can use any location code used by eBird, whether it's for a country, state/region, or county. Remember, read the terms of use.
Run the demo:
shell
python manage.py runserver
Now, either visit the site, http:localhost:8000/, or log into the Django Admin, http:localhost:8000/admin to browse the tables.
Project Information
- Documentation: https://ebird-api-data.readthedocs.io/en/latest/
- Issues: https://todo.sr.ht/~smackay/ebird-api-data
- Repository: https://git.sr.ht/~smackay/ebird-api-data
- Announcements: https://lists.sr.ht/~smackay/ebirders-announce
- Discussions: https://lists.sr.ht/~smackay/ebirders-discuss
- Development: https://lists.sr.ht/~smackay/ebirders-develop
The repository is also mirrored on Github:
- Repository: https://github.com/StuartMacKay/ebird-api-data
The app is tested on Python 3.10+, and officially supports Django 4.2, 5.0 and 5.1.
License
eBird API Data is released under the terms of the MIT license.
Owner
- Name: eBirders
- Login: ebirders
- Kind: organization
- Repositories: 1
- Profile: https://github.com/ebirders
Python libraries, Jupyer Notebooks and Django apps and sites for working with data from eBird.org
Citation (CITATION.cff)
abstract:
eBird API Data is a reusable Django app for loading data from eBird
into a database.
authors:
- name: Stuart MacKay
cff-version: 1.2.0
date-released: 2025-07-26
keywords:
- checklists
- observations
- species
- Django
- eBird
- models
license: MIT License
message: If you use this software, please cite it using the metadata from this file.
repository-code: "https://github.com/StuartMacKay/ebird-api-data"
title: eBird API Data
version: 0.3.7
GitHub Events
Total
Last Year
Dependencies
- beautifulsoup4 >=4.13.3
- django >=4.2
- ebird-api-requests >=4.0.1
- ebird-codes >=0.0.2
- lxml >=6.0.0
- 102 dependencies