# Asterank

> Explore asteroids and exoplanets with Asterank: search NASA/JPL's asteroid database with Asterank's mining value estimates, the Minor Planet Center's orbit catalogue and NASA Kepler's candidate exoplanets, and find NEAT telescope images of an asteroid. The databases are snapshots (orbits as of 2019), not live data. No account or API key required.

App · 4 actions. Web page: https://docs.lodol.com/docs/integrations/asterank

## Actions

### Search asteroids

Search about 600,000 asteroids from NASA/JPL's Small-Body Database by name, orbit class, spectral type, size and how easy they are to reach, and get each one's orbit, size, whether it is near-Earth or potentially hazardous, and Asterank's estimates of its mining value. No API key required.

**Inputs**

- Name contains (`name`, text): Only asteroids whose full name contains this, e.g. Eros or 433. Matched as written, ignoring case.
- Orbit class (`orbit_class`, text): Only asteroids in this orbit class. One of: `IEO` (Atira (inside Earth's orbit)), `ATE` (Aten (Earth-crossing, a < 1 AU)), `APO` (Apollo (Earth-crossing, a > 1 AU)), `AMO` (Amor (just outside Earth's orbit)), `MCA` (Mars-crosser), `IMB` (Inner main belt), `MBA` (Main belt), `OMB` (Outer main belt), `TJN` (Jupiter trojan), `CEN` (Centaur), and 4 more.
- Spectral type (`spectral_type`, text): Only asteroids of this spectral type, e.g. S (stony), C (carbon-rich) or M (metallic).
- Near-Earth only (`near_earth_only`, true/false): Only near-Earth objects.
- Potentially hazardous only (`hazardous_only`, true/false): Only asteroids NASA lists as potentially hazardous.
- Minimum diameter (km) (`min_diameter_km`, number): Only asteroids at least this wide, in kilometres. Leaves out asteroids whose size is unknown.
- Maximum delta-v (km/s) (`max_delta_v_km_s`, number): Only asteroids a spacecraft can reach with at most this change in velocity, in km/s (6 is a good reachable target).
- Advanced filter (`query`, text): Optional. A MongoDB-style JSON filter applied on top of the fields above, for any other field (a, e, i, q, ad, per, moid, H, albedo, price, profit, score). Comparison operators ($lt, $lte, $gt, $gte, $ne, $in, $nin, $exists, $regex) and $and, $or, $nor, $not are allowed; anything else is refused.
- Number of results (`limit`, number): How many asteroids to return, 1 to 100. Defaults to 10. From 1 to 100.

**Outputs**

- `asteroids` (list): The matching asteroids, in the database's own order.
- `count` (number): How many asteroids were returned.

**Example output**

```json
{
  "asteroids": [
    {
      "absolute_magnitude": 11.16,
      "albedo": 0.25,
      "aphelion_au": 1.782885894680646,
      "delta_v_km_s": 6.112354,
      "designation": "1898 DQ",
      "diameter_km": 16.84,
      "eccentricity": 0.222735687791413,
      "estimated_profit_usd": 1.0779165041005357e-42,
      "estimated_value_usd": 6.688146261052001e-42,
      "first_observed": "1963-07-15",
      "id": "a0000433",
      "inclination_deg": 10.82857013630658,
      "jpl_url": "https://ssd.jpl.nasa.gov/tools/sbdb_lookup.html#/?sstr=2000433",
      "last_observed": "2018-10-27",
      "moid_au": 0.149341,
      "moid_lunar_distances": 58.11903697,
      "name": "433 Eros (1898 DQ)",
      "near_earth": true,
      "orbit_class": "AMO",
      "orbit_class_name": "Amor",
      "orbital_period_days": 643.1094160936293,
      "orbital_period_years": 1.76073762106401,
      "perihelion_au": 1.133338621348674,
      "potentially_hazardous": false,
      "rotation_period_hours": 5.27,
      "score": 1.3376292522104002e-53,
      "semi_major_axis_au": 1.45811225801466,
      "short_name": "Eros",
      "spectral_type": "S",
      "spkid": 2000433
    }
  ],
  "count": 1
}
```

### Search Kepler exoplanet candidates

Search NASA Kepler's objects of interest, the candidate exoplanets it found, by temperature, size and orbital period: e.g. planets between 290 and 320 kelvin, near Earth's. Each comes with its host star's size, mass and temperature. No API key required.

**Inputs**

- Minimum temperature (K) (`min_temperature_k`, number): Only planets at least this warm, in kelvin.
- Maximum temperature (K) (`max_temperature_k`, number): Only planets at most this warm, in kelvin.
- Minimum radius (Earths) (`min_radius_earth_radii`, number): Only planets at least this big, in Earth radii.
- Maximum radius (Earths) (`max_radius_earth_radii`, number): Only planets at most this big, in Earth radii (2 for roughly Earth-sized).
- Maximum orbital period (days) (`max_period_days`, number): Only planets that orbit their star in at most this many days.
- Advanced filter (`query`, text): Optional. A MongoDB-style JSON filter applied on top of the fields above, for any other field (KOI, A, RSTAR, TSTAR, MSTAR, KMAG, RA, DEC). Comparison operators ($lt, $lte, $gt, $gte, $ne, $in, $nin, $exists, $regex) and $and, $or, $nor, $not are allowed; anything else is refused.
- Number of results (`limit`, number): How many objects to return, 1 to 100. Defaults to 10. From 1 to 100.

**Outputs**

