ebird-scrapers

Functions to scrape web pages from ebird.org

https://github.com/projectbabbler/ebird-scrapers

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 (7.6%) to scientific vocabulary

Keywords

ebird python scraper website
Last synced: 6 months ago · JSON representation ·

Repository

Functions to scrape web pages from ebird.org

Basic Info
  • Host: GitHub
  • Owner: ProjectBabbler
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 249 KB
Statistics
  • Stars: 10
  • Watchers: 2
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Topics
ebird python scraper website
Created over 8 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog License Citation

README.md

eBird Scrapers

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

shell 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:

```python 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:

```python from ebird.scrapers import getchecklist, getrecent_checklists

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

The data returned by get_checklist looks like this:

python { "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

  • Issues: https://github.com/ProjectBabbler/ebird-scrapers/issues
  • Repository: https://github.com/ProjectBabbler/ebird-scrapers

The app is tested on Python 3.8+.

License

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

Owner

  • Name: Project Babbler
  • Login: ProjectBabbler
  • Kind: organization
  • Email: projectbabbler@gmail.com

Leveraging technology to enhance nature experiences

Citation (CITATION.cff)

abstract: Scrapers for eBird checklist web pages
authors:
  - name: Project Babbler
cff-version: 1.2.0
date-released: 2025-04-15
keywords:
  - eBird
  - web pages
  - web scraper
license: MIT License
message: If you use this software, please cite it using the metadata from this file.
repository-artifact: "http://pypi.python.org/pypi/ebird-scrapers/"
repository-code: "https://github.com/ProjectBabbler/ebird-scrapers"
title: eBird Scrapers
version: 0.2.2

GitHub Events

Total
  • Delete event: 5
  • Issue comment event: 5
  • Push event: 7
  • Pull request event: 5
  • Create event: 2
Last Year
  • Delete event: 5
  • Issue comment event: 5
  • Push event: 7
  • Pull request event: 5
  • Create event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 9
  • Average time to close issues: N/A
  • Average time to close pull requests: almost 2 years
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 9
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (14)
Top Labels
Issue Labels
Pull Request Labels
dependencies (14)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 36 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
pypi.org: ebird-scrapers

Scrapers for pages on the eBird web site

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 36 Last month
Rankings
Dependent packages count: 9.3%
Average: 30.8%
Dependent repos count: 52.4%
Maintainers (1)
Last synced: 6 months ago

Dependencies

pyproject.toml pypi
  • beautifulsoup4 >=4.12.3
  • lxml >=5.3.0
  • requests >=2.32.3
uv.lock pypi
  • annotated-types 0.7.0
  • beautifulsoup4 4.12.3
  • bracex 2.5.post1
  • bump-my-version 0.29.0
  • cachetools 5.5.1
  • certifi 2024.12.14
  • cfgv 3.4.0
  • chardet 5.2.0
  • charset-normalizer 3.4.1
  • click 8.1.8
  • colorama 0.4.6
  • coverage 7.6.1
  • distlib 0.3.9
  • ebird-scrapers 0.2.0
  • exceptiongroup 1.2.2
  • filelock 3.16.1
  • flake8 5.0.4
  • geographiclib 2.0
  • geopy 2.4.1
  • identify 2.6.1
  • idna 3.10
  • importlib-resources 6.4.5
  • iniconfig 2.0.0
  • isort 5.13.2
  • lxml 5.3.0
  • markdown-it-py 3.0.0
  • mccabe 0.7.0
  • mdurl 0.1.2
  • nodeenv 1.9.1
  • packaging 24.2
  • platformdirs 4.3.6
  • pluggy 1.5.0
  • pre-commit 3.5.0
  • prompt-toolkit 3.0.50
  • pycodestyle 2.9.1
  • pydantic 2.10.6
  • pydantic-core 2.27.2
  • pydantic-settings 2.7.1
  • pyflakes 2.5.0
  • pygments 2.19.1
  • pyproject-api 1.8.0
  • pytest 8.3.4
  • pytest-cov 5.0.0
  • python-dotenv 1.0.1
  • pyyaml 6.0.2
  • questionary 2.1.0
  • requests 2.32.3
  • rich 13.9.4
  • rich-click 1.8.5
  • ruff 0.9.3
  • soupsieve 2.6
  • tomli 2.2.1
  • tomlkit 0.13.2
  • tox 4.24.1
  • tox-uv 1.13.1
  • typing-extensions 4.12.2
  • urllib3 2.2.3
  • uv 0.5.24
  • virtualenv 20.29.1
  • wcmatch 10.0
  • wcwidth 0.2.13
  • zipp 3.20.2