Use case · News analysis

Read every article from every angle: sentiment, impact, topics

Ask the same fixed questions of every article, for every company, asset or topic you follow, and get calibrated probabilities you can aggregate into daily signals. The article is read once for all of them.

Read the quickstart
On demand · self-serve

$0.09 per million input tokens · the scores are free

Why spinf

Calibrated answers for news analysis, at any scale

Many questions, one read

Sentiment toward each company, the expected impact, the topic, the events reported: all answered in one pass over the article. Placeholders ask the same question for every entity.

Calibrated, comparable scores

Every answer comes with its empty-content floor, so a score means the same across questions, sources and years. That is what makes daily aggregates stable.

Priced for archives

Backfill years of news for the price of a few model calls elsewhere: only the input is billed, and each question costs only its own tokens.

Live example

One article, three kinds of questions

Sentiment per company with a placeholder, and two yes/no event questions. The bars show p; the tick shows the floor, the same question asked with no article.

Content
Northwind Motors shares fell 8% on Tuesday after the carmaker cut its full-year delivery target, citing a shortage of battery cells at its Nevada plant. Its cell supplier, Voltra, said it expects to restore full output by the end of the quarter.
For {company}, this news is (positive, neutral, or negative):
Northwind Motors

positive

0.19

neutral

0.44

negative

0.36

Voltra

positive

0.41

neutral

0.43

negative

0.17

Does the article report a production or supply problem?

yes

0.85

no

0.15

Does the article report a change in guidance or targets?

yes

0.93

no

0.07

import os
import requests

resp = requests.post(
    "https://api.spinf.com/v1/score",
    headers={"Authorization": f"Bearer {os.environ['SPINF_API_KEY']}"},
    json={
      "model": "spinf-12b",
      "messages": [
        {
          "role": "user",
          "content": "Northwind Motors shares fell 8% on Tuesday after the carmaker cut its full-year delivery target, citing a shortage of battery cells at its Nevada plant. Its cell supplier, Voltra, said it expects to restore full output by the end of the quarter."
        }
      ],
      "scoring": {
        "queries": [
          {
            "id": "sentiment",
            "template": "\n\nFor {company}, this news is (positive, neutral, or negative):{?}",
            "options": [
              " positive",
              " neutral",
              " negative"
            ],
            "combinations": [
              {
                "company": "Northwind Motors"
              },
              {
                "company": "Voltra"
              }
            ]
          },
          {
            "id": "supply_problem",
            "template": "\n\nDoes the article report a production or supply problem?\nAnswer:{?}",
            "options": [
              " yes",
              " no"
            ]
          },
          {
            "id": "guidance_change",
            "template": "\n\nDoes the article report a change in guidance or targets?\nAnswer:{?}",
            "options": [
              " yes",
              " no"
            ]
          }
        ]
      }
    },
)
for query in resp.json()["results"][0]["queries"]:
    for combo in query["combinations"]:
        print(query["id"], combo["values"], [(o["text"], o["p"], o["floor_p"]) for o in combo["options"]])

Read the lift over the floor, not only the largest bar: for Northwind, "negative" is the answer the article raises most above the floor, while the largest raw bar, "neutral", is lifted less. Simple yes/no questions about events give the clearest reads.

In production · Thinking Text

Daily oil and equity indexes built on these reads

Thinking Text asks about five hundred fixed questions of every oil article and aggregates the answers into a daily read of the press. Not a forecast: a measured read of what the news says.

15M
news articles
five years, 2022–2026
~1T
tokens processed
across research iterations
0.85
correlation with crude
best year · 0.80 pooled on WTI
92%
of big 20-day moves
read in the right direction

Figures from the Thinking Text oil index, published daily with its score card.

Read the Thinking Text story
Benchmark · 108 test articles

Sentiment per company and events, measured

Measured on 108 synthetic news articles about fictional companies (255 company mentions), labelled by two reviewers, zero-shot and with 4 or 8 labelled example articles placed in the prompt.

95%
correct sentiment per company
255 mentions · 8 examples in the prompt · 76% zero-shot
98%
correct · supply problem?
108 articles · 8 examples · AUC 1.00
99%
correct · guidance change?
108 articles · 8 examples · 98% zero-shot
94%
correct main topic (5)
108 articles · 8 examples · 88% zero-shot, calibrated

Synthetic articles are cleaner than real news. On public financial-news posts (short and informal, 300 items), sentiment accuracy was 74% with 4 examples: test on a sample of your own sources.

How it works

From questions to numbers

Self-serve on the on-demand API: sign up, create a key and send your first batch in minutes.

1

Write the questions

Plain-language templates with the answers you want scored: sentiment toward {company}, impact, topic, the events you track. Test them on a few hundred articles.

2

Backfill the archive

Send articles in batches with many inputs per call. Years of news run on the on-demand API; for the largest projects we also take files in bulk.

3

Aggregate into signals

Remove the floor, place each score on its own history, and combine per day, per entity and per source. Then compare with prices, flows or outcomes.

Cost at scale

1M articles for about $117

Only input is billed, at $0.09 per million tokens: the content once per call, each question's own tokens, and one empty floor per question. The scores are free.

articles1,000,000× tokens each (about)1,300= tokens1.3B× $0.09 / 1M$117.00

Assumes 800-token articles, 20 questions of about 25 tokens each. The first 50M tokens are free.

Pricing details
FAQ

News analysis: questions, answered

More in the docs, or .

It is broader: you write the questions. Sentiment toward each company is one of them, next to impact, topics, events and anything else your analysts would ask. Each question returns the probability of each of your answers.

spinf returns the floor of each answer (the same question with empty content). Subtract it, then rank each score against the same question over a baseline of articles. The Calibration guide in the docs shows how.

Yes. The Thinking Text indexes were built on 15 million articles and about a trillion tokens across research iterations. For projects over a trillion tokens we also offer dedicated deployments and file-based batch.

Yes. A placeholder such as {company} asks the same question for every name you list, up to a thousand values per question, all over one read of the article.

No. Content sent for scoring is processed in memory and not stored by default, and it is never used to train models.
Try it on your data

The first 50M tokens are on us

Sign up, create a key and score your first batch in minutes.