# On This Day

> Look up what happened on any day of the year with On This Day, the free keyless API behind byabbe.se. Get the events, births and deaths Wikipedia records for a date, today's unless you name another, narrowed by keyword or by century, pick one at random for a fact-of-the-day post, or find what turns fifty or a hundred today. Every year comes back as a number rather than the string the service sends, BC years included, and a date with an empty section is an empty answer rather than a failed step. The data is harvested from Wikipedia and shares its CC BY-SA 3.0 licence. No account and no API key: connecting takes one click.

App · Misc References · 7 actions. Web page: https://docs.lodol.com/docs/integrations/on-this-day

## Actions

### Check service status

Check whether On This Day is answering, and how quickly. This is the one action that reports a problem as a value instead of failing the step, so a workflow can decide what to do about it. Being asked to slow down is reported separately from being down. No API key required.

**Inputs**: None.

**Outputs**

- `message` (text): What happened, in a sentence.
- `online` (true/false): Whether the service answered with usable day-of-the-year data.
- `rate_limited` (true/false): Whether it asked this workspace to slow down.
- `reachable` (true/false): Whether it answered at all. A service that is reachable but not online is refusing or misreporting rather than down.
- `response_time_ms` (number): How long the answer took, in milliseconds.
- `status_code` (number): The HTTP status it answered with, or empty when it could not be reached.

**Example output**

```json
{
  "message": "On This Day is up and serving Wikipedia's day-of-the-year data.",
  "online": true,
  "rate_limited": false,
  "reachable": true,
  "response_time_ms": 128.4,
  "status_code": 200
}
```

### Get a random historical fact

Pick one entry at random from a date, for a fact-of-the-day post. Choose which section to draw from, and narrow it by keyword or year first. A date with nothing to draw from comes back with 'found' false rather than failing the step. No API key required.

**Inputs**

- Date (`date`, text): The day of the year to look up, as a date: 2026-02-02, 2/2 or February 2 all work. Any year in it is ignored, because the service is keyed on a month and a day: asking about 2026-02-02 returns everything that ever happened on a 2 February. Leave empty to use today, or to use the month and day fields below.
- Month (`month`, number): The month to look up, 1 to 12. Give a day as well, or leave both empty for today. Ignored when a date is given above. From 1 to 12.
- Day (`day`, number): The day of the month to look up. 29 February is served like any other date, since the service is keyed on a month and a day with no year. Give a month as well, or leave both empty for today. From 1 to 31.
- UTC offset for 'today' (`utc_offset`, number): Hours from UTC to decide which day 'today' is, such as -8 for California or 5.5 for India. Only used when no date is given. A workflow posting at 9am in Auckland reads yesterday's page without it. From -12.0 to 14.0. Default: `0`.
- Draw from (`category`, text): Which section to pick from. 'Anything' draws from all three, which costs three requests instead of one. One of: `events`, `births`, `deaths`, `any` (Anything). Default: `events`.
- Keyword (`keyword`, text): Only return entries mentioning this text. The linked article titles are searched as well as the sentence, which is where the names usually are. Matching ignores capitalisation.
- From year (`from_year`, number): Only return entries from this year onwards. Use a negative number for a year BC, so -509 means 509 BC. Entries whose year could not be read are left out once a range is given.
- To year (`to_year`, number): Only return entries up to and including this year.

**Outputs**

- `category` (text): Which section it was drawn from.
- `choices` (number): How many entries it picked from, after the filters.
- `date` (text): The day of the year asked about, as the service names it.
- `day` (number): The day asked about.
- `description` (text): The picked entry's text on its own, so a message template reads 'description' rather than 'fact.description'.
- `fact` (object): The entry that was picked, empty when there was nothing to pick.
- `found` (true/false): Whether there was anything to pick from. False means the date and filters matched nothing, which is an answer rather than a failure.
- `month` (number): The month asked about, 1 to 12.
- `wikipedia` (text): The Wikipedia article for that day of the year.
- `year` (number): The picked entry's year, on its own.

**Example output**

