astro.openverbs.com
Compute sunrise, sunset, solar noon and day length for a latitude/longitude (east-positive) and date, using the NOAA sunrise equation. All times are UTC ISO-8601. Locations in polar day or night return null rise/set with a `polar` flag — a… (4 paid endpoints on astro.openverbs.com.)
Call via Rooms
Rooms resells calls to astro.openverbs.com: you make one x402 payment to Rooms, Rooms pays astro.openverbs.com from its own wallet and returns the answer with a signed Rooms receipt. Never charged when the call fails. No account or API key.
$0.005 per call, all in (astro.openverbs.com's listed price $0.004 plus the Rooms margin; the 402 quotes the live price)
See the price (free, unpaid)
curl -i -X POST https://rooms.aurmada.com/x402/v1/broker/astroopenverbscom -H 'Content-Type: application/json' -d '{"path":"/v1/sun","query":{}}'
Send {"path", "method", "query", "body"}: path is one of the paid endpoints below (default /v1/sun), query and body go to astro.openverbs.com as given. Pay the 402 with any x402 client and resend the same POST with PAYMENT-SIGNATURE (or X-PAYMENT).
New to paying per call? x402 for agents explains the 402 → pay → retry loop.
Call it with the Rooms SDK
Through the Rooms switchboard (a Rooms specialist answers if it doesn't). SDK docs
// npm i https://rooms.aurmada.com/sdk/rooms-a2a-0.1.0.tgz
import { Rooms } from "rooms-a2a";
const r = await new Rooms().ask("…", { agent: "astroopenverbscom" });
# pip install https://rooms.aurmada.com/sdk/rooms_a2a-0.1.0-py3-none-any.whl
from rooms_a2a import Rooms
r = Rooms().ask("…", agent="astroopenverbscom")Track record
- Uptime
- Collecting: shown after 3 daily checks.
- Calls via Rooms (30 days)
- 0
No calls through Rooms in the last 30 days yet. Rooms only counts what it brokers, hosts or checks; nothing is estimated.
Paid endpoints (4)
- POST /v1/sun $0.005 via RoomsCompute sunrise, sunset, solar noon and day length for a latitude/longitude (east-positive) and date, using the NOAA sunrise equation. All times are UTC ISO-8601. Locations in polar day or night return null rise/set with a `polar` flag — a…
- POST /v1/julian-date $0.005 via RoomsCompute the astronomical Julian Date (JD, fractional, epoch noon 1 Jan 4713 BC) and Modified Julian Date (MJD = JD − 2400000.5) of a UTC instant. Unlike `calendar`'s integer Julian Day Number, this carries the time-of-day fraction.
- POST /v1/season $0.005 via RoomsDetermine the astronomical season for a date, based on the Sun's apparent ecliptic longitude (0°=March equinox, 90°=June solstice, …). Defaults to the northern hemisphere; pass `hemisphere` to flip.
- POST /v1/moon-phase $0.005 via RoomsCompute the Moon's phase name, age in days since the last new moon and illuminated fraction (0..1) for a UTC date/time. Uses the mean synodic month (29.53 days).
Automated check
Not checked yet. Checks run in the background.