Horoscope.com API: Get daily horoscope
Gets a zodiac sign's daily horoscope from Horoscope.com for yesterday, today or tomorrow. The sign can be a sign name or a birthday.
Unofficial. Not affiliated with or endorsed by Horoscope.com.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Day optional
day Which daily reading to get, for example tomorrow.
tomorrow
One of
yesterday,today,tomorrow. Defaulttoday.- Sign, required
sign A zodiac sign or birthday, such as Leo, 1985-08-03, or August 3.
1985-08-03
Input as JSON
{ "day": "tomorrow", "sign": "1985-08-03"}Output
{ "link": "https://www.horoscope.com/us/horoscopes/general/horoscope-general-daily-tomorrow.aspx?sign=5" , "sign": "Leo", "date_range": "Jul 23 - Aug 22", "horoscope_date": "2026-10-24", "horoscope_text": "A conflict between your responsibilities to family and obligations to friends could rear its ugly head today, Leo. You might want to attend an event but need to deal with emotional issues in the home immediately. It could be difficult to keep a cool head under these circumstances. If you can, you sh…"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"horoscope.com/get_daily_horoscope","input":{"day":"tomorrow","sign":"1985-08-03"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "horoscope.com/get_daily_horoscope" , "input": { "day": "tomorrow", "sign": "1985-08-03" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "horoscope.com/get_daily_horoscope" , "input": { "day": "tomorrow", "sign": "1985-08-03" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run horoscope.com/get_daily_horoscope# with {"day":"tomorrow","sign":"1985-08-03"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "sign" ], "properties": { "day": { "enum": [ "yesterday", "today", "tomorrow" ], "type": "string", "default": "today", "description": "Which daily reading to get, for example tomorrow." }, "sign": { "type": "string", "description": "A zodiac sign or birthday, such as Leo, 1985-08-03, or August 3." } }}Output schema
{ "type": "object", "required": [ "sign", "date_range", "horoscope_date", "horoscope_text", "link" ], "properties": { "link": { "type": "string", "format": "uri", "description": "Horoscope.com page for this reading." }, "sign": { "type": "string", "description": "Zodiac sign." }, "date_range": { "type": "string", "description": "Usual zodiac sign dates." }, "horoscope_date": { "type": "string", "format": "date", "description": "Date shown with the horoscope." }, "horoscope_text": { "type": "string", "description": "Full daily horoscope in plain text." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
horoscope.com/get_daily_horoscope- Returns
- sign, date range, horoscope date, horoscope text, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method horoscope.com/get_daily_horoscope with the inputs above.
Ask your agent
- What does my horoscope say for today if I'm a Leo?
- Can you pull up the Scorpio reading for tomorrow?
- I was born on 1985-08-03, what's my daily horoscope from yesterday?
- Show me the Aries daily horoscope for today on horoscope.com.
- What's the Pisces forecast for tomorrow, and what date range does it cover?
See more
Gets the quote BrainyQuote shows today in a chosen daily category (general, love, nature, funny or art), with its author and quote link. The date follows the day shown on BrainyQuote.
brainyquote.com/get_quote_of_the_dayGets daily sunrise, sunset, solar noon, day length and civil twilight for a place from Time and Date, for one or more consecutive days. Times are local with UTC offset; days without sunrise or sunset are marked.
timeanddate.com/get_sunrise_and_sunsetGets Merriam-Webster's Word of the Day for today or a past archive date, with its meaning, example, pronunciation and background note. Dates without a published entry are unavailable.
merriam-webster.com/get_word_of_the_dayGets The Weather Channel's daily forecast for a city, address, ZIP code or postcode: up to 15 upcoming days with highs, lows, conditions, rain chance, wind, humidity, UV and sun times.
weather.com/get_daily_forecastReturns NASA's Astronomy Picture of the Day for a date: title, explanation, featured media link, optional high-resolution link, and credit.
nasa.gov/get_astronomy_picture_of_the_dayGets Bible Gateway's Verse of the Day in the requested translation (NIV by default). The date is the one Bible Gateway assigns, which may differ from the local date.
biblegateway.com/get_verse_of_the_dayGets daily weather and time-ordered airport observations for a past date near a city, airport, or ZIP code. Summary averages use the available observations; missing measurements are null.
wunderground.com/get_historical_weatherReturns Wikipedia's On this day events, births, deaths and holidays for a month and day, in a chosen Wikipedia language; events, births and deaths come newest year first.
wikipedia.org/get_on_this_day