RoxyAPI Forecast API

Forecast API that merges upcoming transit aspects, sign ingresses, retrograde stations, new and full moons, biorhythm critical days, and Vimshottari dasha changes into one time-ordered forecast for a single subject. The only cross-domain forecast timeline behind one key, positions verified against NASA JPL Horizons, available over Remote MCP with typed SDKs. Horizon capped at 90 days.

Operations 5

POST /forecast/timeline Cross-domain forecast timeline - Transits, ingresses, stations, dasha changes… #
POST /forecast/transits Western astrology forecast - aspects, ingresses, stations, eclipses, moon phases #
POST /forecast/significant-dates Significant dates - High-significance cross-domain forecast highlights #
POST /forecast/digest Forecast digest - Pre-summarized next 24h, 7d, 30d, and 90d rollups #
POST /forecast/solar-return Solar return chart - Annual birthday forecast chart for a single subject #

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/roxyapi:roxyapi-forecast-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

roxyapi-forecast-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Roxy Forecast API
  version: 2.0.0
  description: '# RoxyAPI: the Spiritual OS layer for agentic AI


    > **Base URL:** `https://roxyapi.com/api/v2`.'
  x-error-codes:
  - code: validation_error
    status: 400
    meaning: A field is missing or invalid. The body lists every failing field at once in issues, each with its path and the expected shape.
  - code: bad_request
    status: 400
    meaning: The request was rejected as a whole, for example a body that is not valid JSON or a date range that ends before it starts.
  - code: date_out_of_range
    status: 400
    meaning: A date lies outside the span the planetary positions are served for. The error names the supported dates.
  - code: api_key_required
    status: 401
    meaning: No API key was sent.
  - code: invalid_api_key
    status: 401
    meaning: The key sent is malformed or cannot be verified.
  - code: api_key_revoked
    status: 401
    meaning: The key was valid once and has since been revoked from the account page.
  - code: subscription_not_found
    status: 401
    meaning: The key verifies, but the subscription behind it no longer exists.
  - code: subscription_inactive
    status: 401
    meaning: The subscription behind the key is cancelled, expired or suspended, or a trial is past its end date.
  - code: publishable_key_not_allowed_on_mcp
    status: 401
    meaning: A publishable key was used on a Remote MCP server, which takes a secret key.
  - code: invalid_client_ip
    status: 401
    meaning: A keyless request could not be attributed to a caller.
  - code: unauthorized
    status: 401
    meaning: Authentication failed with no more specific reason to give.
  - code: forbidden
    status: 403
    meaning: The key is valid, but this request is not permitted.
  - code: origin_required
    status: 403
    meaning: A publishable key with an origin allowlist was used with no Origin header, as from a server or a native app.
  - code: origin_not_allowed
    status: 403
    meaning: The calling site is not on the origin allowlist of this publishable key.
  - code: not_found
    status: 404
    meaning: Nothing is served at this path, or the identifier in it does not exist. A path miss adds suggestions, the closest real endpoints.
  - code: method_not_allowed
    status: 405
    meaning: The path exists for a different HTTP method. The body lists the accepted methods in allow, as does the Allow header.
  - code: conflict
    status: 409
    meaning: The request cannot be applied in the current state.
  - code: gone
    status: 410
    meaning: The path was removed permanently.
  - code: payload_too_large
    status: 413
    meaning: The request body is larger than the API accepts.
  - code: unsupported_media_type
    status: 415
    meaning: 'A request with a body was sent without Content-Type: application/json.'
  - code: unprocessable_entity
    status: 422
    meaning: Every field is valid, but the combination cannot be computed.
  - code: rate_limit_exceeded
    status: 429
    meaning: The monthly request allowance is used up. Retry-After gives the seconds to the reset.
  - code: rate_limit_per_minute
    status: 429
    meaning: The per-minute limit of the plan was reached. Retry-After gives the seconds to the next minute, and the monthly allowance is not charged.
  - code: rate_limited
    status: 429
    meaning: A rate limit was reached, reported without the plan detail.
  - code: free_tier_exhausted
    status: 429
    meaning: A keyless request has used up its trial allowance.
  - code: internal_error
    status: 500
    meaning: The request failed inside our service. Retry with exponential backoff.
  - code: compute_saturated
    status: 503
    meaning: Heavy calculations are briefly at capacity. Send the same request again after Retry-After seconds.
  - code: error
    status: null
    meaning: A fallback for a status with no more specific code. The status and the error field carry the signal.
  contact:
    name: RoxyAPI Support
    url: https://roxyapi.com/contact
  license:
    name: Proprietary
    url: https://roxyapi.com/policy/terms
servers:
- url: https://roxyapi.com/api/v2
  description: Production API v2
security:
- apiKey: []
tags:


# --- truncated at 32 KB (130 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/roxyapi/refs/heads/main/openapi/roxyapi-forecast-api-openapi.yml