{
  "openapi": "3.1.0",
  "info": {
    "title": "NoJunk News Search",
    "version": "1.0.0",
    "description": "Live news search for AI agents: up to 20 recent articles for any query with headline, publisher, publish time, snippet and direct article link, newest first, de-duplicated. Filter by how many days back (1-30) and language/region (en-us, de-de, ...). Sources: Bing News, with Google News and GDELT as backups. No results, no charge.",
    "x-guidance": "POST /news {\"q\":\"bitcoin ETF\",\"count\":10,\"days\":7} or GET /news?q=bitcoin+ETF. $0.002 USDC on Base via x402; invalid input, no results and outages are not charged."
  },
  "servers": [
    {
      "url": "https://nojunk-news-search.mick8511.workers.dev"
    }
  ],
  "paths": {
    "/sample": {
      "get": {
        "operationId": "sampleNews",
        "summary": "Free example (static)",
        "responses": {
          "200": {
            "description": "Example"
          }
        }
      }
    },
    "/news": {
      "post": {
        "operationId": "newsSearch",
        "summary": "Recent news articles for a query",
        "tags": [
          "Search",
          "News"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "q": {
                    "type": "string"
                  },
                  "count": {
                    "type": "integer"
                  },
                  "days": {
                    "type": "integer"
                  },
                  "lang": {
                    "type": "string"
                  }
                },
                "required": [
                  "q"
                ]
              },
              "example": {
                "q": "bitcoin ETF",
                "count": 1,
                "days": 3
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "News results",
            "content": {
              "application/json": {
                "example": {
                  "query": "bitcoin ETF",
                  "count": 1,
                  "days": 3,
                  "lang": "en-us",
                  "results": [
                    {
                      "title": "Bitcoin Analysis: BTC Slipped Below $80,000 Again. Is $77,600 the Next Stop?",
                      "url": "https://247wallst.com/investing/cryptocurrency/2026/10/25/bitcoin-analysis-btc-slipped-below-80000-again-is-77600-the-next-stop/",
                      "source": "24/7 Wall St.",
                      "published_at": "2026-10-25T10:32:00.000Z",
                      "snippet": "Bitcoin slipped below $80,000 again amid Iran fears and ETF outflows. Could BTC test $77,600, the next cost-basis level?"
                    }
                  ],
                  "sources_used": [
                    "bing"
                  ]
                }
              }
            }
          },
          "402": {
            "description": "Payment Required (x402 v2 challenge in the PAYMENT-REQUIRED header)"
          },
          "404": {
            "description": "No news found (not charged)"
          }
        }
      },
      "get": {
        "operationId": "newsSearchGet",
        "summary": "Recent news articles for a query",
        "tags": [
          "Search",
          "News"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "days",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "News results",
            "content": {
              "application/json": {
                "example": {
                  "query": "bitcoin ETF",
                  "count": 1,
                  "days": 3,
                  "lang": "en-us",
                  "results": [
                    {
                      "title": "Bitcoin Analysis: BTC Slipped Below $80,000 Again. Is $77,600 the Next Stop?",
                      "url": "https://247wallst.com/investing/cryptocurrency/2026/10/25/bitcoin-analysis-btc-slipped-below-80000-again-is-77600-the-next-stop/",
                      "source": "24/7 Wall St.",
                      "published_at": "2026-10-25T10:32:00.000Z",
                      "snippet": "Bitcoin slipped below $80,000 again amid Iran fears and ETF outflows. Could BTC test $77,600, the next cost-basis level?"
                    }
                  ],
                  "sources_used": [
                    "bing"
                  ]
                }
              }
            }
          },
          "402": {
            "description": "Payment Required (x402 v2 challenge in the PAYMENT-REQUIRED header)"
          },
          "404": {
            "description": "No news found (not charged)"
          }
        }
      }
    }
  }
}