```json
{
  "category": "events",
  "choices": 123,
  "date": "February 2",
  "day": 2,
  "description": "Mexican\u2013American War: The Treaty of Guadalupe Hidalgo is signed, ending the war and ceding California, Nevada, Utah and parts of four other modern-day U.S. states to the United States.",
  "fact": {
    "category": "event",
    "description": "Mexican\u2013American War: The Treaty of Guadalupe Hidalgo is signed, ending the war and ceding California, Nevada, Utah and parts of four other modern-day U.S. states to the United States.",
    "links": [
      {
        "title": "Treaty of Guadalupe Hidalgo",
        "url": "https://wikipedia.org/wiki/Treaty of Guadalupe Hidalgo"
      }
    ],
    "wikipedia_url": "https://wikipedia.org/wiki/Treaty of Guadalupe Hidalgo",
    "year": 1848,
    "year_text": "1848",
    "years_ago": 178
  },
  "found": true,
  "month": 2,
  "wikipedia": "https://wikipedia.org/wiki/February_2",
  "year": 1848
}
```

### Get births on a date

Get who was born on a day of the year, with the year and the Wikipedia article for each. Leave the date empty for today. Narrow it to a century with a year range, or to a field with a keyword, which searches the linked article titles as well as the sentence. No API key required.

**Inputs**

- Date (`date`, text): The day of the year to look up, as a date: 2026-02-02, 2/2 or February 2 all work. Any year in it is ignored, because the service is keyed on a month and a day: asking about 2026-02-02 returns everything that ever happened on a 2 February. Leave empty to use today, or to use the month and day fields below.
- Month (`month`, number): The month to look up, 1 to 12. Give a day as well, or leave both empty for today. Ignored when a date is given above. From 1 to 12.
- Day (`day`, number): The day of the month to look up. 29 February is served like any other date, since the service is keyed on a month and a day with no year. Give a month as well, or leave both empty for today. From 1 to 31.
- UTC offset for 'today' (`utc_offset`, number): Hours from UTC to decide which day 'today' is, such as -8 for California or 5.5 for India. Only used when no date is given. A workflow posting at 9am in Auckland reads yesterday's page without it. From -12.0 to 14.0. Default: `0`.
- Keyword (`keyword`, text): Only return entries mentioning this text. The linked article titles are searched as well as the sentence, which is where the names usually are. Matching ignores capitalisation.
- From year (`from_year`, number): Only return entries from this year onwards. Use a negative number for a year BC, so -509 means 509 BC. Entries whose year could not be read are left out once a range is given.
- To year (`to_year`, number): Only return entries up to and including this year.
- Order (`order`, text): Which end of history to start at. Oldest first matches the order the service publishes; newest first puts this century at the top, which is usually what a digest wants. One of: `oldest_first` (Oldest first), `newest_first` (Newest first). Default: `oldest_first`.
- Maximum entries (`limit`, number): How many births to return at most. Leave empty for every one of them; a busy date publishes over a hundred. From 1 to 500.

**Outputs**

- `category` (text): Which section this is: always 'births'.
- `count` (number): How many entries are in the returned list.
- `date` (text): The day of the year asked about, as the service names it, e.g. 'February 2'.
- `day` (number): The day asked about.
- `descriptions` (list): Just the text of each birth, ready to put in a message.
- `entries` (list): The births, oldest first unless reordered.
- `month` (number): The month asked about, 1 to 12.
- `total` (number): How many births the service publishes for that date altogether, before any filter or limit. Zero is a real answer: some dates have no entries in a section at all.
- `wikipedia` (text): The Wikipedia article for that day of the year, which is where these entries were harvested from.

**Example output**

```json
{
  "category": "births",
  "count": 2,
  "date": "February 2",
  "day": 2,
  "descriptions": [
    "Piero di Cosimo, Italian painter (d. 1522)",
    "James Joyce, Irish novelist and poet (d. 1941)"
  ],
  "entries": [
    {
      "category": "birth",
      "description": "Piero di Cosimo, Italian painter (d. 1522)",
      "links": [
        {
          "title": "Piero di Cosimo",
          "url": "https://wikipedia.org/wiki/Piero di Cosimo"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/Piero di Cosimo",
      "year": 1462,
      "year_text": "1462",
      "years_ago": 564
    },
    {
      "category": "birth",
      "description": "James Joyce, Irish novelist and poet (d. 1941)",
      "links": [
        {
          "title": "James Joyce",
          "url": "https://wikipedia.org/wiki/James Joyce"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/James Joyce",
      "year": 1882,
      "year_text": "1882",
      "years_ago": 144
    }
  ],
  "month": 2,
  "total": 97,
  "wikipedia": "https://wikipedia.org/wiki/February_2"
}
```

