News API reference

The Israeli press as structured JSON: stories by side, newsroom profiles, the daily brief, search, and people. Authenticate with `Authorization: Bearer nk_live_…`. Keys carry scopes: stories, sources, brief, search, people.

Base URL https://news.itsbaba.com. A machine-readable copy lives at /api/v1/openapi.json. Request access.

GET /api/v1/stories

List stories

Parameters

  • lang (query, optional). en | he. Output language. Hebrew falls back to English per field when a row is missing.
  • state (query, optional). string. Cluster state. Unknown values are ignored.
  • topic (query, optional). string. Desk id. Repeatable.
  • source (query, optional). string. Newsroom key. Repeatable.
  • since (query, optional). integer 0-30. Jerusalem calendar dates back, 0-30, today inclusive. Non-integer or negative values are 400; values above 30 are clamped to 30.
  • limit (query, optional). integer 1-100. Page size. Non-integer or negative values are 400; values above 100 are clamped to 100 and echoed as page.limit.
  • cursor (query, optional). string. Opaque keyset cursor from a previous page nextCursor. Malformed values are 400.

Example response

{
  "data": [
    {
      "id": 44,
      "url": "https://news.itsbaba.com/story/44/cabinet-approves",
      "headline": "Cabinet approves the deal",
      "summary": "Ministers voted after midnight.",
      "topic": "politics",
      "lang": "en",
      "publishedAt": "2026-09-01T08:00:00.000Z",
      "latestAt": "2026-09-01T08:00:00.000Z",
      "outlets": 3,
      "sides": {
        "centre": 2,
        "left": 1
      },
      "missingSides": [
        "haredi"
      ],
      "state": "consensus",
      "verdict": null,
      "lean": {
        "left": 1,
        "center": 2,
        "right": 0,
        "unrated": 0
      },
      "sources": [
        "ynet",
        "kan",
        "haaretz_he"
      ],
      "thread": null
    }
  ],
  "nextCursor": null,
  "lang": "en",
  "generatedAt": "2026-09-04T12:00:00.000Z",
  "limit": 40
}

GET /api/v1/stories/{ckey}

Story detail: members, timeline, framing

Parameters

  • ckey (path, required). integer
  • lang (query, optional). en | he. Output language. Hebrew falls back to English per field when a row is missing.

Example response

{
  "id": 44,
  "url": "https://news.itsbaba.com/story/44/cabinet-approves",
  "headline": "Cabinet approves the deal",
  "summary": "Ministers voted after midnight.",
  "topic": "politics",
  "lang": "en",
  "publishedAt": "2026-09-01T08:00:00.000Z",
  "latestAt": "2026-09-01T08:00:00.000Z",
  "outlets": 0,
  "sides": {
    "centre": 2,
    "left": 1
  },
  "missingSides": [
    "haredi"
  ],
  "state": "consensus",
  "verdict": null,
  "lean": {
    "left": 1,
    "center": 2,
    "right": 0,
    "unrated": 0
  },
  "sources": [
    "ynet",
    "kan",
    "haaretz_he"
  ],
  "thread": null,
  "members": [],
  "timeline": null,
  "framingNote": null
}

GET /api/v1/sources

List newsrooms

Parameters

  • lang (query, optional). en | he. Output language. Hebrew falls back to English per field when a row is missing.

Example response

{
  "data": [
    {
      "key": "ynet",
      "name": "Ynet",
      "language": "he",
      "side": "centre",
      "lean": "center",
      "place": "Rishon LeZion",
      "profile": null
    }
  ],
  "nextCursor": null,
  "lang": "en",
  "generatedAt": "2026-09-04T12:00:00.000Z"
}

GET /api/v1/sources/{key}

One newsroom, with profile when computed

Parameters

  • key (path, required). string

GET /api/v1/brief

Today in Brief

Parameters

  • lang (query, optional). en | he. Output language. Hebrew falls back to English per field when a row is missing.

Example response

{
  "lang": "en",
  "generatedAt": "2026-09-04T04:30:00.000Z",
  "intro": "Overnight.",
  "items": [
    {
      "storyUrl": "https://news.itsbaba.com/1/a-story",
      "headline": "A story",
      "text": "It happened."
    }
  ]
}

GET /api/v1/search

Search stories

Parameters

  • q (query, required). string. 2-120 characters. Matches title, summary, and entities. Search lives on /search only.
  • lang (query, optional). en | he. Output language. Hebrew falls back to English per field when a row is missing.
  • state (query, optional). string. Cluster state. Unknown values are ignored.
  • topic (query, optional). string. Desk id. Repeatable.
  • source (query, optional). string. Newsroom key. Repeatable.
  • since (query, optional). integer 0-30. Jerusalem calendar dates back, 0-30, today inclusive. Non-integer or negative values are 400; values above 30 are clamped to 30.
  • limit (query, optional). integer 1-100. Page size. Non-integer or negative values are 400; values above 100 are clamped to 100 and echoed as page.limit.
  • cursor (query, optional). string. Opaque keyset cursor from a previous page nextCursor. Malformed values are 400.

Example response

{
  "data": [
    {
      "id": 44,
      "url": "https://news.itsbaba.com/story/44/cabinet-approves",
      "headline": "Cabinet approves the deal",
      "summary": "Ministers voted after midnight.",
      "topic": "politics",
      "lang": "en",
      "publishedAt": "2026-09-01T08:00:00.000Z",
      "latestAt": "2026-09-01T08:00:00.000Z",
      "outlets": 3,
      "sides": {
        "centre": 2,
        "left": 1
      },
      "missingSides": [
        "haredi"
      ],
      "state": "consensus",
      "verdict": null,
      "lean": {
        "left": 1,
        "center": 2,
        "right": 0,
        "unrated": 0
      },
      "sources": [
        "ynet",
        "kan",
        "haaretz_he"
      ],
      "thread": null
    }
  ],
  "nextCursor": null,
  "lang": "en",
  "generatedAt": "2026-09-04T12:00:00.000Z",
  "limit": 40
}

GET /api/v1/people

People in the last 24 hours

Parameters

  • lang (query, optional). en | he. Output language. Hebrew falls back to English per field when a row is missing.

Example response

{
  "data": [
    {
      "name": "A person",
      "canonicalName": null,
      "role": null,
      "avatarUrl": null,
      "mentions": 4
    }
  ],
  "nextCursor": null,
  "lang": "en",
  "generatedAt": "2026-09-04T12:00:00.000Z"
}

GET /api/v1/openapi.json

This OpenAPI document