NASA JPL Small-Body Database Scraper avatar

NASA JPL Small-Body Database Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
NASA JPL Small-Body Database Scraper

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

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

ParseForge Banner

☄️ 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 researchersBuilding asteroid and comet datasets for analysis
Aerospace and mission planning teamsSelecting targets by orbit class, MOID or diameter
Educators and planetarium developersTeaching orbital mechanics with real numbers
Data scientists and hobbyistsFeeding 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

FieldTypeDescription
designationsarrayList of numbers, names or SPK-IDs to look up individually (for example "433", "Eros", "99942").
browseKindstringWhen the list is empty, browse the catalogue by kind (asteroids or comets, all, numbered or unnumbered).
maxItemsintegerMaximum 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

FieldDescription
📌 fullNameFull designation and name, for example "433 Eros (A898 PA)"
🏷 shortNameShort name, for example "433 Eros"
🔢 designationPrimary designation or number
🆔 spkIdJPL SPK-ID unique identifier
🧭 kindObject kind code (asteroid or comet, numbered or not)
🛰 orbitClassOrbit class name, for example Amor, Apollo, Main-belt Asteroid
🛰 orbitClassCodeOrbit class short code
🌍 neoNear-Earth object flag
⚠️ phaPotentially hazardous asteroid flag
absoluteMagnitudeAbsolute magnitude H
📉 magnitudeSlopeMagnitude slope parameter G
📏 diameterKmEffective diameter in kilometres
🌗 albedoGeometric albedo
🔄 rotationPeriodHoursRotation period in hours
🎨 spectralTypeSpectral type (Bus or Tholen)
🪐 semiMajorAxisAuSemi-major axis in au
🥚 eccentricityOrbital eccentricity
📐 inclinationDegInclination in degrees
↗️ ascendingNodeDegLongitude of ascending node in degrees
🧮 argPerihelionDegArgument of perihelion in degrees
🔁 meanAnomalyDegMean anomaly in degrees
🟢 perihelionDistAuPerihelion distance in au
🔴 aphelionDistAuAphelion distance in au
orbitalPeriodDaysOrbital period in days
🌍 moidAuEarth minimum orbit intersection distance in au
🪐 moidJupiterAuJupiter MOID in au
📅 epochOrbit solution epoch (Julian date)
🔭 firstObsDate of first observation
🔭 lastObsDate of last observation
🔗 sourceUrlLink back to the SBDB API record
🕒 scrapedAtTimestamp of collection
errorError 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

ApproachPhysical paramsFull orbital elementsMOID and classStructured output
This ActorYesYesYesYes
Manual SBDB web lookupsYesYesYesNo, one page at a time
Generic HTML scrapersPartialPartialRarelyFragile

🚀 How to use

  1. Sign up for a free Apify account using this link.
  2. Open the NASA JPL Small-Body Database Scraper.
  3. Enter a list of designations, or leave it empty and pick a browse kind.
  4. Set how many records you want and start the run.
  5. Collect your structured asteroid and comet records when the run finishes.

💼 Business use cases

🛰 Mission and target planning

NeedHow this helps
Shortlist reachable targetsFilter by orbit class, MOID and diameter
Assess approach geometryUse semi-major axis, eccentricity and inclination

📊 Research datasets

NeedHow this helps
Build a clean catalogueBrowse thousands of asteroids or comets at once
Cross study physical and orbital traitsOne record holds both sets of fields

🎓 Education and outreach

NeedHow this helps
Teach orbital mechanicsReal elements for famous bodies like Ceres and Apophis
Power planetarium contentPull spectral types, sizes and rotation periods

🤖 Data products

NeedHow this helps
Feed dashboards and appsStable structured fields with source links
Enrich existing cataloguesMatch 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.

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