### Get deaths on a date

Get who died on a day of the year, with the year and the Wikipedia article for each. Leave the date empty for today. A date whose section Wikipedia has not filled in comes back empty rather than failing the step: 2 February publishes no deaths at all. No API key required.

**Inputs**

- Date (`date`, text): The day of the year to look up, as a date: 2026-02-02, 2/2 or February 2 all work. Any year in it is ignored, because the service is keyed on a month and a day: asking about 2026-02-02 returns everything that ever happened on a 2 February. Leave empty to use today, or to use the month and day fields below.
- Month (`month`, number): The month to look up, 1 to 12. Give a day as well, or leave both empty for today. Ignored when a date is given above. From 1 to 12.
- Day (`day`, number): The day of the month to look up. 29 February is served like any other date, since the service is keyed on a month and a day with no year. Give a month as well, or leave both empty for today. From 1 to 31.
- UTC offset for 'today' (`utc_offset`, number): Hours from UTC to decide which day 'today' is, such as -8 for California or 5.5 for India. Only used when no date is given. A workflow posting at 9am in Auckland reads yesterday's page without it. From -12.0 to 14.0. Default: `0`.
- Keyword (`keyword`, text): Only return entries mentioning this text. The linked article titles are searched as well as the sentence, which is where the names usually are. Matching ignores capitalisation.
- From year (`from_year`, number): Only return entries from this year onwards. Use a negative number for a year BC, so -509 means 509 BC. Entries whose year could not be read are left out once a range is given.
- To year (`to_year`, number): Only return entries up to and including this year.
- Order (`order`, text): Which end of history to start at. Oldest first matches the order the service publishes; newest first puts this century at the top, which is usually what a digest wants. One of: `oldest_first` (Oldest first), `newest_first` (Newest first). Default: `oldest_first`.
- Maximum entries (`limit`, number): How many deaths to return at most. Leave empty for every one of them; a busy date publishes over a hundred. From 1 to 500.

**Outputs**

- `category` (text): Which section this is: always 'deaths'.
- `count` (number): How many entries are in the returned list.
- `date` (text): The day of the year asked about, as the service names it, e.g. 'February 2'.
- `day` (number): The day asked about.
- `descriptions` (list): Just the text of each death, ready to put in a message.
- `entries` (list): The deaths, oldest first unless reordered.
- `month` (number): The month asked about, 1 to 12.
- `total` (number): How many deaths the service publishes for that date altogether, before any filter or limit. Zero is a real answer: some dates have no entries in a section at all.
- `wikipedia` (text): The Wikipedia article for that day of the year, which is where these entries were harvested from.

**Example output**

```json
{
  "category": "deaths",
  "count": 1,
  "date": "February 2",
  "day": 2,
  "descriptions": [
    "Liu Chengyou, Emperor Yin of the Later Han"
  ],
  "entries": [
    {
      "category": "death",
      "description": "Liu Chengyou, Emperor Yin of the Later Han",
      "links": [
        {
          "title": "Liu Chengyou",
          "url": "https://wikipedia.org/wiki/Liu Chengyou"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/Liu Chengyou",
      "year": 951,
      "year_text": "951",
      "years_ago": 1075
    }
  ],
  "month": 2,
  "total": 1,
  "wikipedia": "https://wikipedia.org/wiki/February_2"
}
```

### Get events on a date

Get what happened on a day of the year, as Wikipedia records it: the year, what happened, and the articles it links to. Leave the date empty for today. Narrow it with a keyword or a year range, and every year comes back as a number rather than the string the service sends. No API key required.

**Inputs**

