Skip to content
InsighthreadInsighthread News API
Esc
navigateopen⌘Jpreview
Sign in
On this page

GET /v1/news

The main news feed endpoint — filter by ticker, event type, or both, and page through results with a cursor.

Returns a page of news articles, newest first. This is the core endpoint of the API.

Request

GET /v1/news
Authorization: Bearer <key>

Query parameters

Parameter Type Default Description
limit number 10 Articles per page. Clamped to a maximum of 50.
cursor string Opaque cursor from a previous response’s pagination.next_cursor. Omit for the first page.
event_type / event_types string Filter to one event category. Accepts a slug (legal-action) or the raw label (Legal Action).
ticker / tickers string Filter to one or more tickers. Comma-separated for multiple (AAPL,MSFT), case-insensitive.

event_type and ticker filters can be combined — e.g. event_type=corporate-earnings&ticker=AAPL returns only AAPL earnings news.

curl "https://newsapi.insighthread.com/api/v1/news?limit=10" \
  -H "Authorization: Bearer ik_test_xxxxxxxxxxxxxxxx"
curl "https://newsapi.insighthread.com/api/v1/news?ticker=AAPL&limit=5" \
  -H "Authorization: Bearer ik_test_xxxxxxxxxxxxxxxx"
curl "https://newsapi.insighthread.com/api/v1/news?event_type=legal-action" \
  -H "Authorization: Bearer ik_test_xxxxxxxxxxxxxxxx"
curl "https://newsapi.insighthread.com/api/v1/news?tickers=AAPL,MSFT,TSLA" \
  -H "Authorization: Bearer ik_test_xxxxxxxxxxxxxxxx"

Response

200 OK

{
  "count": 2,
  "pagination": {
    "next_cursor": "eyJwdWJsaXNoZWRfYXQiOi4uLn0",
    "has_more": true
  },
  "data": [
    {
      "id": 48213,
      "ticker": "AAPL",
      "company_name": "Apple Inc.",
      "event_types": ["Corporate Earnings"],
      "headline": "AAPL beats Q4 earnings expectations",
      "summary": "AAPL reported Q4 revenue of $X.X billion, beating analyst consensus by 5%. Adjusted EPS came in at $1.20 vs. $1.05 estimate.",
      "published_at": "2026-08-20T14:32:00.000Z",
      "source": { "name": "Reuters", "url": "https://example.com/article" },
      "impact": { "direction": "positive", "confidence": 87, "signal_strength": 5 },
      "market": { "price": 231.45, "change": 3.12, "change_percentage": 1.37 }
    }
  ]
}

Fields

Field Type Description
count number Number of articles in this page.
pagination.next_cursor string | null Pass as cursor to fetch the next page. null when there’s no more data.
pagination.has_more boolean Whether another page exists.
data[].id number Article ID.
data[].ticker string | null Primary ticker the article is about.
data[].company_name string | null Company name.
data[].event_types string[] One or more event category labels.
data[].headline string Article headline.
data[].summary string | null Plain-text summary (Markdown emphasis stripped).
data[].published_at string (ISO 8601) Publish timestamp.
data[].source.name string | null Publisher name.
data[].source.url string | null Link to the original article.
data[].impact.direction "positive" | "negative" | "neutral" Sentiment direction.
data[].impact.confidence number 0–100 confidence score.
data[].impact.signal_strength number 1–5 bars derived from confidence — a quick-glance strength indicator.
data[].market.price number | null Price at time of publish.
data[].market.change number | null Absolute price change.
data[].market.change_percentage number | null Percentage price change.

Pagination

Use pagination.next_cursor from a response as the cursor on your next request to continue from where you left off:

curl "https://newsapi.insighthread.com/api/v1/news?limit=10&cursor=eyJwdWJsaXNoZWRfYXQiOi4uLn0" \
  -H "Authorization: Bearer ik_test_xxxxxxxxxxxxxxxx"

Stop paging once pagination.has_more is false.

Test vs. live keys

With a test key (ik_test_...), this endpoint returns deterministic sample data — 5 fixed tickers (AAPL, MSFT, GOOGL, TSLA, NVDA) with realistic articles — and honors all the same filters and pagination, so client code behaves identically once you switch to a live key. Test responses include an X-Key-Type: test header.

Errors

Type Status Cause
unauthorized 401 Missing or invalid API key.
invalid_request 400 event_type doesn’t match any known category — response includes valid_event_types.
server_error 502 Upstream data fetch failed.

See Errors for the full shape.

Last updated on August 24, 2026

Was this page helpful?