NASA JPL Small-Body Database Scraper
Pricing
from $3.00 / 1,000 results
NASA JPL Small-Body Database Scraper
Pull asteroid and comet science from the NASA JPL Small-Body Database. Returns full name, SPK-ID, diameter, albedo, rotation period, spectral type, orbital elements, MOID and orbit class. Ideal for mission target planning, research catalogues, and teaching orbital mechanics.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

☄️ NASA JPL Small-Body Database Scraper
🚀 Pull asteroid and comet science data in seconds. Get full names, SPK-IDs, diameters, albedos, rotation periods, spectral types and a complete set of orbital elements straight from NASA/JPL.
🕒 Last updated: 2026-06-05 · 📊 31 fields per record · 1.5M+ known small bodies reachable · Asteroids and comets
The NASA/JPL Small-Body Database (SBDB) is the reference catalogue for asteroids and comets in the Solar System, maintained by the Solar System Dynamics group at the Jet Propulsion Laboratory. This Actor reads the official keyless SBDB API and returns clean, structured records combining physical parameters (magnitude, diameter, albedo, rotation period, spectral type) with full orbital elements (semi-major axis, eccentricity, inclination, node, argument of perihelion, mean anomaly, period) plus MOID and orbit class.
You can either look up a specific list of objects by number, name or SPK-ID, or browse the catalogue by kind to list many bodies at once. Every record links back to its source on the SBDB API.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Astronomers and astrophysics researchers | Building asteroid and comet datasets for analysis |
| Aerospace and mission planning teams | Selecting targets by orbit class, MOID or diameter |
| Educators and planetarium developers | Teaching orbital mechanics with real numbers |
| Data scientists and hobbyists | Feeding orbital and physical data into models |
📋 What the NASA JPL Small-Body Database Scraper does
This Actor turns the SBDB API into a tidy table of asteroid and comet records. For each object it collects identification (full name, short name, designation, SPK-ID, kind, orbit class, NEO and PHA flags), physical parameters (absolute magnitude H, slope G, diameter, albedo, rotation period, spectral type) and orbital elements (a, e, i, node, argument of perihelion, mean anomaly, perihelion and aphelion distance, orbital period), together with Earth and Jupiter MOID and observation arc dates.
Two modes are available. Provide a list of designations to fetch specific bodies one by one with the richest physical data, or leave the list empty and browse the catalogue by kind to list many asteroids or comets quickly.
🎬 Full Demo (🚧 Coming soon)
⚙️ Input
| Field | Type | Description |
|---|---|---|
designations | array | List of numbers, names or SPK-IDs to look up individually (for example "433", "Eros", "99942"). |
browseKind | string | When the list is empty, browse the catalogue by kind (asteroids or comets, all, numbered or unnumbered). |
maxItems | integer | Maximum number of records to return. Free plan is capped at 10. |
Example 1, look up specific bodies:
{"designations": ["433", "1", "99942", "101955", "2", "4", "16", "21", "243"],"maxItems": 10}
Example 2, browse many asteroids:
{"designations": [],"browseKind": "a","maxItems": 50}
⚠️ Good to Know: the lookup mode returns the most complete physical data per object. The browse mode is faster for large lists but some physical fields can be empty when JPL has not measured them for that body.
📊 Output
| Field | Description |
|---|---|
📌 fullName | Full designation and name, for example "433 Eros (A898 PA)" |
🏷 shortName | Short name, for example "433 Eros" |
🔢 designation | Primary designation or number |
🆔 spkId | JPL SPK-ID unique identifier |
🧭 kind | Object kind code (asteroid or comet, numbered or not) |
🛰 orbitClass | Orbit class name, for example Amor, Apollo, Main-belt Asteroid |
🛰 orbitClassCode | Orbit class short code |
🌍 neo | Near-Earth object flag |
⚠️ pha | Potentially hazardous asteroid flag |
✨ absoluteMagnitude | Absolute magnitude H |
📉 magnitudeSlope | Magnitude slope parameter G |
📏 diameterKm | Effective diameter in kilometres |
🌗 albedo | Geometric albedo |
🔄 rotationPeriodHours | Rotation period in hours |
🎨 spectralType | Spectral type (Bus or Tholen) |
🪐 semiMajorAxisAu | Semi-major axis in au |
🥚 eccentricity | Orbital eccentricity |
📐 inclinationDeg | Inclination in degrees |
↗️ ascendingNodeDeg | Longitude of ascending node in degrees |
🧮 argPerihelionDeg | Argument of perihelion in degrees |
🔁 meanAnomalyDeg | Mean anomaly in degrees |
🟢 perihelionDistAu | Perihelion distance in au |
🔴 aphelionDistAu | Aphelion distance in au |
⏱ orbitalPeriodDays | Orbital period in days |
🌍 moidAu | Earth minimum orbit intersection distance in au |
🪐 moidJupiterAu | Jupiter MOID in au |
📅 epoch | Orbit solution epoch (Julian date) |
🔭 firstObs | Date of first observation |
🔭 lastObs | Date of last observation |
🔗 sourceUrl | Link back to the SBDB API record |
🕒 scrapedAt | Timestamp of collection |
❌ error | Error message when a lookup fails |
Sample records:
{"fullName": "433 Eros (A898 PA)","shortName": "433 Eros","designation": "433","spkId": "20000433","kind": "an","orbitClass": "Amor","orbitClassCode": "AMO","neo": true,"pha": false,"absoluteMagnitude": 10.39,"magnitudeSlope": 0.46,"diameterKm": 16.84,"albedo": 0.25,"rotationPeriodHours": 5.27,"spectralType": "S","semiMajorAxisAu": 1.46,"eccentricity": 0.223,"inclinationDeg": 10.8,"ascendingNodeDeg": 304,"argPerihelionDeg": 179,"meanAnomalyDeg": 311,"perihelionDistAu": 1.13,"aphelionDistAu": 1.78,"orbitalPeriodDays": 643,"moidAu": 0.148,"moidJupiterAu": 3.29,"epoch": "2461000.5","firstObs": "1893-10-29","lastObs": "2021-05-13","sourceUrl": "https://ssd-api.jpl.nasa.gov/sbdb.api?sstr=433&phys-par=true","scrapedAt": "2026-06-05T15:54:59.626Z","error": null}
{"fullName": "1 Ceres (A801 AA)","shortName": "1 Ceres","designation": "1","spkId": "20000001","kind": "an","orbitClass": "Main-belt Asteroid","orbitClassCode": "MBA","neo": false,"pha": false,"absoluteMagnitude": 3.35,"diameterKm": 939.4,"albedo": 0.09,"rotationPeriodHours": 9.07417,"spectralType": "C","semiMajorAxisAu": 2.77,"eccentricity": 0.0796,"inclinationDeg": 10.59,"moidAu": 1.58,"moidJupiterAu": 2.1,"sourceUrl": "https://ssd-api.jpl.nasa.gov/sbdb.api?sstr=1&phys-par=true","scrapedAt": "2026-06-05T15:54:59.700Z","error": null}
{"fullName": "99942 Apophis (2004 MN4)","shortName": "99942 Apophis","designation": "99942","spkId": "20099942","kind": "an","orbitClass": "Aten","orbitClassCode": "ATE","neo": true,"pha": true,"absoluteMagnitude": 19.09,"diameterKm": 0.34,"albedo": 0.35,"rotationPeriodHours": 30.56,"spectralType": "Sq","semiMajorAxisAu": 0.922,"eccentricity": 0.191,"inclinationDeg": 3.34,"moidAu": 0.000361,"sourceUrl": "https://ssd-api.jpl.nasa.gov/sbdb.api?sstr=99942&phys-par=true","scrapedAt": "2026-06-05T15:54:59.820Z","error": null}
✨ Why choose this Actor
- Reads the official NASA/JPL SBDB API directly, no third party data sources.
- Combines physical and orbital parameters in a single flat record.
- Two modes, precise lookup or wide catalogue browse.
- Every record carries a source link back to JPL for verification.
- No API key and no account with JPL required.
📈 How it compares to alternatives
| Approach | Physical params | Full orbital elements | MOID and class | Structured output |
|---|---|---|---|---|
| This Actor | Yes | Yes | Yes | Yes |
| Manual SBDB web lookups | Yes | Yes | Yes | No, one page at a time |
| Generic HTML scrapers | Partial | Partial | Rarely | Fragile |
🚀 How to use
- Sign up for a free Apify account using this link.
- Open the NASA JPL Small-Body Database Scraper.
- Enter a list of designations, or leave it empty and pick a browse kind.
- Set how many records you want and start the run.
- Collect your structured asteroid and comet records when the run finishes.
💼 Business use cases
🛰 Mission and target planning
| Need | How this helps |
|---|---|
| Shortlist reachable targets | Filter by orbit class, MOID and diameter |
| Assess approach geometry | Use semi-major axis, eccentricity and inclination |
📊 Research datasets
| Need | How this helps |
|---|---|
| Build a clean catalogue | Browse thousands of asteroids or comets at once |
| Cross study physical and orbital traits | One record holds both sets of fields |
🎓 Education and outreach
| Need | How this helps |
|---|---|
| Teach orbital mechanics | Real elements for famous bodies like Ceres and Apophis |
| Power planetarium content | Pull spectral types, sizes and rotation periods |
🤖 Data products
| Need | How this helps |
|---|---|
| Feed dashboards and apps | Stable structured fields with source links |
| Enrich existing catalogues | Match by SPK-ID or designation |
🔌 Automating NASA JPL Small-Body Database Scraper
Connect runs to Make, Zapier, Slack, Airbyte, GitHub Actions or Google Drive through the Apify API and integrations. Schedule recurring runs to keep your catalogue fresh, or trigger a run whenever a new target list lands in your pipeline.
🌟 Beyond business use cases
- Research: assemble custom asteroid and comet samples for papers and simulations.
- Personal: track the orbit and properties of your favourite near-Earth objects.
- Non-profit: support science clubs and outreach with real Solar System data.
- Experimentation: prototype orbital models and visualisations with clean inputs.
🤖 Ask an AI assistant
Paste your results into ChatGPT, Claude, Perplexity or Copilot and ask it to cluster bodies by spectral type, rank near-Earth objects by MOID, or explain the orbit class of any object.
❓ Frequently Asked Questions
Is this affiliated with NASA or JPL? No. It is an independent tool that reads the public SBDB API. All data belongs to NASA/JPL.
Do I need an API key? No. The SBDB API is keyless and free to query.
How many objects can I fetch? The SBDB catalogue holds more than 1.5 million known small bodies. Free runs are capped at 10 records, paid runs go up to 1,000,000.
What is the difference between the two modes? Lookup mode fetches each object individually with the fullest physical data. Browse mode lists many bodies of a chosen kind in one request.
Can I look up a comet? Yes. Use a comet designation in the list, or set the browse kind to comets.
What is an SPK-ID? A stable numeric identifier JPL assigns to each body, useful for joining datasets.
What does MOID mean? Minimum orbit intersection distance, the closest the two orbits come. The Earth MOID helps flag hazardous objects.
Why is a physical field sometimes empty? JPL only reports measured values. Diameter, albedo or rotation can be missing for poorly studied bodies.
Are the orbital elements current? They reflect the latest orbit solution JPL publishes for each object, with the solution epoch included.
Can I search by name? Yes. Names like "Eros" or "Bennu" work in the lookup list, alongside numbers and SPK-IDs.
🔌 Integrate with any app
Use the Apify API, webhooks and ready made integrations to push records into your warehouse, spreadsheet, notebook or notification channel.
🔗 Recommended Actors
- Solar System Bodies Scraper
- NASA Exoplanet Archive Scraper
- NOAA SWPC Space Weather Scraper
- OpenChargeMap Scraper
💡 Pro Tip: browse the complete ParseForge collection.
🆘 Need Help? Open our contact form
⚠️ Disclaimer: independent tool, not affiliated with NASA or JPL. Only publicly available data collected.