# Tanod skypeek Sun & Moon Calculator

> Tanod skypeek Sun & Moon Calculator is a paid API for AI agents from tanod.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-09).

Computes sunrise, sunset, twilight times, solar noon, and moon phase/rise/set for a given location and date, entirely offline using astronomical algorithms.

## Facts

- Endpoint: POST https://tanod.dev/v1/space/sun-moon?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-09
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-skypeek-sun-moon-calculator-28ef2147
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dOrfrOpMyzg26T45H6Eqo

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tanod-skypeek-sun-moon-calculator-28ef2147 -d '<json body>'
```

Example prompt: What time does the sun rise and set in Manila (14.5995°N, 120.9842°E) on October 8, 2026, using the Asia/Manila timezone — and what's the moon phase that day?

## When to prefer this

Choose this endpoint when you need precise, locally-computed solar and lunar event times for any latitude/longitude and date without relying on a third-party ephemeris service. It is ideal for applications needing offline-safe, deterministic astronomical calculations with timezone-aware output. Prefer it over weather APIs (which don't provide astronomical data) or ephemeris-based services when sub-minute accuracy for twilight and within-3-minute moonrise/moonset accuracy is sufficient.

## Known failure modes

- Missing required lat or lon fields returns a validation error
- Invalid IANA timezone string causes an error response
- Date outside the supported 1900–2100 range is rejected
- Polar locations may return null for sunrise/sunset with an explanation in sun.polar
- Moonrise or moonset may be null on days with no rise or set event

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

A JSON object containing: full sun data (sunrise, sunset, solar noon, day length in hours, max altitude in degrees, civil/nautical/astronomical twilight dawn and dusk times, and a polar field explaining null rise/set when applicable), and full moon data (phase name, waxing boolean, moonrise, moonset, distance in km, age fraction, illumination fraction, and elongation in degrees). All times are ISO 8601 with timezone offset. Method and accuracy notes are included.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "tz": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 64,
     "minLength": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "IANA time zone for the date and the output (such as Asia/Manila); default UTC."
  },
  "lat": {
   "type": "number",
   "maximum": 90,
   "minimum": -90,
   "description": "Latitude in degrees (-90 to 90)."
  },
  "lon": {
   "type": "number",
   "maximum": 180,
   "minimum": -180,
   "description": "Longitude in degrees (-180 to 180)."
  },
  "date": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 10,
     "minLength": 10
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Local date YYYY-MM-DD (1900-2100); default today."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "tz": "Asia/Manila",
  "lat": 14.5995,
  "lon": 120.9842,
  "sun": {
   "polar": null,
   "sunset": "2026-10-08T17:40:52+08:00",
   "sunrise": "2026-10-08T05:46:20+08:00",
   "solar_noon": "2026-10-08T11:43:37+08:00",
   "civil_twilight": {
    "dawn": "2026-10-08T05:24:54+08:00",
    "dusk": "2026-10-08T18:02:18+08:00"
   },
   "day_length_hours": 11.909,
   "max_altitude_deg": 69.54,
   "nautical_twilight": {
    "dawn": "2026-10-08T05:00:03+08:00",
    "dusk": "2026-10-08T18:27:09+08:00"
   },
   "astronomical_twilight": {
    "dawn": "2026-10-08T04:35:13+08:00",
    "dusk": "2026-10-08T18:51:57+08:00"
   }
  },
  "date": "2026-10-08",
  "moon": {
   "phase": "waning_crescent",
   "waxing": false,
   "moonset": "2026-10-08T15:59:35+08:00",
   "moonrise": "2026-10-08T03:25:46+08:00",
   "distance_km": 379060,
   "age_fraction": 0.9148,
   "illumination": 0.0703,
   "elongation_deg": 329.34,
   "up_at_local_noon": true,
   "phase_evaluated_at": "2026-10-08T12:00:00+08:00"
  },
  "method": "Meeus low-order Sun and truncated Moon series computed locally (no ephemeris file)",
  "accuracy": "Sun and twilight times within ~1 minute, moonrise / moonset within ~3 minutes, illumination within 0.5 percentage points (checked against JPL DE421). Standard refraction (34 arcmin), sea-level horizon: terrain, weather and elevation are not modelled. Sun rise / set uses the Sun's upper limb; Moon rise / set the Moon's upper limb with parallax. Days with no rise or set return null; sun.polar says why."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-skypeek-sun-moon-calculator-28ef2147/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