- Date (`date`, text): The day of the year to look up, as a date: 2026-02-02, 2/2 or February 2 all work. Any year in it is ignored, because the service is keyed on a month and a day: asking about 2026-02-02 returns everything that ever happened on a 2 February. Leave empty to use today, or to use the month and day fields below.
- Month (`month`, number): The month to look up, 1 to 12. Give a day as well, or leave both empty for today. Ignored when a date is given above. From 1 to 12.
- Day (`day`, number): The day of the month to look up. 29 February is served like any other date, since the service is keyed on a month and a day with no year. Give a month as well, or leave both empty for today. From 1 to 31.
- UTC offset for 'today' (`utc_offset`, number): Hours from UTC to decide which day 'today' is, such as -8 for California or 5.5 for India. Only used when no date is given. A workflow posting at 9am in Auckland reads yesterday's page without it. From -12.0 to 14.0. Default: `0`.
- Keyword (`keyword`, text): Only return entries mentioning this text. The linked article titles are searched as well as the sentence, which is where the names usually are. Matching ignores capitalisation.
- From year (`from_year`, number): Only return entries from this year onwards. Use a negative number for a year BC, so -509 means 509 BC. Entries whose year could not be read are left out once a range is given.
- To year (`to_year`, number): Only return entries up to and including this year.
- Order (`order`, text): Which end of history to start at. Oldest first matches the order the service publishes; newest first puts this century at the top, which is usually what a digest wants. One of: `oldest_first` (Oldest first), `newest_first` (Newest first). Default: `oldest_first`.
- Maximum entries (`limit`, number): How many events to return at most. Leave empty for every one of them; a busy date publishes over a hundred. From 1 to 500.

**Outputs**

- `category` (text): Which section this is: always 'events'.
- `count` (number): How many entries are in the returned list.
- `date` (text): The day of the year asked about, as the service names it, e.g. 'February 2'.
- `day` (number): The day asked about.
- `descriptions` (list): Just the text of each event, ready to put in a message.
- `entries` (list): The events, oldest first unless reordered.
- `month` (number): The month asked about, 1 to 12.
- `total` (number): How many events the service publishes for that date altogether, before any filter or limit. Zero is a real answer: some dates have no entries in a section at all.
- `wikipedia` (text): The Wikipedia article for that day of the year, which is where these entries were harvested from.

**Example output**

```json
{
  "category": "events",
  "count": 3,
  "date": "February 2",
  "day": 2,
  "descriptions": [
    "In the Battle of the Zab, the Abbasid rebels defeat the Umayyad Caliphate, leading to overthrow of the dynasty.",
    "Mexican\u2013American War: The Treaty of Guadalupe Hidalgo is signed, ending the war and ceding California, Nevada, Utah and parts of four other modern-day U.S. states to the United States.",
    "The Groundhog Day gale strikes the north-eastern United States and southern Ontario."
  ],
  "entries": [
    {
      "category": "event",
      "description": "In the Battle of the Zab, the Abbasid rebels defeat the Umayyad Caliphate, leading to overthrow of the dynasty.",
      "links": [
        {
          "title": "Battle of the Zab",
          "url": "https://wikipedia.org/wiki/Battle of the Zab"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/Battle of the Zab",
      "year": 750,
      "year_text": "750",
      "years_ago": 1276
    },
    {
      "category": "event",
      "description": "Mexican\u2013American War: The Treaty of Guadalupe Hidalgo is signed, ending the war and ceding California, Nevada, Utah and parts of four other modern-day U.S. states to the United States.",
      "links": [
        {
          "title": "Treaty of Guadalupe Hidalgo",
          "url": "https://wikipedia.org/wiki/Treaty of Guadalupe Hidalgo"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/Treaty of Guadalupe Hidalgo",
      "year": 1848,
      "year_text": "1848",
      "years_ago": 178
    },
    {
      "category": "event",
      "description": "The Groundhog Day gale strikes the north-eastern United States and southern Ontario.",
      "links": [
        {
          "title": "Groundhog Day gale of 1976",
          "url": "https://wikipedia.org/wiki/Groundhog Day gale of 1976"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/Groundhog Day gale of 1976",
      "year": 1976,
      "year_text": "1976",
      "years_ago": 50
    }
  ],
  "month": 2,
  "total": 123,
  "wikipedia": "https://wikipedia.org/wiki/February_2"
}
```

