Life stats
Your life in silly units. Send a birth date and get back the seconds you have lived, the full moons you have seen, your age on Mars, how far you have travelled around the Sun, and the day of your billionth second. Then frame the certificate.
born=1994-03-12 · as of today · see it all
Exact where it can be
Counted exactly
Days alive, your age in years, months and days, the weekday you were born, every leap day and every Friday the 13th you got through. Seconds count the leap seconds too: there have been 27 since 1972.
Counted from the sky
Your age on every planet from NASA's sidereal years, kilometres around the Sun and around the galaxy, and full moons seen. The full moons use the mean lunar month, so they are good to about one.
Honest estimates
Heartbeats and breaths, at one steady rate each for a whole life: 75 beats and 15 breaths a minute, typical resting rates we chose from inside the normal adult ranges. Every estimate says so, and says which rate.
A birth date, nothing else
All it needs is a date. No name, no account, no cookie. The date is used to answer the request and then forgotten: this API has no database and writes no log lines of its own.
The certificate can print a name, if you give it one. It is optional, and it travels in the URL, so leave it out if you would rather not: the certificate then goes to "The Bearer".
Endpoints
| Method | Path | What you get |
|---|---|---|
| GET | /v1/life | Every stat, counted as of now, plus the next three milestones. Takes format=text. |
| GET | /v1/life/milestones | The milestones still ahead, soonest first, each with its date, the days until it and a certificate link. |
| GET | /v1/life/certificate | A 1200 by 900 certificate for one milestone, as SVG or PNG. |
Parameters
| Name | Example | Does |
|---|---|---|
born | 1994-03-12 | Required everywhere. A real date, YYYY-MM-DD, from 1900-01-01 to today. |
time | 07:45 | Optional, HH:MM on a 24 hour clock. Without it, the count starts at midnight. |
tz | America/New_York | Optional IANA time zone of the birth and of "today". Default Europe/Bucharest. |
format | text | On /v1/life: json (default) or text, one line. On the certificate: svg (default) or png. |
count | 5 | Milestones only: how many, 1 to 20, default 10. |
milestone | mars-18 | Certificate only: which one, default gigasecond. The ids are below. |
name | Ada | Certificate only, optional: up to 40 Latin letters (accents welcome: ă, ș, é, ł), digits, spaces and .,'-. The certificate's font has no other alphabets yet. |
Calls
$ curl "https://api.tasta.space/v1/life?born=1994-03-12"
$ curl "https://api.tasta.space/v1/life?born=1994-03-12&format=text"
$ curl "https://api.tasta.space/v1/life/milestones?born=1994-03-12&count=5"
$ curl -o cert.png "https://api.tasta.space/v1/life/certificate?born=1994-03-12&milestone=mars-18&format=png"
A life looks like this
Born on 1994-03-12, counted just now. The meta that comes with it (left out here) holds the moment of counting, the time zone, notes on every approximation, the rates behind the estimates, and a source for each number.
{
"data": {
"born": "1994-03-12",
"weekday": "Saturday",
"age": {
"years": 32,
"months": 7,
"days": 7
},
"days": 11909,
"seconds": 1029005250,
"leap_seconds_lived": 9,
"gigasecond": {
"date": "2025-11-18",
"passed": true,
"days_until": -335
},
"full_moons_seen": 403,
"leap_days_lived": 8,
"friday_13ths_survived": 56,
"km_around_the_sun": 30643776345,
"km_around_the_galaxy": 236671207500,
"heartbeats_estimate": 1286256562,
"breaths_estimate": 257251312,
"age_on": {
"mercury": 135.39,
"venus": 53.0,
"mars": 17.34,
"jupiter": 2.75,
"saturn": 1.11,
"uranus": 0.39,
"neptune": 0.2,
"pluto": 0.13
},
"next_milestones": [
{
"id": "mercury-136",
"name": "136 on Mercury",
"date": "2026-12-12",
"days_until": 54,
"passed": false,
"estimate": false,
"planet": "mercury",
"age": 136,
"certificate": "https://api.tasta.space/v1/life/certificate?born=1994-03-12&milestone=mercury-136"
},
{
"id": "venus-54",
"name": "54 on Venus",
"date": "2027-05-31",
"days_until": 224,
"passed": false,
"estimate": false,
"planet": "venus",
"age": 54,
"certificate": "https://api.tasta.space/v1/life/certificate?born=1994-03-12&milestone=venus-54"
},
{
"id": "mars-18",
"name": "18 on Mars",
"date": "2028-01-18",
"days_until": 456,
"passed": false,
"estimate": false,
"planet": "mars",
"age": 18,
"certificate": "https://api.tasta.space/v1/life/certificate?born=1994-03-12&milestone=mars-18"
}
]
}
}
Milestones
Each milestone has an id, which the certificate takes. Dates are in your time zone.
| Id | When | Notes |
|---|---|---|
gigasecond, 2-gigaseconds, 3-gigaseconds | One, two and three billion seconds | About 31.7, 63.4 and 95.1 years. Leap seconds count, so the clock time comes a few seconds early. |
10000-days to 30000-days | Every 5,000 days | Calendar days after the birth date: 10,000, 15,000, 20,000, 25,000 and 30,000. |
billion-heartbeats | About a billion heartbeats | An estimate: at 75 beats a minute, exactly 800 million seconds, a little over 25 years. |
mars-18 | A birthday on another planet | <planet>-<age> for mercury, venus, mars, jupiter, saturn, uranus, neptune, pluto. The list shows the next one on each. |
Errors of its own
On top of the hub's errors.
| Status | Code | When |
|---|---|---|
| 422 | invalid_parameter | No born, a date that is not a date, a birth before 1900-01-01 or in the future ("You have not been born yet."), a bad time or tz, an unknown milestone, a name too long |
The certificate
One milestone, one certificate, in SVG or PNG. It says "has survived" once the moment has passed and "will survive" before. The same link draws the same picture, so it is cached for a day. This one is live, for 1994-03-12:
Try it
Sources
Planet years. Sidereal orbital periods from NASA's planetary fact sheets: Mercury 87.969, Venus 224.701, Mars 686.98, Jupiter 4,332.589, Saturn 10,755.699, Uranus 30,685.4, Neptune 60,189.018, Pluto 90,560 days. Pluto is a dwarf planet; it counts anyway.
Around the Sun. Earth's mean orbital speed, 29.78 km/s, from NASA's Earth fact sheet.
Around the galaxy. 230 km/s, the Milky Way's circular velocity at the Sun's distance: 229 km/s in Eilers et al. 2019, rounded. Measurements range from about 220 to 240.
Full moons. Mean full moons, half a mean synodic month (29.530588861 days) after each mean new moon of Jean Meeus's Astronomical Algorithms, chapter 49. A real full moon can come hours before or after the mean one, so the count is good to about one.
Leap seconds. All 27, from 1972 to 2016, from IANA's leap-seconds.list, kept from IERS Bulletin C.
Heartbeats and breaths. 75 beats a minute, a typical resting rate we chose from inside the normal adult range of 60 to 100 given by the American Heart Association, and 15 breaths, a typical rate from inside the 12 to 20 given by the American Lung Association. Children run faster and sleepers slower, so treat these as party numbers, not medicine.