SIMBAD API
Free SIMBAD TAP API from CDS with no key: query 13 million astronomical objects with ADQL, returning identifiers, coordinates, object types, magnitudes and bibliography.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the SIMBAD API?
The SIMBAD TAP service is a free, key-free ADQL query endpoint over the CDS SIMBAD database, which holds identifiers, coordinates, object types, measurements and bibliographic references for around 13 million astronomical objects outside the solar system.
SIMBAD is the reference database for objects beyond the solar system, maintained at the Centre de Données astronomiques de Strasbourg since 1972. Its central problem is identity: a single galaxy might carry forty catalogue designations across a century of surveys, and SIMBAD's job is to know they are the same thing. The TAP endpoint gives you SQL-like access to that cross-identification, so you can resolve names, filter by object type, or run cone searches around a position.
Query it in ADQL against SIMBAD's own schema — `basic` holds one row per object with `main_id`, `ra`, `dec` and `otype_txt`, while `ident` holds the alternative names and `flux` the photometry. The response is not a plain array: `metadata` describes each column with its datatype, unit and UCD, and `data` is an array of positional rows you must zip against it. That extra step is the price of Virtual Observatory conformance, and it buys you columns that are self-describing — you can read the unit of `ra` from the response rather than guessing.
Quick facts
- Base URL
https://simbad.cds.unistra.fr/simbad/sim-tap- Authentication
- No API key or account. CDS asks that publications using SIMBAD cite the 2000 A&AS reference and acknowledge the service.
- Rate limit
- Fair use, unpublished. CDS throttles heavy synchronous querying; use the async endpoint or the bulk VizieR downloads for large jobs.
- Pricing
- Free. SIMBAD is funded public research infrastructure; acknowledgement is requested in publications.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the SIMBAD API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Select three galaxies with coordinates using ADQL
GET https://simbad.cds.unistra.fr/simbad/sim-tap/sync?request=doQuery&lang=adql&format=json&query=SELECT+TOP+3+main_id,ra,dec,otype_txt+FROM+basic+WHERE+otype='G'
curl 'https://simbad.cds.unistra.fr/simbad/sim-tap/sync?request=doQuery&lang=adql&format=json&query=SELECT+TOP+3+main_id,ra,dec,otype_txt+FROM+basic+WHERE+otype='\''G'\'''const res = await fetch("https://simbad.cds.unistra.fr/simbad/sim-tap/sync?request=doQuery&lang=adql&format=json&query=SELECT+TOP+3+main_id,ra,dec,otype_txt+FROM+basic+WHERE+otype='G'");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://simbad.cds.unistra.fr/simbad/sim-tap/sync?request=doQuery&lang=adql&format=json&query=SELECT+TOP+3+main_id,ra,dec,otype_txt+FROM+basic+WHERE+otype='G'", timeout=20)
res.raise_for_status()
print(res.json()){
"metadata": [
{
"name": "main_id",
"description": "Main identifier for an object",
"datatype": "CHAR",
"arraysize": "*",
"ucd": "meta.id;meta.main",
"utype": "mango:MangoObject.identifier"
},
{
"name": "ra",
"description": "Right ascension",
"datatype": "DOUBLE",
"unit": "deg",
"ucd": "pos.eq.ra;meta.main",
"utype": "mango:EpochPosition.longitude[CS.spaceSys=ICRS CT.epoch=J2000]"
},
{
"name": "dec",
"description": "Declination",
"datatype": "DOUBLE",
"unit": "deg",
"ucd": "pos.eq.dec;meta.main",
"utype": "mango:EpochPosition.latitude[CS.spaceSys=ICRS CT.epoch=J2000]"
},
{
"name": "otype_txt",
"description": "Object type",
"datatype": "CHAR",
"arraysize": "*",
"ucd": "src.class"
}
],
"data": [
[
"COSMOS2020 Classic 1362773",
150.23088359,
2.71756047,
"G"
],
[
"COSMOS2020 Classic 1362776",
150.03029049,
2.7176420500000003,
"G"
],
[
"SDSS J133910.03+434814.9",
204.79182299999997,
43.804144,
"G"
]
]
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
request | query | Required | TAP operation. `doQuery` for a query submission. doQuery |
lang | query | Required | Query language. `adql` for SQL-like queries. adql |
format | query | Optional | `json`, `votable`, `csv` or `text`. VOTable is the default. json |
query | query | Required | The ADQL statement. `SELECT TOP n`, not `LIMIT`. SELECT TOP 3 main_id,ra,dec FROM basic |
(table) basic | table name | Optional | One row per object: main identifier, coordinates, object type, parallax, radial velocity. basic |
(table) ident | table name | Optional | Alternative identifiers. Join on `oidref` to resolve any catalogue name. ident |
Response fields
metadata[]array- Column descriptors with `name`, `description`, `datatype`, `unit` and `ucd`. Read units from here rather than assuming.
data[]array- Rows as positional arrays matching the `metadata` order. Zip the two to build objects.
main_idstring- SIMBAD's chosen primary identifier for the object.
ra / decfloat- ICRS right ascension and declination in degrees at epoch J2000, as the metadata UCDs confirm.
otype_txtstring- Object type code — `G` galaxy, `*` star, `PN` planetary nebula, and a large controlled vocabulary beyond that.
What you can build with the SIMBAD API
- Resolve any catalogue designation to a canonical object and coordinates
- Run a cone search for objects near a position
- Filter a catalogue by object type before observing
- Cross-match a target list against known objects
- Look up published magnitudes and radial velocities for a source
Common errors and how to fix them
Syntax error mentioning LIMIT
ADQL uses `SELECT TOP n`.
Fix: Rewrite the query. This is the most common mistake for anyone arriving from ordinary SQL.
Empty data with populated metadata
The query was valid but matched nothing.
Fix: Object type codes are exact — `G` for galaxy, not `Galaxy`. Check the SIMBAD object-type list before filtering.
Timeout
A synchronous query scanned too much of the database.
Fix: Add a tighter `WHERE`, or submit to the async TAP endpoint and poll for the result.
Name not resolving
The identifier format differs from SIMBAD's.
Fix: Join against the `ident` table on `oidref`, or use the simpler `sim-id` name-resolution endpoint, which is more forgiving about spacing and prefixes.
SIMBAD API — frequently asked questions
Is the SIMBAD API free?
Yes, free with no key or registration. CDS asks that publications cite the SIMBAD reference paper and acknowledge the service, which is the normal expectation for public research infrastructure.
Why are the results split into metadata and data?
Because TAP is a Virtual Observatory standard designed for tabular data. `metadata` describes each column including its unit and UCD, and `data` holds positional rows. Zipping them yourself gives you self-describing results that survive schema changes.
How do I find an object by any of its names?
Join the `ident` table to `basic` on `oidref`, which is exactly the cross-identification SIMBAD exists to maintain. For a single lookup the `sim-id` endpoint takes a name directly and is more tolerant of formatting.
What is the difference between SIMBAD and VizieR?
SIMBAD is object-centred: one record per astronomical object, merging what every catalogue says about it. VizieR is catalogue-centred: it serves published tables as they were published. Both come from CDS and both speak TAP.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Coordinate Converter
Convert GPS coordinates between decimal degrees, degrees-minutes-seconds and decimal minutes instantly. Paste any format like 40°26'46"N and copy the result.
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
SIMBAD is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.