Bulk export

The whole catalogue as five CSV files, frozen against a release and published with a checksum each. This is what the API means when it stops paging: a hundred thousand rows in, you are no longer asking questions of a catalogue, you are copying one, and copying it once is kinder to both ends than a hundred thousand requests.

Everything below the files is the part a CSV cannot carry: what every column holds, in what unit, and which of them can be empty. There is no registration, no key and no rate limit on the download.

ON THIS PAGETHE FILES
[

THE FILES

] DR1 · 2026-08-21#

Everything at once, or a file at a time. The archive holds all five CSVs plus the licence, the release notes, a checksum list and a machine-readable manifest of every count in the release.

spacecatalog-dr1.tar.gz66 MB · EVERYTHING ↓
  • One row per object. The file the other four hang off, and the one to open first.

    3d6882072d530b3c5c7b6aa672665323713eac26bf3a206918bc08193603fcc5
  • Every catalogue identifier that resolves to an object — the table to join on if you arrive with a list of names rather than positions.

    3ef5a187284f0e0c4cd140ab2fc43c411c693f68cafbf84eb1c70faeadc4319c
  • Object-to-object links the catalogue is confident enough to publish. Every pair appears twice, once from each end, so a join on slug finds all of an object's relations without a second join the other way — and a count of these rows is twice the number of pairs.

    b2e41ea6a22427a53abb7e7b09cb4bd875892ac5302e2e233e4dfd2a0e6382ff
  • Optical spectra: one row per curve, 1,024 flux values between about 3,800 and 9,200 angstroms. Two kinds of row, and the kind column is the difference that matters — an observed row is one object's own light, measured through a survey fibre pointed at it, while a representative row is the average spectrum of stars of one Morgan-Keenan type and belongs to the type rather than to any star. A representative row therefore has no slug at all.

    4100c4a9310d0d76f38df5ee474e5442d32b46599a2030222197151727d4e93e
  • The upstream catalogues this release was built from. Not gzipped: it is two kilobytes and it is the file that says what you may do with the rest.

    e9781052dfc694f5f5013d62e635019b65e9d7b600996cfca8d3b68c7b99ff46
  • Where two upstreams describe one object differently by more than the tolerance for that quantity, and which value this release kept. Recorded rather than resolved: catalogues disagreeing is the normal condition of astronomy, and which one is right is not a question a merge can answer.

    c155c90fb2b276e245f9f91157e0eefd7695f69d1b366957483a663e2508e573
[

CHECK IT

] TWO COMMANDS#

The bundle is built reproducibly — the clock gzip writes into its header and the timestamps tar writes per entry are both zeroed — so the same catalogue packed twice gives the same digest, and the digest is a claim you can check rather than one you have to take.

curl -LO https://github.com/space-catalog/data-releases/releases/download/dr1/spacecatalog-dr1.tar.gz
curl -LO https://github.com/space-catalog/data-releases/releases/download/dr1/spacecatalog-dr1.tar.gz.sha256
shasum -a 256 -c spacecatalog-dr1.tar.gz.sha256

The digests printed beside the files above are the ones to compare against if you take a single file rather than the archive: they are served from this database, on a different host to the downloads, which is the point of having them in two places.

[

LOAD IT

] PANDAS · ASTROPY · DUCKDB · TOPCAT#

Gzipped UTF-8 CSV with a header row, quoted where a field needs it. Nothing here has to be decompressed first — every tool below reads the gzip directly.

import pandas as pd

# low_memory=False so the sparse text columns are typed from the whole
# file rather than chunk by chunk, which is what raises DtypeWarning.
objects = pd.read_csv("spacecatalog-dr1-objects.csv.gz", low_memory=False)
names = pd.read_csv("spacecatalog-dr1-designations.csv.gz")

# Every galaxy with a spectroscopic redshift distance, nearest first.
galaxies = objects[objects.category.eq("galaxy")].dropna(subset=["distance_ly"])
galaxies.nsmallest(20, "distance_ly")[["name", "distance_ly", "distance_method"]]

# The properties column is JSON, one object per row.
import json
props = objects.properties.map(json.loads)

For a table that already knows the sky, read it into astropy and give the two position columns their units:

from astropy.table import Table
import astropy.units as u

