itsbaba-com Changes API

Incremental change feed for sync.

Operations 1

GET /api/v1/changes Incremental change feed #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/itsbaba-com:itsbaba-com-changes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

itsbaba-com-changes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: baba News Changes API
  version: 1.3.0
  description: 'The Israeli press as structured JSON: stories by side, running multi-day threads, what is accelerating, coverage gaps as a first-class resource, newsroom profiles and measured behaviour, the desk register, an incremental change feed, the daily brief, search, and people. Authenticate with `Authorization: Bearer nk_live_…`. Keys carry scopes: stories, sources, brief, search, people.'
servers:
- url: https://news.itsbaba.com
  description: Production
security:
- bearer: []
tags:
- name: Changes
  description: Incremental change feed for sync.
paths:
  /api/v1/changes:
    get:
      operationId: changes_list
      summary: Incremental change feed
      tags:
      - Changes
      security:
      - bearer:
        - stories
      parameters:
      - name: lang
        in: query
        description: Output language. Hebrew falls back to English per field when a row is missing.
        schema:
          type: string
          enum:
          - en
          - he
          default: en
      - name: since
        in: query
        required: true
        description: ISO 8601 instant. Runs forward in time from here. Values older than seven days are raised to seven days ago, which is as far back as cluster state is kept warm.
        schema:
          type: string
          format: date-time
      - name: limit
        in: query
        description: Page size, 1-500. Non-integer or negative values are 400; values above 500 are clamped.
        schema:
          type: integer
          minimum: 1
          maximum: 500
          default: 100
      - name: cursor
        in: query
        description: Opaque keyset cursor from a previous page nextCursor. Malformed values are 400.
        schema:
          type: string
      responses:
        '200':
          description: Success
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Requests allowed this minute. Omitted when no positive limit is known.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests left this minute. Omitted when no positive limit is known.
            X-Request-Id:
              schema:
                type: string
              description: Opaque id for this request.
            ETag:
              schema:
                type: string
              description: Body hash. Send as If-None-Match on later GETs.
            Cache-Control:
              schema:
                type: string
              description: private, max-age=60 on keyed GETs.
          content:
            application/json:
              schema:
                type: object
              example:
                data:
                - storyId: 44
                  state: consensus
                  label: null
                  missingSides: []
                  threadId: 7
                  changedAt: '2026-09-04T11:55:00.000Z'
                nextCursor: null
                checkpoint: '2026-09-04T11:55:00.000Z'
                since: '2026-09-04T00:00:00.000Z'
                lang: en
                generatedAt: '2026-09-04T12:00:00.000Z'
                limit: 100
        '304':
          description: Not modified. Same ETag and Cache-Control as 200, empty body.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Requests allowed this minute. Omitted when no positive limit is known.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests left this minute. Omitted when no positive limit is known.
            X-Request-Id:
              schema:
                type: string
              description: Opaque id for this request.
            ETag:
              schema:
                type: string
              description: Body hash. Send as If-None-Match on later GETs.
            Cache-Control:
              schema:
                type: string
              description: private, max-age=60 on keyed GETs.
        '400':
          description: Missing or invalid since, or invalid cursor or limit.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Requests allowed this minute. Omitted when no positive limit is known.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests left this minute. Omitted when no positive limit is known.
            X-Request-Id:
              schema:
                type: string
              description: Opaque id for this request.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - code
                    - message
                    properties:
                      code:
                        type: string
                        enum:
                        - unauthorized
                        - forbidden
                        - suspended
                        - rate_limited
                        - quota_exceeded
                        - not_found
                        - bad_request
                        - internal
                        - unavailable
                      message:
                        type: string
        '401':
          description: Missing or invalid API key.
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Opaque id for this request.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - code
                    - message
                    properties:
                      code:
                        type: string
                        enum:
                        - unauthorized
                        - forbidden
                        - suspended
                        - rate_limited
                        - quota_exceeded
                        - not_found
                        - bad_request
                        - internal
                        - unavailable
                      message:
                        type: string
        '403':
          description: This key cannot access this endpoint.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Requests allowed this minute. Omitted when no positive limit is known.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests left this minute. Omitted when no positive limit is known.
            X-Request-Id:
              schema:
                type: string
              description: Opaque id for this request.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - code
                    - message
                    properties:
                      code:
                        type: string
                        enum:
                        - unauthorized
                        - forbidden
                        - suspended
                        - rate_limited
                        - quota_exceeded
                        - not_found
                        - bad_request
                        - internal
                        - unavailable
                      message:
                        type: string
        '429':
          description: Rate limit or monthly quota exceeded.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Requests allowed this minute. Omitted when no positive limit is known.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests left this minute. Omitted when no positive limit is known.
            X-Request-Id:
              schema:
                type: string
              description: Opaque id for this request.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - code
                    - message
                    properties:
                      code:
                        type: string
                        enum:
                        - unauthorized
                        - forbidden
                        - suspended
                        - rate_limited
                        - quota_exceeded
                        - not_found
                        - bad_request
                        - internal
                        - unavailable
                      message:
                        type: string
        '503':
          description: The News API is temporarily unavailable.
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Opaque id for this request.
          content:
            application/json:
              schema:
                type: object
                required:
                - error
                properties:
                  error:
                    type: object
                    required:
                    - code
                    - message
                    properties:
                      code:
                        type: string
                        enum:
                        - unauthorized
                        - forbidden
                        - suspended
                        - rate_limited
                        - quota_exceeded
                        - not_found
                        - bad_request
                        - internal
                        - unavailable
                      message:
                        type: string
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: 'News API key. Live keys are `nk_live_` plus 32 base62 characters; test keys use `nk_test_`. Scopes: stories, sources, brief, search, people.'