Ship a daily horoscope email, a natal chart on form submit, or a tarot card to Slack every morning, on Make in about 15 minutes. No code.
The whole integration is one HTTP module and one saved key. After that, every one of the 261+ endpoints is the same module with a different URL and body. Make parses the JSON for you, so every field of a chart or a reading becomes a draggable item in the next module.
The call that proves it
Run this in a terminal first. A 200 here means the key is good, so anything that breaks afterwards is scenario wiring.
No key yet? One plan covers every domain and checkout is instant: pricing.
Now the same call as a module. Make stores the key in a keychain, so it never sits in the scenario itself and never travels in an export.
In your scenario click +, search HTTP, and pick the HTTP app. Choose Version 4 if the version dropdown appears, since Version 3 is the legacy app with a different layout.
Choose Make a request.
Authentication typeAPI key.
Click Credentials, or Add next to Choose a key. NameRoxyAPI key. Key paste your key from your account. API key placementIn the header. API key parameter nameX-API-Key. Click Create.
You get clean JSON with no wrapper: sign, date, overview, love, career, health, finance, advice, column, events, luckyNumber, luckyColor, compatibleSigns, activeTransits, moonSign, moonPhase, energyRating. Every one of those is now draggable into any Gmail, Slack, Google Docs or Airtable field downstream.
Leave the Headers section empty
The HTTP module has its own Credentials field for authentication, and the Make docs are explicit that the key belongs there rather than in Headers. A key typed into Headers is stored in the scenario, so it travels in every export and blueprint you share. Reuse the keychain instead and the export carries only a reference. Edit or rotate it later from Keys in the left sidebar, and every module using it follows.
Send birth data with a POST
Charts, panchang, dasha, compatibility and synastry all take a birth moment.
Body input methodData structure, then map each field. Make escapes JSON reserved characters for you, which matters the moment a value comes from free-text user input. Pick JSON string only if you want to paste the raw body yourself.
The five required fields, whichever input method you picked:json
Nobody knows their birth latitude. Put one more HTTP module on GET https://roxyapi.com/api/v2/location/search?q=berlin ahead of the chart module and read 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 right offset for the birth date, so a summer birth and a winter birth are both correct. A decimal offset such as 5.5 is accepted but knows nothing about daylight saving.
The planets field is an array, so Make exposes it as a repeatable collection. Use an Iterator to loop over it, or pull one out inline:
Code
get(map(2.planets; sign; name; Sun); 1)
Ship a daily horoscope email
Two modules, with a daily scenario schedule.
Add HTTP → Make a request on https://roxyapi.com/api/v2/astrology/horoscope/aries/daily with the RoxyAPI key keychain and Parse response Yes.
Add Gmail → Send an email, subject Your daily horoscope, and map overview, love, and career from the HTTP output into the body. Use the module picker so the references match your scenario.
Open Schedule settings from the scenario toolbar, choose Daily, and set 08:00. Scheduling is a scenario setting, not a separate module. Follow the Make scheduling guide for the current controls.
Run once before activation and inspect both the API bundle and the delivered message. The same reading fields can feed a Slack channel message or a Telegram bot message instead of email. Confirm the intended recipients and delivery timezone, then activate the scenario.
For all twelve signs, add an Iterator over the sign list and a Sleep between iterations rather than twelve simultaneous calls.
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
Make does not cache HTTP responses, and a horoscope is the same all day for one sign. Use a Data store, which is built in:
Create a data store with a sign, date and payload field.
Data store, Get a record keyed horoscope_aries_2026-04-13.
A Router with two routes: cache hit goes straight to the email, cache miss calls HTTP then Data store, Add/Replace a Record.
One fetch per sign per day, whatever the traffic. The caching guide lists how long each kind of result stays valid.
Gotchas
The bundle picker shows nothing after the call
Parse response is off, so the output is one raw string. Set it to Yes and run the module once; every field becomes mappable from then on.
My key is in the blueprint I just shared
It was typed into Headers instead of Credentials. Move it to a keychain and re-export. Rotate the shared key from your account.
Free text breaks my JSON body
Use Body input methodData structure rather than JSON string. Make escapes reserved characters in the values for you; a hand-written JSON string does not.
I get a 400 and cannot tell which field is wrong
A 400 uses { error, code, doc_url }; inspect the documented response rather than assuming a separate issues[] array. Retry 429 with code rate_limit_per_minute and 503 with code compute_saturated after the Retry-After seconds. Retry 500 with code internal_error with exponential backoff. A request that fails on our side with a 5xx does not count against your monthly allowance, so retrying it is free. A 429 with code rate_limit_exceeded means the monthly allowance is used up: retrying cannot help before the reset, and Retry-After gives the seconds to it. Fix the request for any other 4xx, because it will fail the same way until it changes. Every official SDK already retries these for you, twice and honouring Retry-After, so a call made through an SDK needs no second retry loop.
429 halfway through an Iterator
Read the response code: rate_limit_per_minute means the short-term request limit, while rate_limit_exceeded means the monthly allowance. Follow Retry-After for a temporary limit; sleeping does not replenish an exhausted monthly allowance. Cache repeated reads and check the error codes before choosing whether to retry or change the plan.
The HTTP module looks nothing like this page
You are on HTTP (legacy), Version 3, which has separate per-auth modules and no Credentials field. Add the module again and choose Version 4.
n8n and Zapier run the same patterns on adjacent platforms.
Want the model to pick the endpoint instead of you? Remote MCP exposes 258+ tools to an AI agent, and the AI chatbot tutorial builds one end to end.
FAQ
Can Make call an astrology API without any code?
Yes. One HTTP module, one keychain, and a URL is the whole setup. Set Authentication type to API key, place the key in the header under the name X-API-Key, turn Parse response on, and every field of the result becomes draggable in later modules. One key reaches all 18 domains.
Where do I put the API key in a Make HTTP module?
In Credentials, as an API key keychain with placement In the header and parameter name X-API-Key. Not in the Headers section: a key typed there is stored inside the scenario and travels in every blueprint export. The keychain is edited later from Keys in the left sidebar, and every module that uses it picks up the change.
How do I send birth date, time and place to a chart endpoint from Make?
Set the method to POST, Body content type to application/JSON, and Body input method to Data structure, then map date, time, latitude, longitude and timezone. Resolve the city with GET /location/search?q={city} in a module before it, so the person types a place name and never a coordinate.
How do I stop a Make scenario from burning through my request quota?
Cache. A daily horoscope is identical all day for one sign, so store the response in a Make data store keyed by sign and date, and use a Router to serve from the store on a hit. That turns any amount of traffic into one call per sign per day.
Does the free Make plan work with RoxyAPI?
Yes. The HTTP app, data stores, Iterator, Router and Sleep are all standard modules. You need a RoxyAPI key, and a single key covers every domain, so no part of the wiring depends on a paid Make tier.
R
RosieYour AI guide to RoxyAPI
R
Hi, I am Rosie, your guide to the RoxyAPI insight tools.
Ask me to read your birth chart, pull a card, or map your numbers, and I will interpret what it means for you. Unlike most AIs, I never make the numbers up: every reading runs on real, verified calculations. Curious about the API, pricing, or docs instead? Ask me that too.