t = Table.read("spacecatalog-dr1-objects.csv.gz", format="ascii.csv")
t["ra_deg"].unit = u.deg
t["dec_deg"].unit = u.deg

For SQL over the whole file without loading it into memory, DuckDB reads the gzip and the JSON column in one statement:

SELECT name, distance_ly, properties->>'spectral_type' AS spectral_type
FROM read_csv_auto('spacecatalog-dr1-objects.csv.gz')
WHERE category = 'star' AND distance_ly < 30
ORDER BY distance_ly;

TOPCAT and Aladin open the CSV directly, but they will not know which column is a coordinate until you say so. If you would rather they were told, ask the API for format=votable instead — the same columns arrive carrying their units and their UCDs, and land on the sky without being configured. The trade is the row limit: a VOTable is a slice, this is the catalogue.

[

THE COLUMNS

] 61 IN FIVE FILES#

In the order each file writes them. A column marked sometimes empty is empty on at least one row of this release, and one not marked is filled on every row — which is a claim about the data rather than about this page, and a test holds it to the files.

199 ENTRIES

objects.csv.gz

One row per object. The file the other four hang off, and the one to open first.

slug
Permanent identifier, unique in the release and never reused. spacecatalog.org/object/<slug> is the page for it, and every other file here joins on it.
name
The name the object is normally called by — a proper name where it has one, its principal catalogue designation otherwise. Every other identifier is in designations.csv.gz.
category
One of eleven: star, galaxy, exoplanet, asteroid, comet, moon, planet, cluster, nebula, black_hole, other. The coarse split, on which most of the other columns' meaning depends.
object_typeSOMETIMES EMPTY
The finer classification in the words of the upstream that made it — a spectral type and colour for a star, a morphology for a galaxy, an orbit class for a minor planet.
ra_degdegreesSOMETIMES EMPTY
Right ascension, ICRS at epoch J2000.0. Empty for solar-system bodies, whose position is a function of time rather than a property of the row; their orbital elements are in the properties column instead.
dec_degdegreesSOMETIMES EMPTY
Declination, ICRS at epoch J2000.0. Empty wherever ra_deg is.
magmagnitudesSOMETIMES EMPTY
Apparent magnitude in the band named by mag_band. Deep-sky objects and stars carry one; minor planets do not, because theirs changes with the geometry of the night — for those, see abs_mag.
mag_bandSOMETIMES EMPTY
The photometric band mag is measured in: V or B. Never empty where mag is filled — a magnitude without its band is not a measurement.
abs_magmagnitudesSOMETIMES EMPTY
Absolute magnitude, in the band named by abs_mag_band.
abs_mag_bandSOMETIMES EMPTY
V or B for stars and galaxies. H on a minor planet is not the near-infrared band: it is the IAU absolute-magnitude parameter H, the brightness the body would have at one au from both Sun and observer at zero phase angle. Read the band before comparing two rows.
distance_lylight-yearsSOMETIMES EMPTY
Distance from the Sun. Empty where no method in this catalogue could produce one — including the galaxies whose redshift is too small for a Hubble-flow distance to mean anything, which carry none here rather than one that is right by accident.
distance_methodSOMETIMES EMPTY
Which rung of the distance ladder produced distance_ly, named in full, with the paper's ADS bibcode verbatim where the value came from one. Never a bare number: a distance whose provenance is unknown is not usable in a fit.
orbitsSOMETIMES EMPTY
The slug of the body this one orbits, where the catalogue models the pair — a moon's planet, a planet's star. Empty for everything that orbits the galaxy at large.
semi_major_axis_kmkilometresSOMETIMES EMPTY
Semi-major axis of the orbit about the body named in orbits.
periapsis_kmkilometresSOMETIMES EMPTY
Closest approach of that same orbit.
mass_kgkilogramsSOMETIMES EMPTY
Mass, in kilograms rather than in solar or Jupiter masses, so that two rows of different categories can be compared without a conversion factor going missing. The conventional units are also in properties where the upstream published them.
radius_kmkilometresSOMETIMES EMPTY
Radius, of the kind named by radius_kind.
radius_kindSOMETIMES EMPTY
Which radius radius_km is: effective for a photometric fit, mean for a body measured in three dimensions. Empty where the upstream did not say — true of every exoplanet radius here, which are published as a single number without a convention attached.
constellationSOMETIMES EMPTY
The IAU constellation the position falls in, spelled out in full ('Ursa Major'). Empty for the bodies with no fixed position.
discoveredSOMETIMES EMPTY
When it was found, as published — usually a year, sometimes 'Antiquity'. Free text, because that is what the upstreams carry and parsing it into a date would invent precision.
descriptionSOMETIMES EMPTY
A written description, present only on the small set of objects this catalogue writes about itself. Everything else is left to the upstream's own words in object_type.
is_featured
true or false: whether the site gives this object the long editorial treatment. An editorial flag, not a fact about the sky — safe to ignore.
properties
A JSON object with everything that does not fit a column, keyed by category. Always present, sometimes empty. Its keys are documented below.
data_qualitySOMETIMES EMPTY
Non-empty when this catalogue believes a figure on the row cannot be right, saying which and why. Quote it if you quote the number it is about.
source
The upstream this row was built from. Joins to the id column of sources.csv, which gives its licence and the date it was retrieved — the terms of that upstream govern this row.
search_text
The names and types the site's own search matches against, concatenated. Included so a downstream index can reproduce it; it is derived from the other columns and holds nothing new.

