MPECs API¶
The MPECs API searches for Minor Planet Electronic Circulars (MPECs) associated with specific objects or search terms. It utilizes the same underlying code as the MPEC Search Tool.
Endpoint¶
Method: GET
Input Format¶
The API accepts a JSON array of search terms:
- Up to 100 search terms
- Up to 1,000 MPECs per term
- Search terms are case-insensitive
Note
The search term is always checked against the "title" and "full name" fields of an MPEC.
For example, the MPEC titled 1992 BB has a "full name" called 1993-S13, which is compressed into a mixed Base62 character string and base 10 numeral system as J93S13.
Search Term Types¶
-
Object Designations - Any designation resolvable by the Designation Identifier API. For now, this is only resolved into the "Unpacked Primary Provisional Designation", which is the most common title format of MPECs. That is, searching by any identifier below will only return the MPEC titled 1992 BB. Future versions of this search tool will be able to identify MPECs where a given object is mentioned in the title or within the MPEC text itself. For instance, in Daily Orbit Updates or identifications MPECs (example).
-
MPEC Names
-
Wildcards - Use
%for pattern matching. This approach uses no disambiguation as above. For instance,1992%will locate all MPECs beginning with1992in either their titles or "full names". And%=%will locate MPECs used to announce 'identifications' of objects.
Response Format¶
Returns a JSON object where each search term is a key, with values containing lists of matching MPECs.
MPEC Fields¶
Note that if the MPEC lacks one of these values, it will be null.
| Field | Type | Description |
|---|---|---|
fullname |
String | Unique MPEC identifier (e.g., 2022-A05) |
title |
String | MPEC title (e.g., 2022 AA) |
pubdate |
String | Publication date (UTC) |
link |
String | URL to the MPEC |
Examples¶
Python¶
import requests
import json
import sys
terms = ['2025-A18', '2025 aa', 'fancy stone', '202% BU5']
response = requests.get("https://data.minorplanetcenter.net/api/mpecs", json=terms)
response.raise_for_status()
json.dump(response.json(), sys.stdout, indent=4)
Output:
{
"202% BU5": [
{
"fullname": "2020-B124",
"link": "https://www.minorplanetcenter.net/mpec/K20/K20BC4.html",
"pubdate": "Fri, 24 Jan 2020 04:05:33 GMT",
"title": "2020 BU5"
},
{
"fullname": "2023-B174",
"link": "https://www.minorplanetcenter.net/mpec/K23/K23BH4.html",
"pubdate": "Sun, 29 Jan 2023 01:11:37 GMT",
"title": "2023 BU5"
}
],
"2025 aa": [
{
"fullname": "2025-A18",
"link": "https://www.minorplanetcenter.net/mpec/K25/K25A18.html",
"pubdate": "Thu, 02 Jan 2025 09:25:27 GMT",
"title": "2025 AA"
}
],
"2025-A18": [
{
"fullname": "2025-A18",
"link": "https://www.minorplanetcenter.net/mpec/K25/K25A18.html",
"pubdate": "Thu, 02 Jan 2025 09:25:27 GMT",
"title": "2025 AA"
}
],
"fancy stone": []
}
cURL¶
curl -X GET -H "Accept: application/json" \
https://data.minorplanetcenter.net/api/mpecs \
-H "Content-type: application/json" \
-d '["K14A00A", "`Oumuamua"]'