iNaturalist Scraper - Nature Observations & Species Data
Pricing
from $10.00 / 1,000 results
iNaturalist Scraper - Nature Observations & Species Data
Scrape nature observations from iNaturalist. Search species, filter by quality grade and location. Get photos, GPS coordinates, identifications, and observer data from citizen science records.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
lulz bot
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
iNaturalist Scraper
Scrape nature observations from iNaturalist, the world's largest citizen science biodiversity platform with 200M+ observations.
What does iNaturalist Scraper do?
This scraper extracts wildlife and nature observation data from iNaturalist's public API. Search for any species, taxon, or organism and get detailed observation records including species identification, GPS coordinates, photos, quality grades, and observer information.
Perfect for:
- Researchers analyzing species distribution and biodiversity data
- Conservation teams tracking endangered species observations
- Educators building datasets for ecology courses
- Data scientists studying wildlife patterns and citizen science trends
- Developers building nature identification or mapping apps
Features
- Search by species name (common or scientific)
- Filter by quality grade (research, needs_id, casual)
- Filter by geographic location using iNaturalist place IDs
- Filter by date range
- Automatic taxon resolution for precise species matching
- Optional full detail scraping with identifications and comments
- Built-in rate limiting to respect API guidelines
- Pagination support for large datasets
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | ["monarch butterfly"] | Species or taxa to search. Each query runs separately. |
maxListings | integer | 100 | Maximum observations per query (1-10,000) |
qualityGrade | enum | research | Filter: research (verified), needs_id, casual, or any |
scrapeDetails | boolean | false | Fetch full details with identifications and comments |
placeId | integer | - | iNaturalist place ID (e.g. 1=US, 6712=California) |
dateFrom | string | - | Start date in YYYY-MM-DD format |
dateTo | string | - | End date in YYYY-MM-DD format |
proxyConfiguration | object | - | Optional proxy settings |
Example Input
{"searchQueries": ["monarch butterfly", "red-tailed hawk"],"maxListings": 50,"qualityGrade": "research","scrapeDetails": false,"placeId": 1,"dateFrom": "2024-01-01","dateTo": "2024-12-31"}
Output
Each observation includes:
| Field | Description |
|---|---|
id | iNaturalist observation ID |
speciesGuess | Observer's species guess |
scientificName | Scientific (Latin) name |
commonName | Common English name |
taxonRank | Taxonomic rank (species, genus, family, etc.) |
taxonId | iNaturalist taxon ID |
iconicTaxonName | Broad category (Aves, Insecta, Plantae, etc.) |
observedOn | Date the observation was made |
timeObservedAt | Full timestamp if available |
latitude | GPS latitude coordinate |
longitude | GPS longitude coordinate |
placeGuess | Human-readable location description |
qualityGrade | Quality: research, needs_id, or casual |
numIdentificationAgreements | Number of community ID agreements |
numIdentificationDisagreements | Number of community ID disagreements |
photos | Array of photo URLs (medium size) |
photoCount | Number of photos |
observerLogin | Observer's iNaturalist username |
observerName | Observer's display name |
description | Observer's notes |
license | Creative Commons license code |
url | Direct link to the observation |
searchQuery | The query that found this observation |
scrapedAt | ISO timestamp of when data was scraped |
With scrapeDetails: true, additional fields:
| Field | Description |
|---|---|
identifications | Array of all IDs with taxon, user, and category |
identificationCount | Number of identifications |
comments | Array of comments with user and text |
commentCount | Number of comments |
annotations | Observation annotations (life stage, sex, etc.) |
observationFieldValues | Custom observation field values |
faves_count | Number of favorites |
captive | Whether the organism was captive/cultivated |
positionalAccuracy | GPS accuracy in meters |
Example Output
{"id": 123456789,"speciesGuess": "Monarch","scientificName": "Danaus plexippus","commonName": "Monarch","taxonRank": "species","taxonId": 48662,"iconicTaxonName": "Insecta","observedOn": "2024-09-15","latitude": 38.5816,"longitude": -121.4944,"placeGuess": "Sacramento, CA, US","qualityGrade": "research","numIdentificationAgreements": 3,"numIdentificationDisagreements": 0,"photos": ["https://inaturalist-open-data.s3.amazonaws.com/photos/123/medium.jpg"],"photoCount": 1,"observerLogin": "naturalist42","observerName": "Jane Smith","url": "https://www.inaturalist.org/observations/123456789","searchQuery": "monarch butterfly","scrapedAt": "2025-01-15T10:30:00.000Z"}
Quality Grades Explained
- Research Grade: Community-verified observations. At least 2/3 of identifiers agree on species. Most reliable data.
- Needs ID: Observations awaiting community identification. May be correct but unverified.
- Casual: Missing evidence (no photo), location, or date. Or marked as captive/cultivated.
Common Place IDs
| Place | ID |
|---|---|
| United States | 1 |
| Canada | 6712 |
| Mexico | 6793 |
| United Kingdom | 6857 |
| Australia | 6744 |
| California | 14 |
| Texas | 18 |
| New York | 48 |
| Yellowstone NP | 97395 |
| Yosemite NP | 97394 |
Find more place IDs by searching at inaturalist.org/places.
Tips
- Use scientific names for the most precise results (e.g. "Danaus plexippus" instead of "monarch")
- Research grade observations have the highest data quality and are used in scientific research
- The scraper automatically resolves common names to taxon IDs for better accuracy
- Set
maxListingsconservatively to stay within rate limits on large searches - Use
placeIdto focus on specific regions and reduce result volume - Enable
scrapeDetailsonly when you need identification history -- it doubles API calls
Cost
This scraper uses Pay Per Event pricing. You are charged $0.005 per observation scraped. With scrapeDetails: true, the cost is the same per observation but runs slower due to additional API calls.
Data Source
All data comes from iNaturalist, a joint initiative of the California Academy of Sciences and the National Geographic Society. Data is contributed by citizen scientists worldwide and is available under various Creative Commons licenses.