designations.csv.gz

Every catalogue identifier that resolves to an object — the table to join on if you arrive with a list of names rather than positions. Joins on slug.

slug
The object in objects.csv.gz this identifier names.
catalog
Which catalogue the designation belongs to: HIP, HD, NGC, IC, PGC, 2MASX, Gliese, Bayer/Flamsteed and some eighty others, plus 'Common name' for the names people actually use.
designation
The identifier itself, spelled the way that catalogue spells it. One object usually carries several rows here.

relations.csv.gz

Object-to-object links the catalogue is confident enough to publish. Every pair appears twice, once from each end, so a join on slug finds all of an object's relations without a second join the other way — and a count of these rows is twice the number of pairs. Joins on slug.

slug
The object this row is written from the point of view of. Its mirror row, with the two slugs swapped, is in the file as well.
related_slug
The object at the other end of the relation.
kind
What the link is. This release publishes double-star pairs; what orbits what is in the orbits column of objects.csv.gz instead, because that one is a property of a single row.
detail
The identifier the relation is recorded under upstream — for a double star, its WDS designation.

spectra.csv.gz

Optical spectra: one row per curve, 1,024 flux values between about 3,800 and 9,200 angstroms. Two kinds of row, and the kind column is the difference that matters — an observed row is one object's own light, measured through a survey fibre pointed at it, while a representative row is the average spectrum of stars of one Morgan-Keenan type and belongs to the type rather than to any star. A representative row therefore has no slug at all. Joins on slug.

slugSOMETIMES EMPTY
The object in objects.csv.gz whose spectrum this is. Empty on a representative row, which describes a class of star rather than a star.
templateSOMETIMES EMPTY
The spectral type a representative spectrum stands for, written the way the atlas names its files: a0v is A0 V, k3iii is K3 III. Empty on an observed row.
kind
observed or representative. An observed spectrum is a measurement of this object; a representative one is true of stars of its type and is not a measurement of it.
source
Which upstream this spectrum came from. Joins to the id column of sources.csv, and carries that source's licence.
identifier
The exposure in the survey archive — plate, night and fibre — or, for a representative spectrum, the atlas key. This is what to quote when fetching the calibrated original at full resolution.
data_release
Which data release of that upstream the numbers come from.
observed_onSOMETIMES EMPTY
The night the exposure was taken. Empty on a representative spectrum, which is an average over stars observed at many times.
redshiftSOMETIMES EMPTY
The survey's own redshift for this target, so a rest-frame line list can be placed on the observed axis. Empty on a representative spectrum.
separation_arcsecSOMETIMES EMPTY
How far the fibre was from the catalogued position of the object. Empty on a representative spectrum.
wavelength_min_angstrom
The wavelength of the first flux value, in air and as observed rather than as emitted.
wavelength_max_angstrom
The wavelength of the last flux value.
sample_count
How many flux values the row carries. They are spaced evenly in log wavelength, so the i-th sits at min * (max / min) ** (i / (sample_count - 1)).
resolution_note
The aperture the light came through, the resolving power of the instrument, and what the resampling to this grid did. Read it before treating a feature as real.
flux
The flux values, in braces and comma-separated, divided by the median of the spectrum and therefore unitless. This is a curve to look at rather than a calibrated measurement; the calibrated one is in the archive under identifier.

