staticdata.dev
Menu
Datasets About Contact

Zodiac Signs

A complete reference of the 12 signs of the Western tropical zodiac, each annotated with its Unicode symbol glyph, classical element (fire, earth, air, water), modality (cardinal, fixed, mutable), and the conventional MM-DD start and end dates used in sun-sign astrology.

v1.0.0 MIT 12 records Updated 2026-10-05 stable Source:  Wikipedia: Astrological sign, Unicode Chart: Miscellaneous Symbols (U+2600–U+26FF)

Quick fetch

Stable URL. CORS-enabled. No auth.

bash
curl https://staticdata.dev/v1/zodiac-signs.json

Or use as a typed import: import { zodiacSigns } from "https://staticdata.dev/v1/zodiac-signs.ts"

Formats

  • JSON 1.8 KB

    /v1/zodiac-signs.json

    Open

    min: 1.3 KB · /v1/zodiac-signs.min.json

  • CSV 496 B

    /v1/zodiac-signs.csv

    Open
  • TypeScript 2.0 KB

    /v1/zodiac-signs.ts

    export const zodiacSigns

    type ZodiacSign = (typeof zodiacSigns)[number]

    Open

Schema

Each record in the dataset has the following shape.

Schema
Field Type Description Example
name string English name of the zodiac sign Aries
symbol string Unicode glyph (U+2648–U+2653) for the sign ♈
element string Classical element: fire, earth, air, or water fire
modality string Quality: cardinal, fixed, or mutable cardinal
startDate string Conventional start date as MM-DD (tropical, no year) 03-21
endDate string Conventional end date as MM-DD (tropical, no year) 04-19

Preview

First 10 records.

Data preview
namesymbolelementmodalitystartDateendDate
Aries♈firecardinal03-2104-19
Taurus♉earthfixed04-2005-20
Gemini♊airmutable05-2106-20
Cancer♋watercardinal06-2107-22
Leo♌firefixed07-2308-22
Virgo♍earthmutable08-2309-22
Libra♎aircardinal09-2310-22
Scorpio♏waterfixed10-2311-21
Sagittarius♐firemutable11-2212-21
Capricorn♑earthcardinal12-2201-19

Showing 10 of 12. View full data:  JSON · CSV

Fetch examples

Drop-in snippets in five languages.

curl
curl -sSL https://staticdata.dev/v1/zodiac-signs.json | jq '.[0]'
JavaScript
import type { ZodiacSign } from "https://staticdata.dev/v1/zodiac-signs.ts";

const res = await fetch("https://staticdata.dev/v1/zodiac-signs.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const zodiacSigns: ZodiacSign[] = await res.json();
console.log(zodiacSigns[0]);
Python
import urllib.request, json

with urllib.request.urlopen("https://staticdata.dev/v1/zodiac-signs.min.json") as r:
    zodiacSigns = json.load(r)

print(zodiacSigns[0])
Go
package main

import (
	"encoding/json"
	"fmt"
	"net/http"
)

func main() {
	resp, err := http.Get("https://staticdata.dev/v1/zodiac-signs.min.json")
	if err != nil { panic(err) }
	defer resp.Body.Close()

	var data []map[string]any
	if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
		panic(err)
	}
	fmt.Println(data[0])
}
Rust
use serde_json::Value;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let body = ureq::get("https://staticdata.dev/v1/zodiac-signs.min.json").call()?.into_string()?;
    let data: Vec<Value> = serde_json::from_str(&body)?;
    println!("{:?}", data.first());
    Ok(())
}

Sources and methodology

The 12 signs of the Western tropical zodiac divide the ecliptic into 30-degree arcs, each associated with a classical element (fire, earth, air, water) repeated in order, and a modality (cardinal, fixed, mutable) that cycles through each element group. The date ranges reflect the conventional sun-sign boundaries used in popular Western astrology, where the sun transits each sign for roughly 28–31 days per year. Because the tropical zodiac is anchored to the vernal equinox rather than to fixed stars, the dates remain stable across years (with only a one-day variation around leap years).

Each sign is encoded with its Unicode symbol from the Miscellaneous Symbols block (U+2648 ARIES through U+2653 PISCES), enabling consistent rendering across modern fonts and platforms. Dates are stored as MM-DD strings to be year-agnostic; callers should prepend the relevant year when constructing full Date objects, keeping in mind that Capricorn spans the year boundary (December 22 – January 19).

This dataset reflects well-established Western astrological convention and is intended for use in locale-aware applications, date pickers, cultural reference tools, and educational contexts. It does not cover sidereal/Vedic zodiac boundaries, Chinese zodiac signs, or the IAU astronomical constellation boundaries, which differ from the tropical system used here.

Versioning

URLs under /v1/ are stable: field names and types will not change in a way that breaks consumers. Values can be corrected or records added when the upstream source changes; schema-incompatible updates ship under a new version path. See the zodiac-signs changelog for this dataset's history.

More Locale datasets