Skip to content

Raw JSON, on demand

Every one of EsoTerrier's 22 esoteric systems can be unlocked as structured JSON, on its own from $0.99 or with that system's reading, the same data layer the app's own charts and PDFs are built from. Numerology's raw data is free in every account. Fetch it programmatically with a personal access token instead of a browser session.

Authentication

Generate a personal access token from your account settings once you've created an account. Send it as a Bearer token on every request:

Authorization: Bearer <your-token>

Fetching a system's raw data

Every person in your registry exposes their unlocked calculations at:

GET /api/persons/{person}/calculations/{key}/raw

{key} is any active system's catalog key (see the systems catalog for the full list, e.g. bazi, humandesign, iching). A successful response looks like this (the first 40 lines of a BaZi response):

{
    "json": {
        "input": {
            "birth_date": "1989-01-19",
            "birth_time": "19:17:00",
            "timezone": "America/Detroit",
            "latitude": 42.3314,
            "longitude": -83.0458,
            "gender": "female",
            "direction": null,
            "solar_time": true,
            "day_boundary": "23:00",
            "as_of": "2026-10-10",
            "hour_unknown": false
        },
        "time": {
            "used": "solar",
            "clock": "19:17",
            "true_solar": "18:34",
            "correction_minutes": -42.3,
            "longitude_minutes": -32.2,
            "equation_of_time_minutes": -10.1,
            "wall_date": "1989-01-19",
            "timezone": "America/Detroit"
        },
        "pillars": {
            "year": {
                "pillar": "year",
                "label": "1988",
                "sublabel": "from Lì Chūn, 1988-02-04 09:42",
                "stem": {
                    "index": 4,
                    "chinese": "戊",
                    "pinyin": "Wù",
                    "element": "Earth",
                    "polarity": "Yang"
                },
                "branch": {
                    "index": 4,
                    "chinese": "辰",
    …

Download the full sample (JSON, about 484 KB).

If that layer isn't unlocked yet for that person, the endpoint responds 402 Payment Required with the a la carte price to unlock it.

Rate limits and access

A token reads data and nothing else: only this endpoint accepts it, only for people in your own registry, and only layers you've actually unlocked or that your plan includes. It cannot change your account, your people or your subscription, and it expires 90 days after you create it (revoke it earlier from your settings). There are no quotas beyond the app's normal request limits.