# getChangelog

Read the public Linked API changelog from code – the releases since a date you choose, with no token required.

This function reads the public [Linked API changelog](/changelog): what was released and when. Use it to learn what is new since you last checked, or whether something you need has shipped. It is exported from the package root and needs no client and no token.

```typescript
import { getChangelog } from '@linkedapi/node';

try {
  // Releases for the week of October 1, 2026 and later
  const changelog = await getChangelog({ since: '2026-10-01' });

  for (const release of changelog.entries) {
    console.log(release.date);
    for (const item of release.items) {
      console.log(`  ${item.title}: https://linkedapi.io${item.docs}`);
    }
  }
} catch (e) {
  // A plain Error carrying the server's message, e.g. for an invalid since
  console.error('Could not read the changelog:', e);
}
```

```python
from linkedapi import LinkedApiError, get_changelog

try:
    # Releases for the week of October 1, 2026 and later
    changelog = get_changelog("2026-10-01")

    for release in changelog.entries:
        print(release.date)
        for item in release.items:
            print(f"  {item.title}: https://linkedapi.io{item.docs}")
except LinkedApiError as e:
    print(f"Could not read the changelog: {e.message}")
```

## Params

- `since` – optional. Return only the releases for the week containing this point and later. Either an ISO 8601 date, such as `2026-10-01`, or an instant with a time zone, such as `2026-10-01T12:00:00Z`. Node also accepts a `Date`; Python accepts a `date` or a timezone-aware `datetime`. Omit it to get the whole changelog.

In Node, `since` is a field of the options object; in Python, it is the first argument.

## Data

- `since` – the `since` you passed, or `null` when you passed none.
- `count` – the number of releases returned.
- `entries` – the releases, newest first. Each has:
  - `date` – the Monday of the release's week, as `YYYY-MM-DD`;
  - `items` – what shipped, each with a `title`, a `body` and `docs`, the path of its documentation on `https://linkedapi.io`.

## Releases are weekly

A release covers a week and is dated by its Monday. It counts as shipped at the end of that week, so `since` returns every release whose week ends after it – including the week `since` falls in, even when its date is a few days earlier. That way a check in the middle of a week never misses what ships later the same week.

The price is that a later check in the same week returns that release again, and items can be added to it during its week. Deduplicate releases by `date`, and keep the copy you received last.

## Errors

- **Node** – throws a plain `Error`, not a `LinkedApiError`, with the server's message when the response is not `2xx` – for example, an invalid `since`. A network failure is thrown as the underlying `fetch` error.
- **Python** – raises a `LinkedApiError` of type `httpError`, both for a non-`2xx` response, with the server's message, and for a network failure.

The same changelog is available from the terminal with [`linkedin changelog`](/cli/getting-started#changelog) and to AI agents through the MCP tool [`get_changelog`](/mcp/available-tools#other-tools).
