I built a small JupyterLab pipeline for Rubin/Fink alerts. It starts from an already filtered alert subset, selects alerts that are not linked to known Solar System objects (ssObjectId is None or 0), finds candidates with multiple detections / measurable motion, ranks them by morphology, and gives me a top list of about 30–50 interesting comet-like or possibly interstellar-like candidates.
I want to check these top candidates against MPC/known Solar System objects by RA, Dec, and observation time, to make sure they are not already known asteroids or comets.
For this I tested the IMCCE SkyBoT cone search service:
It works in principle, but the responses are unstable: sometimes it returns proper object matches, sometimes it returns no object rows/status-only responses, and sometimes the request fails.
Is there a more reliable API-based way to do this kind of known-SSO positional check against MPC or another recommended service?
This would only be a few dozen queries per day, not a large-scale bulk query. Thank you!
Hi, sounds like a neat project! To be clear, you are having trouble using the HTTP request aspect of SkyBoT cone search? I frequently use SkyBoT in my own research but I have found it simpler to use the astroquery python wrapper. It is useful for programmatically defining the coordinates, epoch and submitting in a python workflow. Hope this helps, I’d be happy to chat more if not.
Also if you want to do a sanity check on SkyBoT results there is the Minor Planet Checker form available from MPC, although I’m not sure how to query that programmatically.
Yes, I am currently using a direct HTTP request to the SkyBoT cone search endpoint from Python. Thanks for pointing me to the astroquery.imcce.Skybot wrapper. I will try to implement it and compare it with my current approach.
Regarding the MPC Checker sanity check: that is actually what I was doing before trying SkyBoT. I was checking my candidates manually through the MPC web form, but it took too much time, and I decided to automate this step, and that is how I found SkyBoT.
Ideally, in the next phase, I would like an AI agent to run these checks automatically and return the results split into two groups: candidates that are already known and linked to Solar System objects, and candidates that remain unlinked/unknown and may be worth telescope follow-up.
Good, glad to hear you already tried MPChecker. As you are aware astroquery just provides a wrapper and in theory you should get the same SkyBoT results as your previous attempts, but hopefully this allows you to build the query more programmatically and minimise potential typos (or perhaps provides a more stable connection to the service?). In particular the use of astropy SkyCoord and Time objects should help reduce possible confusion with units. Good luck with your work and if you continue to get unexpected results I can try take a closer look.