Skip to content
  1. Docs
  2. Integrations
  3. Zapier

Zapier astrology automation with webhooks

Ship a daily horoscope email, a Life Path lookup on form submit, or a tarot card to Slack every morning, on Zapier in about 15 minutes. No code, and it works on the free plan.

There is no RoxyAPI app in the Zapier catalog, and you do not need one. Webhooks by Zapier calls any REST API from any Zap and is available on the Free plan, so one action reaches all 261+ endpoints. If you would rather the key never live inside the Zap at all, API by Zapier stores it in a connection instead. Both paths are below.

The call that proves it

Run this in a terminal first. A 200 here means the key is good, so anything that fails next is Zap wiring.

curl "https://roxyapi.com/api/v2/astrology/horoscope/aries/daily" \
  -H "X-API-Key: $ROXY_API_KEY"

No key yet? One key covers every domain and checkout is instant: pricing.

Now the same call as an action:

  1. In the Zap editor click + to add an action step.
  2. Search for and select Webhooks by Zapier.
  3. Open the Event dropdown and choose GET.
  4. URL https://roxyapi.com/api/v2/astrology/horoscope/aries/daily.
  5. In the Headers section, key X-API-Key, value your key from your account.
  6. Continue, then Test step.

The response is clean JSON with no wrapper, and every field is mappable in later steps:

{
  "sign": "Aries",
  "date": "2026-04-03",
  "overview": "Mercury draws a trine to Jupiter today, drawing the running commentary into your twelfth house, where rest, retreat and the unfinished business of the mind take their turn...",
  "love": "The Moon bargains from Libra, in the seventh house you keep partnerships and relationships in, where another person is party to the outcome and has to be counted, and the ask is the ground to feel solid before anything is risked on it...",
  "career": "The Sun guards Aries, in your first house, where a person is read off how they carry themselves rather than off what they claim, and it wants one thing carried through to the end in the open...",
  "health": "The Sun forms a semi-square to Uranus today, sending the part that wants to be seen through your first house of identity and self-expression, where the first impression gets made before anything has been explained...",
  "finance": "The Moon enters Scorpio today, played out in your eighth house, the one for transformation and shared resources...",
  "advice": "Mercury trines Jupiter today, at the level of the twelfth house you keep solitude and inner reflection in...",
  "luckyNumber": 8,
  "luckyColor": "Red",
  "moonSign": "Libra",
  "moonPhase": "Waning Gibbous Moon",
  "energyRating": 6
}

For a dynamic sign, replace aries in the URL with a mapped field from the trigger.

Keep the key out of the Zap

Header values typed into a Webhooks action are stored in the Zap itself, so anyone with edit access can read them and they travel in a shared copy. API by Zapier exists for exactly this: the credentials live in a connection and are added to the request for you.

  1. Go to the Apps page and click + Add connection.
  2. Search for and select API by Zapier, then Add connection.
  3. Authentication type Static Headers (API key).
  4. Headers X-API-Key: your_key, one header per line.
  5. Domain filter roxyapi.com, so the connection cannot be pointed anywhere else.
  6. Test URL https://roxyapi.com/api/v2/astrology/moon-phase/current, which returns 200 with a valid key.

Then add an action, pick API by Zapier, choose the API Request event and your connection, and fill in Method, URL and, for a POST, Body. Do not re-add the auth header on the step; the connection supplies it.

API by Zapier is in beta and is a premium app, so it needs a paid Zapier account. Webhooks by Zapier does not. Pick whichever matches the account you are on, and rename each API step in the editor so the flow is readable.

Send birth data with a POST

Charts, panchang, dasha, compatibility and synastry all take a birth moment.

  1. Event POST. URL https://roxyapi.com/api/v2/astrology/natal-chart.
  2. Payload Type JSON.
  3. Headers X-API-Key, your key.
  4. Fill the Data section, one key on the left and the mapped trigger field on the right:
KeyValue
datethe birth date, YYYY-MM-DD
timethe birth time, HH:MM:SS
latitudelatitude as a number
longitudelongitude as a number
timezoneIANA zone, for example America/New_York

All five are required. Optional houseSystem (placidus by default) and nodeType (true by default) go in the same Data section.

Resolve the city first, never ask for coordinates

No form respondent knows their birth latitude. Add a Webhooks by Zapier, GET step on https://roxyapi.com/api/v2/location/search?q=berlin before the chart step and map latitude, longitude and timezone off the first entry in the cities array. The timezone comes back as an IANA name, which is what you want: the server resolves it to the correct offset for the birth date, so a summer birth and a winter birth are both right. A decimal offset such as 5.5 is accepted but knows nothing about daylight saving.

