AsterNym Reading API
The Reading API from AsterNym — 1 operation(s) for reading.
The Reading API from AsterNym — 1 operation(s) for reading.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/asternym-com:asternym-com-reading-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: AsterNym Reading API
version: 1.3.0
summary: Birth-chart readings, BaZi, numerology and zodiac engines for AI agents and the people they work for.
description: 'Public, read-only, keyless. No site-owner approval, account or key is required; that permission covers nothing involving private data, payments or account state, and nothing about an agent''s obligations to its own human. Same engine as every page on asternym.com. Not cached: every call counts toward the fair-use limit of 60 a minute per address, which is shared across every endpoint here. Prefer POST so birth details stay out of URLs and access logs. The same tools are available over MCP at https://asternym.com/mcp (streamable HTTP, no key). Terms are returned inside every response and at https://asternym.com/for-agents.'
contact:
url: https://asternym.com/for-agents
servers:
- url: https://asternym.com
tags:
- name: Reading
paths:
/api/v1/reading:
get:
operationId: getReading
summary: A whole reading from a birth date, and optionally a time and place.
description: Sun sign, Chinese animal and element, BaZi day master and pillars, Life Path and the AsterNym identity, from the same engine as every page on the site.
parameters:
- name: date
in: query
required: true
schema:
type: string
format: date
description: Local civil date, YYYY-MM-DD. Required.
- name: time
in: query
required: false
schema:
type: string
pattern: ^([01]\d|2[0-3]):[0-5]\d$
description: Local clock time, HH:MM. Omit if unknown; nothing is assumed and noon is never substituted.
- name: lat
in: query
required: false
schema:
type: number
minimum: -90
maximum: 90
description: Decimal degrees.
- name: lng
in: query
required: false
schema:
type: number
minimum: -180
maximum: 180
description: Decimal degrees.
- name: tz
in: query
required: false
schema:
type: string
description: IANA time zone, e.g. Asia/Singapore. Required when lat and lng are given.
- name: agent
in: query
required: false
schema:
type: string
maxLength: 80
description: 'Optional: the name of the agent or product calling. Logged for usage counts; never required, never verified.'
responses:
'200':
description: A whole reading from a birth date, and optionally a time and place.
content:
application/json:
schema:
$ref: '#/components/schemas/Reading'
'400':
description: A field was missing or malformed. The body says which, and points at the docs.
'429':
description: 'Fair-use limit: more than 60 requests a minute from one address, counted across servers and shared by every /api/v1 endpoint. Retry-After says how long to wait. Never cached.'
tags:
- Reading
post:
operationId: postReading
summary: A whole reading from a birth date, and optionally a time and place.
description: Sun sign, Chinese animal and element, BaZi day master and pillars, Life Path and the AsterNym identity, from the same engine as every page on the site.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- date
properties:
date:
type: string
format: date
description: Local civil date, YYYY-MM-DD. Required.
time:
type: string
pattern: ^([01]\d|2[0-3]):[0-5]\d$
description: Local clock time, HH:MM. Omit if unknown; nothing is assumed and noon is never substituted.
lat:
type: number
minimum: -90
maximum: 90
description: Decimal degrees.
lng:
type: number
minimum: -180
maximum: 180
description: Decimal degrees.
tz:
type: string
description: IANA time zone, e.g. Asia/Singapore. Required when lat and lng are given.
agent:
type: string
maxLength: 80
description: 'Optional: the name of the agent or product calling. Logged for usage counts; never required, never verified.'
responses:
'200':
description: A whole reading from a birth date, and optionally a time and place.
content:
application/json:
schema:
$ref: '#/components/schemas/Reading'
'400':
description: A field was missing or malformed. The body says which, and points at the docs.
'429':
description: 'Fair-use limit: more than 60 requests a minute from one address, counted across servers and shared by every /api/v1 endpoint. Retry-After says how long to wait. Never cached.'
tags:
- Reading
components:
schemas:
Reading:
type: object
properties:
version:
type: object
description: API, identity-formula and engine versions, so a stored response can be told from a later one.
input:
type: object
western:
type: object
properties:
sunSign:
type:
- string
- 'null'
cusp:
type: boolean
chinese:
type: object
properties:
animal:
type: string
yearElement:
type: string
bazi:
type: object
properties:
dayMaster:
type: object
dominantElement:
type: string
pillars:
type: array
hourPillar:
type: string
numerology:
type: object
properties:
lifePath:
type: integer
identity:
type:
- object
- 'null'
method:
type: object
page_url:
type: string
format: uri
terms:
type: object
required:
- version
- input
- western
- chinese
- bazi
- numerology
- method
- page_url
- terms