### Get round-number anniversaries

Find what turns fifty, a hundred or two hundred today: the entries on a date whose age this year divides exactly by the interval you set. The service publishes a year and never a distance from one, so this is arithmetic it cannot do. Biggest anniversary first. No API key required.

**Inputs**

- Date (`date`, text): The day of the year to look up, as a date: 2026-02-02, 2/2 or February 2 all work. Any year in it is ignored, because the service is keyed on a month and a day: asking about 2026-02-02 returns everything that ever happened on a 2 February. Leave empty to use today, or to use the month and day fields below.
- Month (`month`, number): The month to look up, 1 to 12. Give a day as well, or leave both empty for today. Ignored when a date is given above. From 1 to 12.
- Day (`day`, number): The day of the month to look up. 29 February is served like any other date, since the service is keyed on a month and a day with no year. Give a month as well, or leave both empty for today. From 1 to 31.
- UTC offset for 'today' (`utc_offset`, number): Hours from UTC to decide which day 'today' is, such as -8 for California or 5.5 for India. Only used when no date is given. A workflow posting at 9am in Auckland reads yesterday's page without it. From -12.0 to 14.0. Default: `0`.
- Anniversary interval (years) (`interval`, number): The round number to look for. The default of 25 catches the quarter, half and full centuries as well as itself; 100 catches only centenaries. From 1 to 1000. Default: `25`.
- Sections to search (`categories`, list): Which sections to look in. Each one costs a request, so narrowing to events alone is three times cheaper than the default of all three. One or more of: `events`, `births`, `deaths`.
- Keyword (`keyword`, text): Only return entries mentioning this text. The linked article titles are searched as well as the sentence, which is where the names usually are. Matching ignores capitalisation.
- Maximum entries (`limit`, number): How many anniversaries to return at most, biggest first. Leave empty for all of them. From 1 to 500.

**Outputs**

- `anniversaries` (list): The entries falling on a round anniversary, biggest first. Each carries the section it came from in 'category'.
- `categories` (list): Which sections were searched.
- `count` (number): How many anniversaries were found.
- `date` (text): The day of the year asked about, as the service names it.
- `day` (number): The day asked about.
- `descriptions` (list): Just the text of each, ready to put in a message.
- `interval` (number): The interval that was looked for.
- `month` (number): The month asked about, 1 to 12.
- `reference_year` (number): The year the anniversaries were counted to, which is the current year at the UTC offset given.
- `searched` (number): How many entries were read to find them, across every section searched.
- `wikipedia` (text): The Wikipedia article for that day of the year.

**Example output**

```json
{
  "anniversaries": [
    {
      "category": "event",
      "description": "The Groundhog Day gale strikes the north-eastern United States and southern Ontario.",
      "links": [
        {
          "title": "Groundhog Day gale of 1976",
          "url": "https://wikipedia.org/wiki/Groundhog Day gale of 1976"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/Groundhog Day gale of 1976",
      "year": 1976,
      "year_text": "1976",
      "years_ago": 50
    }
  ],
  "categories": [
    "events",
    "births",
    "deaths"
  ],
  "count": 1,
  "date": "February 2",
  "day": 2,
  "descriptions": [
    "The Groundhog Day gale strikes the north-eastern United States and southern Ontario."
  ],
  "interval": 25,
  "month": 2,
  "reference_year": 2026,
  "searched": 220,
  "wikipedia": "https://wikipedia.org/wiki/February_2"
}
```

### Get this day in history

Get the events, the births and the deaths of one date in a single step, with the full count of each. Built for a daily post or digest: three separate steps would each need the same date, and a workflow running across midnight would give two of them one day and the third another. No API key required.

**Inputs**