- `count` (number): How many objects were returned.
- `objects` (list): The matching Kepler objects of interest.

**Example output**

```json
{
  "count": 1,
  "objects": [
    {
      "declination_deg": 41.9891,
      "equilibrium_temperature_k": 313.0,
      "kepler_magnitude": 14.29,
      "koi": 416.02,
      "koi_name": "KOI-416.02",
      "orbital_period_days": 88.2547155,
      "period_uncertainty_days": 0.0006081,
      "planet_radius_earth_radii": 2.71,
      "right_ascension_hours": 19.12437,
      "semi_major_axis_au": 0.36,
      "star_mass_solar_masses": 0.91,
      "star_radius_solar_radii": 0.7,
      "star_temperature_k": 5083.0,
      "transit_time_bjd": 86.78022,
      "transit_time_uncertainty_days": 0.00253
    }
  ]
}
```

### Search Minor Planet Center orbits

Search the Minor Planet Center's orbit catalogue (MPCORB) of over 600,000 minor planets by designation and orbit, and get each one's orbital elements, brightness and observation record. No API key required.

**Inputs**

- Designation contains (`designation`, text): Only objects whose designation contains this, e.g. (433) or Eros. Matched as written, ignoring case.
- Minimum semi-major axis (AU) (`min_semi_major_axis_au`, number): Only orbits at least this far out, in AU.
- Maximum semi-major axis (AU) (`max_semi_major_axis_au`, number): Only orbits at most this far out, in AU (1.5 for orbits close to Earth's).
- Maximum eccentricity (`max_eccentricity`, number): Only orbits at most this eccentric (0.1 is nearly circular).
- Maximum inclination (°) (`max_inclination_deg`, number): Only orbits tilted at most this many degrees.
- Maximum absolute magnitude (`max_absolute_magnitude`, number): Only objects at least this bright (a smaller H is a bigger, brighter object).
- Advanced filter (`query`, text): Optional. A MongoDB-style JSON filter applied on top of the fields above, for any other field (H, G, M, w, om, d, num_obs, num_opp). Comparison operators ($lt, $lte, $gt, $gte, $ne, $in, $nin, $exists, $regex) and $and, $or, $nor, $not are allowed; anything else is refused.
- Number of results (`limit`, number): How many objects to return, 1 to 100. Defaults to 10. From 1 to 100.

**Outputs**

- `count` (number): How many objects were returned.
- `objects` (list): The matching minor planets and their orbits.

**Example output**

```json
{
  "count": 1,
  "objects": [
    {
      "absolute_magnitude": 11.16,
      "argument_of_perihelion_deg": 178.82126,
      "ascending_node_deg": 304.30627,
      "computer": "MPCLINUX",
      "designation": "(433) Eros",
      "eccentricity": 0.2227357,
      "epoch": "K194R",
      "inclination_deg": 10.82857,
      "last_observed": "2018-10-09",
      "mean_anomaly_deg": 47.23952,
      "mean_daily_motion_deg": 0.55978029,
      "observations": 7978,
      "oppositions": 52,
      "packed_designation": "00433",
      "reference": "MPO458829",
      "rms_residual_arcsec": 0.63,
      "semi_major_axis_au": 1.4581123,
      "slope_parameter": 0.46
    }
  ]
}
```

### Search telescope observations

Find the telescope images NASA's NEAT survey took of an asteroid or comet, from the SkyMorph archive (1995 to 2007): when each was taken, where the object was in the frame, how fast it was moving and a link to the image. Give the object's number or provisional designation. No API key required.

**Inputs**

- Object (`target`, text, required): The object's number or provisional designation, e.g. 433 (Eros) or 2001 AE2. A name alone is not enough.
- Number of results (`limit`, number): How many observations to return, 1 to 100. Defaults to 10. From 1 to 100.

**Outputs**

- `count` (number): How many are in this result (at most the limit).
- `observations` (list): The exposures, oldest first.
- `target` (text): The object that was searched for.
- `total_observations` (number): How many exposures SkyMorph has of it in all.

**Example output**

```json
{
  "count": 1,
  "observations": [
    {
      "center_dec_deg": -28.144333333333332,
      "center_ra_deg": 222.71970833333333,
      "image_key": "|980719061434|51013.2602893518|221.841236467222|-28.757761355865|222.7197|-28.14433|13.20|48.41|17.38|0.04|0.04|-72.57|1987.0143992157|1830.92212310578|y|",
      "image_url": "https://www.asterank.com/api/skymorph/image?key=%7C980719061434%7C51013.2602893518%7C221.841236467222%7C-28.757761355865%7C222.7197%7C-28.14433%7C13.20%7C48.41%7C17.38%7C0.04%7C0.04%7C-72.57%7C1987.0143992157%7C1830.92212310578%7Cy%7C",
      "magnitude": 13.2,
      "observation_id": "980719061434",
      "offset_arcmin": 59.18,
      "pixel_x": 1987.01,
      "pixel_y": 1830.92,
      "position_error_angle_deg": -72.57,
      "position_error_major_arcsec": 0.04,
      "position_error_minor_arcsec": 0.04,
      "predicted_dec_deg": -28.75775,
      "predicted_ra_deg": 221.84125,
      "time": "1998-07-19 06:14:49",
      "triplet": true,
      "velocity_south_north_arcsec_per_hour": 17.38,
      "velocity_west_east_arcsec_per_hour": 48.41
    }
  ],
  "target": "433",
  "total_observations": 23
}
```