sources.csv

The upstream catalogues this release was built from. Not gzipped: it is two kilobytes and it is the file that says what you may do with the rest. Joins on id.

id
What the source column of objects.csv.gz contains.
name
The catalogue's name as its authors publish it.
url
Where that catalogue is published — the page to read before relying on a row it produced.
license
The terms that catalogue publishes under, and therefore the terms of every row naming it. The release mixes several, and some are share-alike.
retrieved_at
When this catalogue was last downloaded for this release — the date of the retrieval, not the date the release was assembled, so the dates here legitimately differ from each other.

source_disagreements.csv

Where two upstreams describe one object differently by more than the tolerance for that quantity, and which value this release kept. Recorded rather than resolved: catalogues disagreeing is the normal condition of astronomy, and which one is right is not a question a merge can answer.

slugs
The two rows that were found to be the same object, separated by a slash. The first is the one that survived into objects.csv.gz.
match
How the two were recognised as one object: by a shared catalogue identifier, or by their names.
matched_on
The identifier or name that matched them, as it was written.
field
Which quantity the two upstreams disagree about — a position, a magnitude, a distance, a radius or an orbital element.
kept_source
The upstream whose value was kept, and which therefore appears in objects.csv.gz.
kept_value
The value that was kept, in the unit that quantity uses in objects.csv.gz.
other_source
The upstream whose value was not kept.
other_value
What that upstream said instead — published here rather than discarded, so the disagreement stays visible.
relative_difference
The size of the disagreement as a fraction of the kept value. Sort by it to find the ones worth a second look; most of these are rounding, a few are not.
[

THE PROPERTIES COLUMN

] 119 KEYS#

A column per quantity would be a table of a hundred columns of which any one row fills a dozen — a minor planet has no spectral type and a star has no perihelion. So everything that does not belong to every object is one JSON object per row, and which keys are present is decided by what the object is and by what its upstream published.

The unit is in the name — _km, _deg, _days, _solar — and stated below as well. A key missing from an object was not published for it; it is not a zero.

Motion

How the object is moving, where a survey measured it.

proper_motion_ra_mas_yrmilliarcseconds/year
Proper motion in right ascension, already multiplied by cos(dec) — an angular rate on the sky, not a coordinate rate.
proper_motion_dec_mas_yrmilliarcseconds/year
Proper motion in declination.
radial_velocity_km_skm/s
Line-of-sight velocity, positive away from us.

Stellar parameters

What is known about a star itself. Where these came from a model rather than a measurement, stellar_parameters_method says so, and says what was done to earn the right to publish them.

spectral_type
MK spectral type as classified.
spectral_type_source
Which catalogue classified it, with the paper's bibcode and the quality grade that catalogue attached.
stellar_parameters_method
How the modelled parameters below were derived, and the cut they had to pass to appear at all — plus a warning where the model is being used in a regime it is known to handle poorly.
color_index_bvmagnitudes
B−V colour index.
surface_temperature_kkelvin
Effective temperature.
surface_gravity_log_glog10(cm/s²)
Surface gravity, as the logarithm the literature quotes.
metallicity_fe_h
How much of everything heavier than helium the star holds, against the Sun's share, on a base-10 logarithmic scale: 0 is the Sun's mixture, −1 a tenth of it, +0.3 twice. Unitless by construction.
metallicity_fe_h_source
How many published determinations went into that figure, and how many papers they came from. The value is their median and the error bar is the scatter between them, because independent analyses of one star disagree by more than any of them claims.
radius_solarsolar radii
Radius.
mass_solarsolar masses
Mass. Also carried by black holes.
luminosity_solarsolar luminosities
Luminosity as published by the source catalogue.
bolometric_luminosity_solarsolar luminosities
Luminosity integrated over all wavelengths, where the model produced one.
age_yearsyears
Estimated age.
rotation_period_daysdays
Rotation period.

Photometry

Magnitudes in bands other than the one in the mag column, kept under their band names rather than folded into one number.

v_magmagnitudes
Johnson V.
b_magmagnitudes
Johnson B.
j_magmagnitudes
2MASS J, 1.25 μm.
h_magmagnitudes
2MASS H, 1.65 μm.
k_magmagnitudes
2MASS Ks, 2.16 μm.

