Designation Identifier API

The Designation Identifier API is a REST endpoint, therefore you can use your language of choice to send GET requests to the following URL:

https://data.minorplanetcenter.net/api/query-identifier

You can search for an individual ID, or a list (in JSON format) of up to 100. The response for a list will be a dictionary of responses, using the input ids as keys.

Field Descriptions

The following fields are always returned by the API. If the object lacks one of these ID types, the value will be null.

Field nameTypeDetails
foundInteger0 if no match found, 1 if found. If a value above 1 is returned the disambiguation_list will contain the conflicted matches
object_typeList of two values[String representation of name, Numeric index of object type]
orbfit_nameStringOrbfit friendly ID format. It is the iau_designation without spaces.
nameStringName assigned to object
iau_designationStringIAU designation assigned to object
permidStringPermanent ID
packed_permidStringPacked Permanent ID
packed_primary_provisional_designationStringPacked primary provisional designation
packed_secondary_provisional_designationsList[str]List of packed secondary provisional designations
unpacked_primary_provisional_designationStringUnpacked primary provisional designation
unpacked_secondary_provisional_designationsList[str]List of unpacked secondary provisional designation
disambiguation_listList[dict]Populated when multiple matches were found

Python Example - Single ID

import requests
import json

response = requests.get("https://data.minorplanetcenter.net/api/query-identifier", data="Ceres")

if response.ok:
    print(json.dumps(response.json(), indent=4))
else:
    print("Error: ", response.status_code, response.content)

Output

{
    "disambiguation_list": null,
    "found": 1,
    "iau_designation": "1",
    "name": "Ceres",
    "object_type": [
        "Minor Planet",
        0
    ],
    "orbfit_name": "1",
    "packed_permid": "00001",
    "packed_primary_provisional_designation": "I01A00A",
    "packed_secondary_provisional_designations": [
        "I99O00F",
        "J43X00B"
    ],
    "permid": "1",
    "unpacked_primary_provisional_designation": "A801 AA",
    "unpacked_secondary_provisional_designations": [
        "A899 OF",
        "1943 XB"
    ]
}
  

Python Example - List

import requests
import json

my_list = {"ids": ["Ceres", "2020 AB1"]}
response = requests.get("https://data.minorplanetcenter.net/api/query-identifier", json=my_list)

if response.ok:
    print(json.dumps(response.json(), indent=4))
else:
    print("Error: ", response.status_code, response.content)

Output

{
    "2020 AB1": {
        "disambiguation_list": null,
        "found": 1,
        "iau_designation": "2020 AB1",
        "name": null,
        "object_type": [
            "Minor Planet",
            0
        ],
        "orbfit_name": "2020AB1",
        "packed_permid": null,
        "packed_primary_provisional_designation": "K20A01B",
        "packed_secondary_provisional_designations": [
            "K16D00O"
        ],
        "permid": null,
        "unpacked_primary_provisional_designation": "2020 AB1",
        "unpacked_secondary_provisional_designations": [
            "2016 DO"
        ]
    },
    "Ceres": {
        "disambiguation_list": null,
        "found": 1,
        "iau_designation": "1",
        "name": "Ceres",
        "object_type": [
            "Minor Planet",
            0
        ],
        "orbfit_name": "1",
        "packed_permid": "00001",
        "packed_primary_provisional_designation": "I01A00A",
        "packed_secondary_provisional_designations": [
            "I99O00F",
            "J43X00B"
        ],
        "permid": "1",
        "unpacked_primary_provisional_designation": "A801 AA",
        "unpacked_secondary_provisional_designations": [
            "A899 OF",
            "1943 XB"
        ]
    }
}