Skip to main content

Scrapers for pages on the eBird web site

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ebird_scrapers-0.2.0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ebird_scrapers-0.2.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file ebird_scrapers-0.2.0.tar.gz.

File metadata

  • Download URL: ebird_scrapers-0.2.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.24

File hashes

Hashes for ebird_scrapers-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f1be957ab9f0139a88f347d08f86e808b1e283fda6c41175897289c10351a099
MD5 7e01430c55a130dea886016e1cabbb59
BLAKE2b-256 1a50f733ec14a0f0e09aa20ed132cb6a467c9291add22de112824bfb619eec19

See more details on using hashes here.

File details

Details for the file ebird_scrapers-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ebird_scrapers-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5bc52cb9d32d47fe4fa88d762d002c2d7e9c971b1479d79f90135c1e267f86e7
MD5 eb9a456900259638f626f1e8e05a2150
BLAKE2b-256 3a08b41734506431a26b00cca1ca98342d76cd843cebd846540ed5e3950a5bde

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page