Skip to main content

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 Scrapers 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.

Install

pip install ebird-scrapers

Usage

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.scrapers import get_checklist

data = get_checklist("S38429565")

The function returns a dict with keys for the location, date, observers, etc.

You can also get the complete list of checklists from the “Recent Checklists” page, e.g. https://ebird.org/region/US-MA/recent-checklists. From there you can download each checklist:

from ebird.scrapers import get_checklist, get_recent_checklists

for item in get_recent_checklists("US-MA"):
    checklist = get_checklist(item["identifier"])

The data returned by get_checklist looks like this:

{
  "identifier": "S928130259",
  "date": datetime.datetime(2025, 2, 22, 10, 24),
  "observer": {
    "identifier": "USER000001",
    "name": "Etta Lemon"
  },
  "participants": [
    {
      "identifier": "USER000002",
      "name": "Catherine Hall",
    }
  ],
  "protocol": {
    "name": "Stationary"
  },
  "location": {
    "name": "Turkey Hill Meadow Natural Area",
    "identifier": "L11485440",
    "subnational2": "Tompkins County",
    "subnational2_code": "US-NY-109",
    "subnational1": "New York",
    "subnational1_code": "US-NY",
    "country": "United States",
    "country_code": "US",
    "lat": "42.4410439",
    "lon": "-76.430538"
  },
  "entries": [
    {
      "species": "Mourning Dove",
      "count": 3,
      "comments": "Three individuals",
      "media": [
        {"identifier": "235672715"},
        {"identifier": "235672716"},
        {"identifier": "235672718"}
      ]
    },
    {
      "species": {
        "common-name": "Red-tailed Hawk (borealis)",
        "scientific-name": "Buteo jamaicensis borealis",
      },
      "count": 1
    },
    {
      "species": {
        "common-name": "European Starling",
        "scientific-name": "Sturnus vulgaris",
      },
      "count": 75.
      "comments": "Single flock.",
    },
    {
      "species": {
        "common-name": "Eastern Bluebird",
        "scientific-name": "Sialia sialis",
      },
      "count": 2,
      "breeding-code": {
        "code": 0,
        "name": "Flyover (Observed)"
      }
    },
    {
      "species": {
        "common-name": "American Robin",
        "scientific-name": "Turdus migratorius",
      },
      "count": 24
    },
    {
      "species": {
        "common-name": "Red-winged Blackbird (Red-winged)",
        "scientific-name": "Agelaius phoeniceus",
      },
      "count": 13
      "age-sex": {
        "Age": ["Juvenile", "Immature", "Adult", "Age Unknown"],
        "Male": [0, 0, 4, 2],
        "Female": [0, 0, 0, 3],
        "Sex Unknown": [0, 0, 0, 4]}}
    },
    {
      "species": {
        "common-name": "Common Grackle (Bronzed)",
        "scientific-name": "Quiscalus quiscula versicolor",
      },
      "count": 1
    }
  ],
  "comment": "Partly cloudy 39.9°F (4.4°C) Humidity: 93%Wind: SSW 4 mph (Gusts: 6.8 mph) Barometer: 29.7 in (1006 mb) Visibility: 9 miLast Update: 25 Feb 16:45\nSubmitted from eBird for iOS, version 3.2.16",
  "complete": True
}

Project Information

The app is tested on Python 3.8+.

eBird Scrapers is released under the terms of the MIT license.

Metadata

Release files for ebird-scrapers 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ebird-scrapers 0.2.2
File Size Uploaded
ebird_scrapers-0.2.2.tar.gz 11.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ebird-scrapers 0.2.2
File Interpreter ABI Platform
ebird_scrapers-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 19.3 kB

Release files / ebird_scrapers-0.2.2.tar.gz

Download URL ebird_scrapers-0.2.2.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bf1d3b6b197e7dc610740ad2096e2f03ea7fccc8cd308c7ccd253c219cd24d60
BLAKE2b-256 checksum
How to use checksums
41a94e758b7a71e2d4fd7eb8ef7949cc86a57149821f1856d39b19c55084eef2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.24

Release files / ebird_scrapers-0.2.2-py3-none-any.whl

Download URL ebird_scrapers-0.2.2-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
89b0d2241fe771ba72ebdbc9f5fa8b615e007298063ff0be94c8e1ab4bde2c85
BLAKE2b-256 checksum
How to use checksums
c5b8a02477a883927153a4b2a8d147231003b639defa0eb10d22f143e4e7273b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.24

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page