BYTETOOLS

Free Horoscope API

A free horoscope API with no key or signup: daily, weekly and monthly readings for all twelve signs, returned as plain JSON. Note CORS is off. Tested example included.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Free Horoscope API?

Free Horoscope API returns daily, weekly and monthly horoscope text for any of the twelve zodiac signs, with no API key and no account. Requests take a `sign` and, for daily readings, a `day` of TODAY, TOMORROW or YESTERDAY.

This is the plainest possible horoscope endpoint, and that is its virtue: one GET, one paragraph of text, no wrapper ceremony. It is the direct successor to the widely used horoscope-app-api project, which now redirects here, so a lot of older tutorials and Stack Overflow answers point at the old Vercel address and land on this host. If you are following one of those, update the base URL rather than assuming the API is dead.

Two practical constraints. First, it sends no CORS header, so you cannot call it from browser JavaScript — it needs a server-side or edge proxy, which for a service with no key is a mild annoyance rather than a security matter. Second, the copy is generated and generic by design; treat it as filler content for an entertainment feature, not as anything a user should make decisions on. If what you actually want is the astronomy — exact ingress and retrograde times — a computed ephemeris API is the better fit.

Quick facts

Base URL
https://freehoroscopeapi.com/api/v1
Authentication
No key and no signup.
Rate limit
No published limit. Readings change at most once a day, so cache per sign per day.
Pricing
Free.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the Free Horoscope API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Today's horoscope for Aries

GET https://freehoroscopeapi.com/api/v1/get-horoscope/daily?sign=aries&day=TODAY

curl
curl 'https://freehoroscopeapi.com/api/v1/get-horoscope/daily?sign=aries&day=TODAY'
JavaScript (fetch)
const res = await fetch("https://freehoroscopeapi.com/api/v1/get-horoscope/daily?sign=aries&day=TODAY");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://freehoroscopeapi.com/api/v1/get-horoscope/daily?sign=aries&day=TODAY", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "data": {
    "date": "2026-08-21",
    "period": "daily",
    "sign": "Aries",
    "horoscope": "Aries, today you may feel like taking on a new challenge or pursuing an idea that's been on your mind. You're likely to have a lot of energy and a strong desire to be active, so find a way to channel that into something productive. It's a good day to tackle tasks you've been putting off or to start something new. Just be careful not to rush into things without thinking them through, as you might regret it later. Your natural confidence and determination can take you far, but a little patience will help you make the most of your efforts."
  }
}

Parameters

ParameterTypeRequiredDescription
signstringRequiredZodiac sign name, e.g. `aries`. Case-insensitive. aries
daystringOptionalFor the daily endpoint: `TODAY`, `TOMORROW` or `YESTERDAY`. A `YYYY-MM-DD` date also works for recent days. TODAY
periodpath segmentOptionalThe last path segment selects the period: `daily`, `weekly` or `monthly`. daily

Response fields

data.datestring (YYYY-MM-DD)
The date the reading applies to.
data.periodstring
Which period was returned: daily, weekly or monthly.
data.signstring
The sign, normalised to title case.
data.horoscopestring
The reading itself, a single paragraph of plain text.

What you can build with the Free Horoscope API

  • Add a daily horoscope block to a lifestyle site or newsletter
  • Post a scheduled horoscope to a chat channel
  • Fill a demo app with real-looking content during development
  • Practise proxying a CORS-less API through your own server or edge function

Common errors and how to fix them

CORS error in the browser

The API sends no `Access-Control-Allow-Origin` header at all.

Fix: Call it from your server or an edge function and pass the result to the client. There is no key to protect, so a thin proxy is all you need.

404

Sign name misspelled or the period segment is wrong.

Fix: Path is `/get-horoscope/{daily|weekly|monthly}` and the sign goes in the query string, not the path.

Empty or missing `horoscope`

The requested day is outside the window the service keeps.

Fix: Stick to TODAY, TOMORROW and YESTERDAY; older dates are not reliably retained.

Free Horoscope API — frequently asked questions

Is there a free horoscope API with no API key?

Yes. Free Horoscope API returns daily, weekly and monthly readings for all twelve signs with no key and no signup. It is the current home of the project formerly hosted as horoscope-app-api.

Why does my fetch() call fail from the browser?

The API returns no CORS header, so browsers block the response. Proxy it through your own backend or an edge function. Since there is no API key involved, the proxy is purely about CORS, not secrecy.

How often does the daily horoscope change?

Once a day. Cache the response per sign per day; refetching more often returns the same paragraph and wastes both your latency budget and the host's bandwidth.

Can I get horoscopes for past dates?

The daily endpoint accepts YESTERDAY and recent explicit dates, but there is no deep archive. If you need history, store what you fetch.

Tools that pair with this API

Free Horoscope API is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.