Variability

Stars whose brightness changes, from the General Catalogue of Variable Stars. Period and epoch together are an ephemeris.

variable_designation
The star's GCVS designation.
variability_type
The GCVS type code.
variability_class
That code written out in words.
variable_mag_maxmagnitudes
Brightest magnitude, as sampled by Hipparcos and converted to the visual scale. Approximate, and for a star that spends most of its cycle out of eclipse the satellite may never have caught the bottom of the dip.
variable_mag_minmagnitudes
Faintest magnitude, from the same sampling.
variable_period_daysdays
Period of the variation.
variable_epoch_hjdheliocentric Julian date
The zero point the period counts from: the epoch of minimum light for eclipsing and ellipsoidal variables and for the RV Tauri and RS Canum Venaticorum types, and of maximum light for every other class.

Double and multiple stars

From the Washington Double Star catalogue.

wds_id
The pair's WDS identifier.
companions
A JSON array, one entry per recorded companion: its components, separation in arcseconds, position angle in degrees, magnitude, the year of the measurement, and the discoverer code.

Galaxies and deep-sky objects

Extragalactic quantities, and the angular geometry an imager needs. Two redshifts are carried where both are known, because which frame a redshift is in decides what distance comes out of it.

redshift
Redshift as the upstream published it, heliocentric.
redshift_cmb
The same redshift corrected to the CMB rest frame. This is the one every distance in the release is computed from.
hubble_type
Morphological type on the Hubble sequence.
morphology_source
Which catalogue classified the morphology, with its bibcode and quality grade.
stellar_mass_solarsolar masses
Total stellar mass of the galaxy.
major_axis_arcminarcminutes
Apparent major axis.
minor_axis_arcminarcminutes
Apparent minor axis.
position_angle_degdegrees
Position angle of the major axis, east of north.
surface_brightnessmagnitudes/arcsec²
Mean surface brightness — what decides whether it is visible in a given sky, more than the integrated magnitude does.
ngc_type_code
OpenNGC's own type code for the object.
distance_reference
The identifier this object is listed under in the distance-scale catalogue that distance_method names — what to look it up as when checking the number.

Orbits of solar-system bodies

Osculating elements as published, valid at element_epoch_jd. Positions for these bodies are computed from these rather than stored, which is why ra_deg and dec_deg are empty on their rows.

orbital_period_daysdays
Orbital period.
eccentricity
Orbital eccentricity.
hyperbolic_excess_velocity_km_skm/s
The speed the body retains once it is far enough away that the Sun no longer holds it, present only on rows whose orbit does not close. Computed as the square root of the Sun's gravitational parameter divided by the absolute semi-major axis, which is negative on those rows. It is what distinguishes a body that arrived from outside the Solar System, at tens of kilometres a second, from a comet of the Sun's own that a planet nudged past an eccentricity of 1 and which leaves at a fraction of one.
inclination_degdegrees
Inclination to the reference plane.
longitude_ascending_node_degdegrees
Longitude of the ascending node.
argument_of_perihelion_degdegrees
Argument of perihelion.
mean_anomaly_degdegrees
Mean anomaly at the element epoch.
argument_of_periapsis_degdegrees
Argument of periapsis, for a moon — the same angle as the argument of perihelion, about a planet rather than about the Sun.
element_frame
Which plane a moon's four angles are measured in: the ecliptic, the planet's equator, or the local Laplace plane. Read in the wrong plane a moon orbits the right planet in the wrong place.
reference_pole_ra_degdegrees
Right ascension of the pole of that plane, J2000, where the plane is not the ecliptic.
reference_pole_dec_degdegrees
Declination of the same pole.
apsidal_period_yryears
How long a moon's argument of periapsis takes to go round once, as the satellite tables publish it — a size with no direction.
nodal_period_yryears
The same for the node.
fitted_mean_anomaly_degdegrees
A moon's phase at the element epoch, fitted against the ephemeris together with the rate below. Use it with that rate or with neither.
mean_anomaly_rate_deg_per_daydegrees per day
How fast the moon goes round, measured against the ephemeris rather than taken from the tabulated period.
apsidal_rate_deg_per_daydegrees per day
The apsidal precession with its direction, which the published period does not carry. Io's is negative and Ganymede's positive.
nodal_rate_deg_per_daydegrees per day
The same for the node.
element_check_degdegrees
How far these elements put the moon from where JPL's ephemeris does, at the worst of four dates across a decade. The honest size of the error.
element_epoch_jdJulian date
The epoch these elements are valid at. Propagate from here, not from today.
perihelion_epoch_jdJulian date
Time of perihelion passage.
longitude_perihelion_degdegrees
Longitude of perihelion, for the planets, whose elements are carried in that form.
mean_longitude_degdegrees
Mean longitude at the element epoch.
element_rates
For the planets, the linear rate of change of each element per Julian century — what makes the elements usable over centuries rather than months.
earth_moid_auau
Minimum orbit intersection distance with Earth's orbit.
orbit_class
The dynamical class JPL assigns the orbit: MBA, TNO, Apollo and so on.
rotation_period_hourshours
Rotation period of the body.
albedo
Geometric albedo, as a fraction.
geometric_albedo
The fraction of the light arriving straight on that a body sends straight back, against a perfect diffuse disc.
bond_albedo
The fraction of all the light arriving that a body reflects in every direction — the one that decides how warm it gets.
spectral_type_smassii
Taxonomic class in the SMASS II scheme.
first_observed
Date of the earliest observation in the orbit solution.
discovery_date
Date of discovery.
discovery_site
Where it was discovered.

