Although eBird has an API, not all the information from the database is available. The API, for example, does not return links to any uploaded photos; comments on an individual observation are also missing. eBird Pages is a set of scrapers for extracting data from various pages on the eBird web site. It complements the API, giving access to all the data that eBird makes publicly available.
pip install ebird-pages
Scraping the data from a page is as simple as a function call. For example to get all the data from a checklist use get_checklist() and pass in the unique identifier generated when the checklist was submitted to the eBird database:
from ebird.pages import get_checklist
data = get_checklist('S38429565')
The function returns a dict with keys for the location, date, observers, etc.
Each of the functions has a corresponding script that can be used on the command-line:
$ get-checklist --id S38429565 --out checklist.json
The script allows data for one or more checklists to be downloaded and written to a file in JSON format.
ebird-pages works with Python 3.3+.
eBird Pages makes use of the following packages: Requests, BeautifulSoup4, lxml and Click. See requirements.txt for the version numbers of each of the libraries.
eBird Pages is available under the terms of the MIT license.