- Date (`date`, text): The day of the year to look up, as a date: 2026-02-02, 2/2 or February 2 all work. Any year in it is ignored, because the service is keyed on a month and a day: asking about 2026-02-02 returns everything that ever happened on a 2 February. Leave empty to use today, or to use the month and day fields below.
- Month (`month`, number): The month to look up, 1 to 12. Give a day as well, or leave both empty for today. Ignored when a date is given above. From 1 to 12.
- Day (`day`, number): The day of the month to look up. 29 February is served like any other date, since the service is keyed on a month and a day with no year. Give a month as well, or leave both empty for today. From 1 to 31.
- UTC offset for 'today' (`utc_offset`, number): Hours from UTC to decide which day 'today' is, such as -8 for California or 5.5 for India. Only used when no date is given. A workflow posting at 9am in Auckland reads yesterday's page without it. From -12.0 to 14.0. Default: `0`.
- Order (`order`, text): Which end of history to start at. Oldest first matches the order the service publishes; newest first puts this century at the top, which is usually what a digest wants. One of: `oldest_first` (Oldest first), `newest_first` (Newest first). Default: `oldest_first`.
- Maximum entries (`limit`, number): How many entries to return from each of the three sections. Leave empty for 10, which is digest-sized; the counts always describe the whole day. From 1 to 500.

**Outputs**

- `birth_count` (number): How many births it has altogether.
- `births` (list): Who was born, up to the limit asked for.
- `date` (text): The day of the year asked about, as the service names it, e.g. 'February 2'.
- `day` (number): The day asked about.
- `death_count` (number): How many deaths it has altogether. Zero is a real answer for some dates.
- `deaths` (list): Who died, up to the limit asked for.
- `event_count` (number): How many events the date has altogether, before the limit.
- `events` (list): What happened, up to the limit asked for.
- `month` (number): The month asked about, 1 to 12.
- `total_count` (number): All three counts added together.
- `wikipedia` (text): The Wikipedia article for that day of the year.

**Example output**

```json
{
  "birth_count": 97,
  "births": [
    {
      "category": "birth",
      "description": "Piero di Cosimo, Italian painter (d. 1522)",
      "links": [
        {
          "title": "Piero di Cosimo",
          "url": "https://wikipedia.org/wiki/Piero di Cosimo"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/Piero di Cosimo",
      "year": 1462,
      "year_text": "1462",
      "years_ago": 564
    },
    {
      "category": "birth",
      "description": "James Joyce, Irish novelist and poet (d. 1941)",
      "links": [
        {
          "title": "James Joyce",
          "url": "https://wikipedia.org/wiki/James Joyce"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/James Joyce",
      "year": 1882,
      "year_text": "1882",
      "years_ago": 144
    }
  ],
  "date": "February 2",
  "day": 2,
  "death_count": 0,
  "deaths": [],
  "event_count": 123,
  "events": [
    {
      "category": "event",
      "description": "In the Battle of the Zab, the Abbasid rebels defeat the Umayyad Caliphate, leading to overthrow of the dynasty.",
      "links": [
        {
          "title": "Battle of the Zab",
          "url": "https://wikipedia.org/wiki/Battle of the Zab"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/Battle of the Zab",
      "year": 750,
      "year_text": "750",
      "years_ago": 1276
    },
    {
      "category": "event",
      "description": "Mexican\u2013American War: The Treaty of Guadalupe Hidalgo is signed, ending the war and ceding California, Nevada, Utah and parts of four other modern-day U.S. states to the United States.",
      "links": [
        {
          "title": "Treaty of Guadalupe Hidalgo",
          "url": "https://wikipedia.org/wiki/Treaty of Guadalupe Hidalgo"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/Treaty of Guadalupe Hidalgo",
      "year": 1848,
      "year_text": "1848",
      "years_ago": 178
    },
    {
      "category": "event",
      "description": "The Groundhog Day gale strikes the north-eastern United States and southern Ontario.",
      "links": [
        {
          "title": "Groundhog Day gale of 1976",
          "url": "https://wikipedia.org/wiki/Groundhog Day gale of 1976"
        }
      ],
      "wikipedia_url": "https://wikipedia.org/wiki/Groundhog Day gale of 1976",
      "year": 1976,
      "year_text": "1976",
      "years_ago": 50
    }
  ],
  "month": 2,
  "total_count": 220,
  "wikipedia": "https://wikipedia.org/wiki/February_2"
}
```