Exoplanets and their hosts

From the NASA Exoplanet Archive. The host_ keys describe the star, repeated on the planet's row so a single row is self-contained; the star has a row of its own too.

host_star
The name of the star this planet orbits.
discovery_method
How it was found: transit, radial velocity, microlensing, imaging.
discovery_facility
Which instrument or survey found it.
host_mass_solarsolar masses
Mass of the host star.
host_radius_solarsolar radii
Radius of the host star.
host_temperature_kkelvin
Effective temperature of the host star.
host_v_magmagnitudes
V magnitude of the host star.
host_spectral_type
Spectral type of the host star.
equilibrium_temperature_kkelvin
Equilibrium temperature of the planet, on the archive's own albedo assumption.
transit_midpoint_bjdbarycentric Julian date
Mid-transit epoch. Published in TDB; the site treats it as UTC, which costs under nine minutes.
periastron_epoch_bjdbarycentric Julian date
Time of periastron passage.
argument_of_periastron_degdegrees
Argument of periastron.
eccentricity_upper_limit
Where only a limit was published rather than a value, this is the limit — not an eccentricity.
eccentricity_lower_limit
The same, from below.
stars_in_system
How many stars the system holds.
planets_in_system
How many planets are known in it.

Planets, moons and black holes

The small set of bodies the catalogue models in three dimensions.

parent_planet
The planet a moon belongs to, by name.
satellite_code
The NAIF identifier the JPL ephemerides use for the body.
ephemeris
Which JPL ephemeris the position is computed from.
name_authority
Who names the body, where two authorities spell it differently.
mean_density_g_cm3g/cm³
Mean density.
mean_temperature_c°C
Mean surface temperature.
moons
Number of known moons.
axial_tilt_degdegrees
Obliquity of the spin axis to the orbital plane.
pole_ra_degdegrees
Right ascension of the IAU north pole of rotation.
pole_dec_degdegrees
Declination of the same pole.
rings
Ring geometry: a tint, and a band list with inner and outer radii in kilometres and an optical depth.
accretion
For a black hole, the accretion regime it is observed in.
disc_inclination_degdegrees
Inclination of its accretion disc to the line of sight.

Neutron stars

Two measured quantities and three derived from them. A pulsar is timed rather than imaged, and counting its pulses over years gives a period and a spin-down rate to more digits than anything else in this catalogue carries; the age, the field and the power all follow from those two under the assumption that the star is a spinning magnet radiating away its rotation. That assumption is stated on every derived column here rather than buried in a citation.

