MPC Designation Identifier¶
This tutorial provides information on how to use the Minor Planet Center's Designation Identifier API.¶
The Minor Planet Center's Designation Identifier service will return information on the various designations assigned to any given object.
This includes information such as:
- Name: The name of the object, if available.
- Citation: The citation of the object, if available.
- Permanent ID: The object's permanent ID (unpacked number), if available.
- Object Type: The object type classification.
- IAU Designation: The IAU designation of the object (number if numbered, unpacked primary provisional designation if unnumbered).
- Unpacked Primary Provisional Designation: The unpacked primary provisional designation of the object. (https://docs.minorplanetcenter.net/mpc-ops-docs/designations/provisional-designations/)
- Unpacked Secondary Provisional Designations: A list of unpacked secondary provisional designations, if available. (https://docs.minorplanetcenter.net/mpc-ops-docs/designations/provisional-designations/)
- Packed Permanent ID: The object's packed permanent ID (packed number), if available.
- Packed Primary Provisional Designation: The packed primary provisional designation of the object. (https://docs.minorplanetcenter.net/mpc-ops-docs/designations/provisional-designations/)
- Packed Secondary Provisional Designations: A list of packed secondary provisional designations, if available. (https://docs.minorplanetcenter.net/mpc-ops-docs/designations/provisional-designations/)
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`
In the examples below we use python code to query the API.
Further information and documentation concerning the Designation Identifier service and its associated api can be found at:
Import Packages¶
Here we import the standard python packages need to call the api & interpret the returned data
import requests
import json
Single Object Query¶
Here we query the Designation Identifier API for information concerning the designations associated with the object named Sedna.
Among other pieces of information, we see that the permanent-identification (number) for Sedna is 90377
# Call the api using the `requests` package
response = requests.get("https://data.minorplanetcenter.net/api/query-identifier", json= {"ids": ["Sedna"]})
# Print the response, making use of the `json` package
sedna_json = response.json()
print(json.dumps(sedna_json, indent=4))
{
"Sedna": {
"citation": "(90377) Sedna = 2003 VB12<br><br>Sedna is the Inuit goddess of the sea and the mother of all sea creatures. She rewards the people of the land with food from the sea. Without her blessing, hunts fail and the people starve. She is thus one of the most important figures in Inuit legend. ",
"disambiguation_list": null,
"dual_status_info": null,
"found": 1,
"iau_designation": "(90377)",
"name": "Sedna",
"object_type": [
"Minor Planet",
0
],
"orbfit_name": "90377",
"packed_permid": "90377",
"packed_primary_provisional_designation": "K03V12B",
"packed_secondary_provisional_designations": [],
"permid": "90377",
"unpacked_primary_provisional_designation": "2003 VB12",
"unpacked_secondary_provisional_designations": []
}
}
Alternate single object query¶
Here we demonstrate that if we query for Sedna using one of its alternative designations (e.g. 2003 VB12), the returned information is essentially the same (only the returned search-string is different).
# Call the api using the `requests` package, now using one of the alternate designations for Sedna: "2003 VB12"
response = requests.get("https://data.minorplanetcenter.net/api/query-identifier", json= {"ids": ["2003 VB12"]})
# Print the response, making use of the `json` package
alternate_json = response.json()
print(json.dumps(alternate_json, indent=4))
# Explicitly check that the results in `alternate_json` are the same as those returned in `sedna_json` (above)
print( "\nReturned data are identical." if sedna_json["Sedna"] == alternate_json["2003 VB12"] else "\nReturned data are different." )
{
"2003 VB12": {
"citation": "(90377) Sedna = 2003 VB12<br><br>Sedna is the Inuit goddess of the sea and the mother of all sea creatures. She rewards the people of the land with food from the sea. Without her blessing, hunts fail and the people starve. She is thus one of the most important figures in Inuit legend. ",
"disambiguation_list": null,
"dual_status_info": null,
"found": 1,
"iau_designation": "(90377)",
"name": "Sedna",
"object_type": [
"Minor Planet",
0
],
"orbfit_name": "90377",
"packed_permid": "90377",
"packed_primary_provisional_designation": "K03V12B",
"packed_secondary_provisional_designations": [],
"permid": "90377",
"unpacked_primary_provisional_designation": "2003 VB12",
"unpacked_secondary_provisional_designations": []
}
}
Returned data are identical.
Multi Object Query¶
Here we make a single query to the Designation Identifier API for information concerning multiple different designations.
Among other things, we see that:
- The returned
jsonobject (named "multi_object_json" below) contains multiple sets of results, organized using the different supplied designations as "keys". - The object
Cereshas multiple associated designations, including the "secondary designations"1943 XBandA899 OF.
# Create a list of the different designations that we would like information on:
my_list = {"ids": ["Ceres", "2020 AB1"]}
# Call the api using the `requests` package & print the results
response = requests.get("https://data.minorplanetcenter.net/api/query-identifier", json=my_list)
multi_object_json = response.json()
print(json.dumps(multi_object_json, indent=4))
{
"2020 AB1": {
"citation": null,
"disambiguation_list": null,
"dual_status_info": 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": {
"citation": null,
"disambiguation_list": null,
"dual_status_info": 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": [
"1943 XB",
"A899 OF"
]
}
}