Astronomy API Bodies API

Celestial body information and positions

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/astronomy-api-bodies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

astronomy-api-bodies-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Astronomy Bodies API
  version: '2.0'
  description: 'AstronomyAPI is a web API for retrieving astronomical information

    including celestial body positions, moon phase imagery, star charts,

    astronomical events, and deep space object search for any geographic

    location and date/time combination.

    '
  contact:
    name: AstronomyAPI
    url: https://astronomyapi.com
servers:
- url: https://api.astronomyapi.com/api/v2
  description: Astronomy API v2
tags:
- name: Bodies
  description: Celestial body information and positions
paths:
  /bodies:
    get:
      tags:
      - Bodies
      summary: List supported celestial bodies
      security:
      - basicAuth: []
      responses:
        '200':
          description: List of celestial bodies
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /bodies/positions:
    get:
      tags:
      - Bodies
      summary: Get positions of all bodies for an observer
      security:
      - basicAuth: []
      parameters:
      - name: latitude
        in: query
        required: true
        schema:
          type: number
          format: float
      - name: longitude
        in: query
        required: true
        schema:
          type: number
          format: float
      - name: elevation
        in: query
        schema:
          type: number
          format: float
      - name: from_date
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: to_date
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: time
        in: query
        required: true
        schema:
          type: string
          examples:
          - '12:00:00'
      - name: output
        in: query
        schema:
          type: string
          enum:
          - rows
          - table
      responses:
        '200':
          description: Body positions
  /bodies/positions/{body}:
    get:
      tags:
      - Bodies
      summary: Get positions of a single body for an observer
      security:
      - basicAuth: []
      parameters:
      - name: body
        in: path
        required: true
        schema:
          type: string
          examples:
          - sun
          - moon
          - mars
      - name: latitude
        in: query
        required: true
        schema:
          type: number
          format: float
      - name: longitude
        in: query
        required: true
        schema:
          type: number
          format: float
      - name: elevation
        in: query
        schema:
          type: number
          format: float
      - name: from_date
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: to_date
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: time
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Position data for the body
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'HTTP Basic auth: username is the Application ID and password is the

        Application Secret. The client typically sends

        `Authorization: Basic base64(applicationId:applicationSecret)`.

        '