itsbaba-com Search API

Headline and entity search.

Operations 1

GET /api/v1/search Search stories #

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-search-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-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: baba News Search 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: Search
  description: Headline and entity search.
paths:
  /api/v1/search:
    get:
      operationId: search_list
      summary: Search stories
      tags:
      - Search
      security:
      - bearer:
        - search
      parameters:
      - name: q
        in: query
        required: true
        description: 2-120 characters. Matches title, summary, and entities. Search lives on /search only.
        schema:
          type: string
          minLength: 2
          maxLength: 120
      - 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: state
        in: query
        description: Cluster state. Unknown values are ignored.
        schema:
          type: string
      - name: topic
        in: query
        description: Desk id. Repeatable.
        schema:
          type: string
      - name: source
        in: query
        description: Newsroom key. Repeatable.
        schema:
          type: string
      - name: since
        in: query
        description: Jerusalem calendar dates back, 0-30, today inclusive. Non-integer or negative values are 400; values above 30 are clamped to 30.
        schema:
          type: integer
          minimum: 0
          maximum: 30
      - name: limit
        in: query
        description: Page size. Non-integer or negative values are 400; values above 100 are clamped to 100 and echoed as page.limit.
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 40
      - 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:
                - 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
                  updatedAt: null
                nextCursor: null
                lang: en
                generatedAt: '2026-09-04T12:00:00.000Z'
                limit: 40
        '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: Invalid cursor, since, or limit, or q outside 2-120 characters.
          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.'