spin_period_sseconds
Time for one rotation. Where the source publishes a spin frequency instead, this is its reciprocal — the two are the same measurement.
spin_period_derivativeseconds per second
How much the period lengthens per second of elapsed time; dimensionless, and positive for almost every pulsar because they all slow down. Where the source publishes a frequency derivative instead, this is minus that divided by the square of the frequency.
dispersion_measure_pc_cm3parsecs per cubic centimetre
Free electrons integrated along the line of sight, measured from how much later a pulse arrives at a low radio frequency than at a high one. A property of the path rather than of the object, and the quantity distance_ly is derived from where distance_method names an electron-density model.
characteristic_age_yearsyears
Period divided by twice the spin-down rate. An upper bound on the age rather than the age: it assumes the pulsar was born spinning infinitely fast and has slowed by magnetic dipole braking ever since, and the Crab — whose supernova was recorded in 1054 — comes out near 1,257 years.
surface_magnetic_field_gaussgauss
3.2e19 times the square root of the period and its derivative multiplied together: the dipole field at the star's magnetic equator, under the same braking model as the age, a radius of ten kilometres and a moment of inertia of 1e45 g cm^2. Good for separating the populations, which span six orders of magnitude in it, rather than for a precise field on any one object.
spin_down_luminosity_erg_sergs per second
Four pi squared times the moment of inertia times the spin-down rate, divided by the cube of the period: the rate the star is losing rotational energy, and the budget everything it emits comes out of. The only assumption is the moment of inertia, taken as 1e45 g cm^2 — the canonical value, and one nobody has measured, so the figure scales linearly with whatever the real one turns out to be.
radio_flux_1400_mhz_mjymillijanskys
Mean flux density at 1400 MHz. A measurement at the telescope rather than of the source, so it carries the distance in it.
binary_model
The timing model the source fits this pulsar's binary orbit with, where it has a companion. Present only on binary systems.
associations
Supernova remnants, gamma-ray sources, X-ray sources and clusters this pulsar has been identified with, as the source writes them, with the reference tag for each.

Cross-identifications and provenance

Where else the object can be looked up, and who found it.

wikidata_id
Wikidata Q-number.
wikipedia_article
English Wikipedia article title.
also_known_as
Other names, as an array — the ones too informal for designations.csv.gz.
discovered_by
The discoverer's name, as published.

Published uncertainties

One key, holding all of them. Doubt is carried in the numbers rather than in prose, and a quantity missing from the object simply has no published uncertainty — which is not the same as having none.

uncertainties
A JSON object keyed by the quantity it is about, each value a [minus, plus] pair in that quantity's own unit. Asymmetric bars are kept asymmetric: averaging them into one number is a decision this catalogue does not make for you. The quantities that appear are listed below.

The quantities that carry one in this release: distance_ly, mass_kg, radius_km, semi_major_axis_km, periapsis_km, orbital_period_days, eccentricity, hyperbolic_excess_velocity_km_s, inclination_deg, longitude_ascending_node_deg, argument_of_perihelion_deg, argument_of_periastron_deg, stellar_mass_solar, host_mass_solar, host_radius_solar, host_temperature_k, mean_density_g_cm3, metallicity_fe_h.

Rendering

Not measurements. Present so the site's own pictures can be reproduced.

display_colors
The colours the site draws this object in.
[

WHAT IS NOT IN IT

] AND WHERE IT IS#
  • The two survey tiers under the sky map

    Tens of millions of Gaia sources and GLADE+ galaxies are drawn on the map and answered by cone search, but they are not merged, named or cross-identified — they are those surveys, and their own archives publish them in full, in the form their authors intended. What this bundle holds is the tier this catalogue actually built: the objects with names, distances and provenance.

  • Images

    The photographs on object pages belong to the observatories and photographers credited beside them, under their own terms. They are not this catalogue’s to redistribute.

  • Search vectors

    The embeddings behind the search box are a property of one version of one model rather than of the sky, and they are reproducible from the text in these files.

For a slice rather than the whole thing — one constellation, one category, everything inside a cone — the API answers in JSON, CSV and VOTable, and three cone-search services stand beside it.

[

TERMS

] MIXED LICENCES#

The data is not under one licence. Every row names its upstream in the source column, that upstream’s terms govern the row, and some of them are share-alike — which reaches anything you derive from the rows they cover. The full list, catalogue by catalogue, is on the releases page, and it travels inside the bundle as well.

Cite the release rather than the site: the site is corrected continuously and a release is not. How to cite it, in plain text and BibTeX. Citing the release does not discharge the upstream attribution — any row you quote names the catalogue behind it.