Ship a daily horoscope email

Three steps.

  1. Schedule by Zapier trigger, daily at 08:00.
  2. Webhooks by Zapier, GET on https://roxyapi.com/api/v2/astrology/horoscope/aries/daily with the X-API-Key header.
  3. Email by Zapier, or a Mailchimp or Gmail action. Subject Your Aries horoscope for today, body built from overview, love, career, luckyNumber and luckyColor.

Other useful triggers for RoxyAPI Zaps: Webhooks by Zapier, Catch Hook for a form on another system, and the form connectors (Tally, Typeform, Google Forms, Jotform).

Add ?lang= to any URL for one of ten languages (en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant). Machine values such as sign stay English; the prose translates.

Cache what does not change

Zapier does not cache responses, and a horoscope is identical all day for one sign. Store it in Storage by Zapier keyed by sign and date, for example horoscope_aries_2026-04-13, and put a Filter by Zapier step in front of the webhook so a cache hit skips the call. For anything higher volume, Make and n8n have full data stores. The caching guide lists how long each kind of result stays valid.

Gotchas

Fields I never mapped are showing up in the request

The Data section was left blank, and Zapier then forwards every field from the previous step as the payload. Fill Data with only the keys the endpoint takes.

A nested body comes back as a 400

The Data section on a templated action is flat unless you use the double underscore convention, so person1__date builds the object and person1.date does not. For anything deeper than one level, switch to Custom Request and type the raw JSON.

Custom Request gets rejected

Custom Request does not parse or format anything, and it does not set a content type. Add Content-Type: application/json in Headers and validate the JSON before you paste it.

I get a 400 and cannot tell which field is wrong

A 400 carries issues[] listing every field problem at once, so read that array instead of guessing one field at a time. All errors come back as { error, code, doc_url }. Retry only 429 and 5xx, never a 400.

My key is readable by anyone who can edit the Zap

Header values on a Webhooks action are stored in the Zap. Move to API by Zapier with a Static Headers connection and a domain filter, or rotate the key after sharing.

429 partway through a run

You are through your monthly request allowance. Add a Delay by Zapier step ahead of tight loops, cache in Storage, or move up a plan. See authentication for the quota headers on every response.

Can a Zap use the RoxyAPI Remote MCP servers?

No, and the direction is the thing to remember: Zapier MCP publishes Zapier actions to an outside AI client. It does not let a Zap consume a third party Remote MCP server. Inside a Zap, use the Webhooks or API by Zapier path above. For the agent side, n8n connects to a Remote MCP server directly.

The response was truncated

Webhooks by Zapier caps an action payload at 5 MB. A full Vedic birth chart is well inside that, but if you assemble several results into one step, split them.

Pick the next endpoint

FAQ

Do I need a paid Zapier plan to call an astrology API?

No. Webhooks by Zapier is available on the Free plan, so a GET or POST action reaches every RoxyAPI endpoint with no upgrade. A paid plan is only needed for API by Zapier, which is the premium app that stores your key in a connection instead of in the Zap.

How do I add an API key header in Zapier?

On a Webhooks by Zapier action, fill the Headers section with the key X-API-Key and your key as the value. To keep the key out of the Zap itself, create an API by Zapier connection with Authentication type Static Headers (API key), a header line of X-API-Key: your_key, and a domain filter of roxyapi.com.

Why does my Zapier POST to a compatibility endpoint fail?

Because the body is nested. Compatibility and synastry take a person1 and a person2 object, and the Data section is flat unless you use Zapier double underscore convention: write person1__date, person1__time and so on, and Zapier builds the object for you. For anything deeper, switch the event to Custom Request, type the raw JSON, and add Content-Type: application/json to Headers.

Can I use RoxyAPI Remote MCP inside a Zap?

No. Zapier MCP works the other way round, publishing Zapier actions to an outside AI client. Inside a Zap, call the REST endpoints through Webhooks by Zapier or API by Zapier. If you want an automation platform whose agent connects to Remote MCP directly, n8n does that.

How do I stop a Zap from burning through my request quota?

Cache. A daily horoscope is identical all day for one sign, so write it to Storage by Zapier keyed by sign and date and put a Filter step ahead of the webhook so a cache hit skips the call. That turns any amount of traffic into one call per sign per day.