Look up a planet's sky position from a cell. Returns coordinates and distance — Sheets or Excel.
It's one of 250+ live sources you reach with a single =VERVE() function — served from APIVerve's production data engine, billed at 1 credit per resolved cell, and refreshed on whatever cadence you set. No API keys to wrangle, no scripts, no exports.
A real example — the input you type, and the values you can pull from it. Click any cell to see the formula behind it.
Fill =VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "isBelowHorizon") down a column and Planet Positions returns a result for every row — a batch of live values in a single drag, no code.
Add Planet Positions beside a table you already have to append its output right where your data lives, then sort, filter, or chart on it.
Set the sheet to refresh on a schedule and the planet positions values keep themselves current without anyone re-typing.
The same function works in both apps — install once, sign in with your key, and type it into any cell.
Install from the Workspace Marketplace, then drop the formula into a cell. Autocomplete suggests the source and its fields.
=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "isBelowHorizon")Same source, same arguments, same key — in Excel on desktop, the web, or mobile. Excel namespaces it as VERVE.CALL. Drag to fill a whole column.
=VERVE.CALL("planetpositions", 37.7749, -122.4194, "Moon", "field", "isBelowHorizon")Tune the result by adding name=value before the field argument — in any order. Leave one out and its default applies.
The date to get planetary position data for (MM-DD-YYYY)
=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "date", "01-16-2026")The time of day for the calculation (HH:mm format, 24-hour). Defaults to 00:00 if not provided
=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "time", "21:00")The altitude of the observer in meters
=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "alt", "0")Add a field name as the last argument to land just that value in the cell.
=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "isBelowHorizon")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "observer.latitude")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "observer.longitude")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "rightAscension")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "rightAscension.hours")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "rightAscension.minutes")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "rightAscension.seconds")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "declination")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "declination.degrees")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "declination.minutes")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "declination.seconds")=VERVE("planetpositions", 37.7749, -122.4194, "Moon", "field", "distance")Premium marks data included on paid plans. On the Free plan a marked field is withheld and a marked input is ignored — either way the cell reads #PREMIUM(name) instead of a value, so a gated answer can never be mistaken for a real one. Everything unmarked works on every plan. Compare plans
Everything you need to wire it into a sheet.