# Use RoxyAPI with Make

> Automate a daily horoscope email, a Life Path lookup on form submit, or a Vedic kundli PDF delivery on [Make.com](https://www.make.com/) in under 20 minutes. No code.

Make (formerly Integromat) is a visual workflow automation platform with a generous free tier, 1,500+ integrated apps, and a proper HTTP module for talking to any REST API. It is the most popular paid alternative to Zapier in the AI workflow space and has a lighter learning curve than n8n.

## What you can build on Make

- Daily horoscope email blast from a Schedule trigger to Gmail or Mailchimp
- Tarot card of the day to Slack or Telegram every morning
- Webhook-powered Life Path calculator that any no-code form can hit
- Vedic kundli on form submit, rendered as a branded PDF and emailed to the user
- Dream journal where users email their dream and get matching symbols back
- Weekly horoscope newsletter with Iterator fanning across all 12 signs
- AI agent pipeline: Roxy fetches structured data, Claude or GPT rewrites in brand voice

## What you need, 30 seconds

1. A Roxy API key. Get one on the [pricing page](/pricing).
2. A Make account. The free tier includes the HTTP module and is enough for most workflows.
3. Five minutes.

**Tip: If you have not called Roxy from anywhere yet, run the [quickstart](/docs/quickstart) curl once in a terminal. A successful JSON response confirms the key is good before you wire it into a scenario.**

## Step 1, connect your first endpoint

Make has two paths for header auth. The plain HTTP module is fastest. The keychain module is more secure for production scenarios.


### HTTP Make a request

The path that works on the first try.

1. Open your scenario, click `+`, search **HTTP**, pick the verified HTTP app.
2. Choose **Make a request**.
3. **URL** paste a Roxy endpoint, for example `https://roxyapi.com/api/v2/astrology/horoscope/aries/daily`.
4. **Method** pick `GET` or `POST`.
5. Scroll to **Headers**, click **Add item**.
6. **Name** `X-API-Key` (hyphens required). **Value** paste your key from [your account](/account).
7. **Parse response** set to **Yes** so Make parses the JSON and exposes every field to downstream modules.
8. Right-click the module, **Run this module only**.

### HTTP API Key Auth request

Use this for production scenarios so the key does not appear in exports.

1. HTTP app, choose **Make an API Key Auth request**.
2. In **Credentials**, click **Add**, name it `RoxyAPI key`.
3. **Key** paste your Roxy key. **API Key parameter name** `X-API-Key`. **API Key placement** **In the header**. Save.
4. **URL** paste the endpoint, set **Method**, set **Parse response** to Yes.
5. Run the module.

Make injects the header from the keychain. Exports only carry a keychain reference, not the value.


**Warning: The keychain path has historically thrown "Missing Authentication header" errors for some users. If that happens, switch back to the plain **Make a request** module with the header added manually. Both paths reach the same endpoint.**

## Step 2, ship a useful feature

Here is the full flow for a daily horoscope email. Schedule fires at 8 AM. HTTP fetches the horoscope. Gmail sends the email.

1. **Schedule** trigger, every day at 08:00 local time.
2. **HTTP Make a request** with **URL** `https://roxyapi.com/api/v2/astrology/horoscope/aries/daily`, header `X-API-Key`, **Parse response** Yes.
3. **Gmail Send an email**, with subject `Your daily horoscope` and body built from `{{2.overview}}`, `{{2.love}}`, `{{2.career}}`.

For a POST endpoint that takes birth data:


### HTTP module with JSON body

1. **Method** `POST`.
2. **Body type** `application/JSON` with **Data structure** (Make escapes JSON reserved characters for you).
3. **Request content**:
   ```json
   {
     "date": "{{1.birth_date}}",
     "time": "{{1.birth_time}}",
     "latitude": {{1.birth_lat}},
     "longitude": {{1.birth_lng}},
     "timezone": "{{1.timezone}}"
   }
   ```
4. Drag fields from the upstream trigger into each placeholder.

`date` is `YYYY-MM-DD`. `time` is `HH:MM:SS`. `timezone` accepts an IANA identifier (`"America/New_York"`) or a decimal number (`5.5`). IANA is preferred.

### curl preview

```bash
curl -X POST "https://roxyapi.com/api/v2/astrology/natal-chart" \
  -H "X-API-Key: $ROXY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "date": "1990-05-12",
    "time": "14:30:00",
    "latitude": 40.7128,
    "longitude": -74.0060,
    "timezone": "America/New_York"
  }'
```

### TypeScript SDK

For reference if you later port logic to a Make Custom App:

```typescript
import { createRoxy } from '@roxyapi/sdk';
const roxy = createRoxy(process.env.ROXY_API_KEY!);
const { data } = await roxy.astrology.generateNatalChart({
  body: {
    date: '1990-05-12',
    time: '14:30:00',
    latitude: 40.7128,
    longitude: -74.0060,
    timezone: 'America/New_York',
  },
});
```


After Parse response runs once, every field in the JSON becomes a draggable variable in every downstream module. Click into any Gmail, Slack, or Google Docs field and drag from the bundle picker. The `planets` field is a collection (array), so Make exposes it as a repeatable bundle: use an **Iterator** to loop over planets, or a **Set variable** module with an expression like `get(map(2.planets; sign; name; Sun); 1)` to pick the Sun sign.

## Step 3, scale to the full surface

Adding the next endpoint is the same pattern: drop another HTTP module, change the URL, change the body, the keychain or header config is reusable. Three places to pick the next one:

- **[API reference](/api-reference)** has a pre-filled test key. Try a call in the browser, copy the URL and body, paste into a new HTTP module.
- **Domain guides** for which endpoints to call in what order:
  - [Western Astrology](/docs/guides/astrology), [Vedic Astrology](/docs/guides/vedic-astrology), [Tarot](/docs/guides/tarot), [Numerology](/docs/guides/numerology), [I Ching](/docs/guides/iching), [Dreams](/docs/guides/dreams)
- **Most-used endpoints** that fit Make scenarios: [`GET /astrology/horoscope/{sign}/daily`](/api-reference#tag/western-astrology/GET/astrology/horoscope/{sign}/daily), [`GET /astrology/horoscope/{sign}/weekly`](/api-reference#tag/western-astrology/GET/astrology/horoscope/{sign}/weekly), [`POST /astrology/natal-chart`](/api-reference#tag/western-astrology/POST/astrology/natal-chart), [`POST /vedic-astrology/birth-chart`](/api-reference#tag/vedic-astrology/POST/vedic-astrology/birth-chart), [`POST /tarot/spreads/three-card`](/api-reference#tag/tarot/POST/tarot/spreads/three-card), [`POST /numerology/life-path`](/api-reference#tag/numerology/POST/numerology/life-path), [`POST /biorhythm/daily`](/api-reference#tag/biorhythm/POST/biorhythm/daily).

## Caching in a Data Store

Make does not cache HTTP responses. For daily content, use a **Data Store** (built-in key-value storage). Pattern: Schedule, Data Store search, router branch for cache hit vs miss, HTTP fetch on miss, Data Store add. One daily fetch per sign, served from cache for the rest of the day.

## Gotchas

- **Backend-only key.** Every Make scenario runs on Make servers. The key never reaches a browser. Still, use the keychain path for production scenarios you plan to share or export.
- **Plain module exports carry the key.** The **Make a request** module stores the header value in the scenario config. Use **Make an API Key Auth request** with a keychain for scenarios you plan to share or hand off to a client.
- **Timezone.** Prefer IANA strings (`"America/New_York"`). Decimal offsets like `-5` are accepted but do not handle daylight saving. The server resolves IANA to the DST-correct offset for the request date.
- **Rate limits.** Every Roxy plan has daily and monthly caps. Add a **Sleep** module before tight loops, or use Data Store caching. Iterator over 12 signs firing every minute will eat a month of quota in hours.
- **Parse response must be Yes.** Without it the output is a raw string and the bundle picker shows nothing.
- **JSON reserved characters.** Use **Body type application/JSON with Data structure**, not the JSON string option, for any payload that includes free-text user input.

## What to build next

- The [astrology guide](/docs/guides/astrology) and [Vedic astrology guide](/docs/guides/vedic-astrology) cover endpoint ordering for email blasts and form-submit kundlis.
- The [Zapier integration](/docs/integrations/zapier) and [n8n integration](/docs/integrations/n8n) cover similar patterns on adjacent platforms.
- The [AI chatbot tutorial](/docs/tutorials/ai-chatbot) wires Claude or GPT into the Make pipeline after the HTTP fetch.
- Browse the [API reference](/api-reference) for every endpoint across 12 domains.
