Free birthstone & zodiac JSON API
Birthdex publishes its reference data as free, static JSON. No API key, no rate limit, no sign-up. Fetch it from a browser, a build script or a backend, and build whatever you like.
Endpoints
- Birthstones by month
- /api/birthstones.json
- Birth flowers by month
- /api/birth-flowers.json
- Zodiac signs
- /api/zodiac.json
- Index
- /api/index.json
Fetch example
// Fetch every birthstone by month
const res = await fetch("https://birthdex.net/api/birthstones.json");
const data = await res.json();
console.log(data.months[11]);
// { month: "december", modern: "Turquoise", ... }Zodiac response shape
The zodiac endpoint returns all twelve signs with their core reference facts.
{
"signs": [
{
"slug": "leo",
"name": "Leo",
"symbol": "\u264c",
"dateRange": "July 23 to August 22",
"element": "Fire",
"modality": "Fixed",
"rulingPlanet": "The Sun",
"birthstone": "Peridot"
}
]
}Using the data
The data is free to use in personal and commercial projects. A credit or link back to Birthdex is appreciated but not required. Every file carries a version, an updated date and a source URL, so you can tell exactly what you are holding and pin against it. Because the endpoints are plain static files, they are fast, cacheable and CORS friendly.
Credit snippet
If you would like to credit the data, each response carries an _attribution object with a ready-made snippet. Copy this and you are done:
<a href="https://birthdex.net">Data by Birthdex</a>
One correction worth knowing about if you integrated before August 2026: older responses pointed attribution at birthdex.com, which is an unrelated site. The correct home of this data is https://birthdex.net.
Look up a single date
Alongside the three reference files there is one endpoint per calendar date, covering all 366 days. It returns the sign, stone, flower, ruling planet, element, modality, day of the year and whether the date sits on a sign boundary:
// One endpoint per calendar date, month-day, zero padded
const res = await fetch("https://birthdex.net/api/date/06-29.json");
const day = await res.json();
// { date: "06-29", sign: "cancer", birthstone: "Pearl",
// birthFlower: "Rose", dayOfYear: 180, onCusp: false, ... }Machine-readable descriptions of every endpoint live at /api/openapi.json.
What it does not do
This is reference data, not a horoscope service. It returns the traditional birthstone, birth flower and zodiac facts, not predictions or personalised readings. For a ready-made lookup interface, use the embeddable widget instead.
Last updated 2 July 2026.