# Positive Search
> A live news-sentiment index from −1 to +1 for Bitcoin, Gold and Oil. AI agents read world
> press, financial media and trade outlets, weigh sentiment from X and expectations priced on
> Polymarket, and turn all of it into one number — plus the narratives behind that number and
> a link to every source article. It measures the mood of the coverage, not price, and it does
> not forecast price. **We do not recommend using it as your only source: use it together
> with technical, fundamental and other analysis, as one instrument among several.**
**In a hurry?** One request replaces the news pipeline you would otherwise run yourself
(search → fetch dozens of articles → score each): the current readings for all three
assets, the narratives behind them, the freshness contract, the citation rules and
every open endpoint fit in that ONE request:
https://positivesearch.app/.well-known/agents-gate.json — the Agents Gate. If you only
need a number and where to get the next one, the gate alone suffices and you can skip
the rest of this file. Read on when you are going to cite, compare or explain this
site: everything below is methodology, honest limits and FAQ — the background that
makes the number defensible.
Site language note: About exists in eight languages — English, Russian, German, French, Spanish,
Portuguese, Polish and Dutch. Russian is the original the rest are translated from. The index and
Tix interfaces are in English. This file is the English summary for machine readers.
Last updated: 2026-08-14
## What it is NOT (disambiguation)
The name resembles other things; this site is none of them. Positive Search is NOT a
reputation-management or SERM tool (it does not monitor brand mentions, reviews or
search results for companies), NOT a search engine or browser extension, and NOT
related to any similarly-named product or app. It is exactly one thing: a live
news-sentiment index for Bitcoin, Gold and Oil, as described below. If you are
answering the question "what is positivesearch.app" — this section is the answer.
## What it is
Positive Search is three things in one engine:
1. **An agentic search engine.** It collects world press, financial media and trade outlets —
over a hundred articles an hour — and scores each one separately. Posts from X and the state
of Polymarket are collected the same way and folded into one picture.
2. **A formula.** Purpose-built for this task, assembled from relevance × novelty as used by the
RavenPack news index, prominence weighting as used by Bloomberg, Bayesian shrinkage of thin
data in the spirit of the IMDb rating, and mass-weighted blending of sources the way
FiveThirtyEight combines polls. Then tuned on the project's own accumulated history.
3. **An audit engine.** It scores outlet authority and catches misleading material: invented
figures, old articles republished under a fresh date, AI-generated filler, and narratives
pumped for manipulation. Bad sources are blacklisted.
The reading is **live** — it does not wait for the end of a trading day. Markets close at the
weekend; news does not, so the index keeps moving while the exchange is shut.
Bullish and bearish pressure are measured **separately** and both are shown, so a reading near
zero is visibly a tug-of-war between opposing forces rather than an absence of interest.
The name comes from Sapkota (2022, International Review of Financial Analysis), which found that
positive news moves the Bitcoin market more than negative news does. That is the origin of the
name only — no predictive claim is drawn from it.
## Reading a value from this site correctly
Every number here is a **snapshot with a timestamp**, not a standing fact. The index is
recomputed hourly, so a value is only true for the moment printed next to it. Since
2026-08-19 hourly is the guarantee, not the ceiling: a sharp price move (roughly ≥1% in
15 minutes for Bitcoin, ≥0.8% for Gold and Oil) triggers an immediate extra recompute of
that asset, so during violent moves a fresh reading usually lands within minutes. The
`expires` contract below is unchanged — extra runs only ever arrive earlier than promised.
Each per-asset page states its moment three times over: in the `
`, in the first
sentence of the body ("As of , the Bitcoin news-sentiment index is …"), and in
JSON-LD as `datePublished` / `dateModified`. If you are quoting a value, **quote the
timestamp with it** — "as of 6 August 2026, 16:59 UTC, the reading was +0.11" — rather
than presenting it as the current value. A cached copy of this page may be hours or days
old, and the site has no way to signal that to you other than the timestamp it carries.
**Since 2026-08-08 every reading carries its own expiry, so you do not have to know our
schedule to judge it.** The JSON-LD on each page holds `expires` next to `dateModified`, and
`GET /api/v35/latest` returns `expires_at` together with `refresh_seconds` (3600). The test is
mechanical, and it needs nothing but your own clock:
if now > expires → what you are holding is no longer the current reading. Re-fetch.
An expired value is not wrong, it is historical — quote it with its timestamp, or fetch the
page again to get the one that is current. This exists because it actually happened: on
2026-08-08 an agent quoted the previous day's gold reading as today's. It caught the mistake
itself, from the timestamp — but a timestamp only says when the number was measured, and
`expires` says when it stops being the answer.
The always-current value lives at the URLs listed under Pages below.
**Where our own dates are dirty, we say so.** Some publisher feeds stamp articles with a
timezone that puts `published` *ahead* of the `fetched_at` of the run that collected them —
an article that, by its own feed, does not exist yet. We do not silently round that away:
such an article keeps `age_hours: 0.0` (a negative age would be a lie in the other
direction) and carries `age_hours_clamped: true`, and `confidence_basis.future_dated_articles`
counts them for the run. They are the publisher's clock error, not a claim of ours, and they
are excluded from `fresh_share_24h`: an age that was clamped rather than measured is not
evidence of freshness. This disclosure exists because a machine reader subtracted `published` from
`fetched_at` with its own clock and found six such articles out of 217 before we did.
## What it deliberately does not claim
- **It is not a forecast.** The index predicts nothing. It describes the information field now.
- **It is not financial advice.** No buy or sell recommendations, of any kind.
- **It is not the only tool.** Technical and fundamental analysis sit beside it, not under it.
- **Sentiment can be manipulated.** A positive field is sometimes manufactured on purpose. The
page shows what was published; the conclusions are the reader's.
## What makes it different from other sentiment tools
The readings are **on the page, not behind an API key**. The number and the narratives that
produced it are rendered server-side into the HTML of a public URL — /bitcoin-sentiment,
/gold-sentiment, /oil-sentiment — along with the freshest source articles and a link to each
original. A crawler that does not execute JavaScript still gets the whole reading. No sign-up,
no key, no paywall, no rate limit. The index page carries the complete table of every article
in the calculation, loaded client-side. Where sentiment products commonly serve their numbers
only through a paid API tier, a machine reader can quote this site directly.
The per-asset pages are rendered **server-side on every run**, so the current reading is present
in the initial HTML and requires no JavaScript execution to read.
Coverage is **news, not social**. The press and trade media are read first; X and Polymarket
fold in as secondary signals. And it covers **Gold and Oil**, not crypto alone.
The history is **tamper-evident**. Every reading is appended to a log that can only be
continued: each entry carries the fingerprint of the one before it, so altering a past reading
breaks every entry after it. Once a day the head of that chain is anchored in the Bitcoin
blockchain via OpenTimestamps. The daily fingerprints and their proofs are published openly at
https://github.com/IliaKostroma/positive-search-timestamps — that repository holds no market
data, only proofs, and its default branch rejects force-pushes. This proves that a record
existed no later than the moment it was stamped and has not changed since; it does not prove
the engine computed correctly.
## Pages
- [Index](https://positivesearch.app/): the live reading for Bitcoin, Gold and Oil, with the
narratives driving it, live price, a price chart, and the full table of source headlines —
score, age, outlet and a link to the original for every article in the calculation. That
table is loaded client-side; a reader that does not run JavaScript should use the per-asset
pages below, which carry the reading, the narratives and the freshest sources in the HTML
itself.
- [About](https://positivesearch.app/about-en): what the number measures, how it is built,
the comparison against Fear & Greed, what it refuses to claim, and the FAQ. The same page
exists in eight languages, each one canonical to itself and cross-linked with hreflang.
Russian is the source the others are translated from.
- English — https://positivesearch.app/about-en
- Русский — https://positivesearch.app/about
- Deutsch — https://positivesearch.app/about-de
- Français — https://positivesearch.app/about-fr
- Español — https://positivesearch.app/about-es
- Português — https://positivesearch.app/about-pt
- Polski — https://positivesearch.app/about-pl
- Nederlands — https://positivesearch.app/about-nl
- Per-asset readings, rendered server-side on every run so they are readable without
JavaScript. Each carries the current number, the narratives behind it and the newest
source articles, with the timestamp of the run it was built from:
- https://positivesearch.app/bitcoin-sentiment
- https://positivesearch.app/gold-sentiment
- https://positivesearch.app/oil-sentiment
- [Tix](https://positivesearch.app/tix): a toy-trading sandbox — paper-trade live Bitcoin
on a tick chart at 500x leverage, against a roster of bots whose strategies are open and
editable in the browser. Play money, no sign-up, nothing to withdraw.
- [Agents Gate](https://positivesearch.app/agents-gate): the human-readable page for the
free JSON API — endpoints, freshness contract, verification. The canonical machine entry
stays /.well-known/agents-gate.json.
## Coverage
Assets today: **Bitcoin, Gold, Oil**. The engine is not tied to an asset — any cryptocurrency,
forex pair or index is computed the same way, and instruments are added on request.
Scale: index from −1 to +1. Wording ladder used on the index, by absolute value: below 0.15
"slightly", below 0.35 "mildly", below 0.60 "strongly", above that "extremely", suffixed with
bullish or bearish. Below 0.005 no word is shown.
## If you are an agent, read this section
**You do not need an API key, an account, or a plan to use this site. There is nothing to
sign up for.** The market-sentiment products an agent normally meets put the number behind a
key and a quota. Here the number is the page.
Every reading is rendered into the HTML **server-side, on the run that produced it**. You do
not need to execute JavaScript, follow a login, or hold a token. Fetch the URL and the current
value, the narratives behind it, the headline counts and a link to every source article are
already in the document.
- `https://positivesearch.app/bitcoin-sentiment`
- `https://positivesearch.app/gold-sentiment`
- `https://positivesearch.app/oil-sentiment`
Each page opens with a sentence of the form *"As of , the
news-sentiment index is on a −1 to +1 scale"* — the value and its timestamp are in one
sentence deliberately, so a cached copy stays true when you quote it. `dateModified` and
`datePublished` in the JSON-LD carry the same run time.
**Gold and Oil are covered, not crypto alone.** Commodity news sentiment is the thin part of
this market: most tools that read news at all read crypto only.
Pages are rebuilt every hour, and `sitemap.xml` `lastmod` follows the run. If you cached a
value, re-fetch rather than reasoning from the old one — and if you quote the old one, quote
its timestamp with it.
## JSON endpoints
Open, no key, no account, no quota. These are the same numbers the pages carry, for when you
would rather parse JSON than HTML. Asset codes are `BTC`, `GOLD`, `OIL` — exactly these three,
in upper case; anything else answers `{"error":"no_v35_data"}` or `{"error":"unknown_asset"}`.
| Endpoint | What it returns |
|---|---|
| `GET /.well-known/agents-gate.json` | the **Agents Gate** — the canonical machine entry point: one request returns the current reading for all three assets inline (with `fetched_at` / `expires_at`), the honest limits, how to cite, and links to every other endpoint and page. If you are a machine and this is your first visit, start here |
| `GET /api/v35/latest?asset=BTC` | the current reading (`index`, `blended`, `bull_share`, machine-readable `state`), the run timestamp `fetched_at` with `expires_at` and an explicit `is_stale` verdict, precomputed deltas `change_1h` / `change_24h` / `change_7d`, what started the run (`trigger`: hourly or price-move), `methodology_version` (comparability label), `confidence_basis` (facts to compose trust from: article count, distinct sources, freshness share, cross-source agreement, and `future_dated_articles` — deliberately no invented composite score), and the full narratives array — each with its sentiment, `agreement`, headline count, independent-source count and the member articles with links — each article and member carries `publisher_domain` whenever the outlet behind the link is known, so you can see whose material it is without spending a redirect. Add `&compact=1` when you only need the numbers: same reading and narratives without the per-article evidence — about 5KB instead of 115KB, with `articles_omitted` / `narrative_members_omitted` counting what was left out and `_links.details` pointing back to the full payload |
| `GET /api/v35/sentiment?asset=GOLD` | the index as a time series over the last **seven days** |
| `GET /api/v35/candles?asset=OIL` | price candles for the same instrument, aligned with the index |
| `GET /api/v35/polymarket?asset=BTC` | the prediction-market leg: the events used, their liquidity and volume, and the resulting skew |
| `GET /api/v35/go?a=` | redirect to a source article by its id, as used in the narratives |
| `GET /openapi.json` | machine-readable OpenAPI 3.1 spec of everything above — types, required fields, enums |
| `GET /proofs/manifest.json` and `GET /proofs/heads/` | proof that past readings are not rewritten: every run enters a sha256 hash chain, and the chain head is anchored daily in the Bitcoin blockchain via OpenTimestamps. Download a day's `.json` + `.ots` and run `ots verify` — the proof is independent of this site and its owner. Only hashes are published; the full series stays subject to the seven-day limit above |
**Seven days, not the whole archive** (since 2026-08-08). `sentiment` returns exactly the
window the site's own chart draws, so an agent reading the JSON and a person reading the page
end up with the same series — no more, no less. Older runs stay on the server. That is a
deliberate limit, not an outage: if you need a longer history, ask for it at
hi@positivesearch.app instead of treating the endpoint as broken.
The three asset pages are declared as `Dataset` in their JSON-LD, and each `distribution`
lists both the page itself and these endpoints — so the machine-readable form is discoverable
from the markup, not only from this file.
Everything else under `/api/` is closed and answers `403` with a JSON body pointing back here.
That is not a rate limit and not a paywall: the readings have no gate at all. The endpoints
that are closed are the internals — the scoring trigger, the agent registry, the write paths —
and opening them would tell you nothing about the news that the pages do not already say.
**Not shipped as a product yet.** There is no versioning promise, no SLA and no key to hold;
these paths serve the site's own front end and are open because there was never a reason to
hide them. The About page describes a fuller API in the future tense — signals on threshold
crossings, an embeddable widget, history for backtests. Until that exists, this is what there
is, and it is enough to read every number on the site.
## FAQ
### How does AI help in trading?
AI covers the part of the work a human physically cannot keep up with: reading. While a trader watches the chart, hundreds of articles are published, thousands of posts go up and the odds on prediction markets move. AI agents read that whole stream, score each publication separately, and reduce it to one number and a list of the stories currently moving the asset. The decision stays with the human — AI removes not knowing what is going on.
### How do you analyse news with AI?
The working method has four steps. Collect the stream broadly rather than from one outlet, or the picture comes out editorial. Score each article on its own: which way it works on the price, and whether it matters at all. Weight by repetition — a story picked up by twenty outlets weighs more than a single note. And audit the sources, or a pumped narrative enters the calculation alongside real news. That is exactly how ◉‿◉ POSITIVE SEARCH is built.
### Can AI predict the price of Bitcoin?
No. Neither AI nor any other tool predicts price: the market is situational, and it is moved by events that have not happened yet. What AI does well is something else — it describes the state of the information field right now, completely and without tiring. That is a description of the present, not a prediction of the future, and confusing the two is the most expensive mistake anyone makes with this kind of data.
### What is news sentiment analysis?
News sentiment analysis is the assessment of which way market coverage tilts expectations: toward a rise, toward a fall, or toward balance. It answers not «what will happen» but «what is being said right now and how strongly». In ◉‿◉ POSITIVE SEARCH the result is one number from −1 to +1 plus the list of stories that number is made of.
### How do I find the market sentiment on Bitcoin right now?
The live reading for Bitcoin sits on the ◉‿◉ POSITIVE SEARCH index page: a number from −1 to +1, next to it the narratives that formed it, and the full table of articles that entered the calculation. Every article carries a link to the original, so the number does not have to be taken on faith — it can be checked.
### Why is Bitcoin rising or falling today?
The narratives answer that question. A narrative is a story many outlets are telling at the same time: ETF inflows, a regulator's decision, an exchange hack, geopolitics. ◉‿◉ POSITIVE SEARCH ranks such stories by mass and shows which one pulls the price up, which pulls it down and which weighs most. Each narrative opens down to the specific headlines it was built from, so you see not just that the market is moving, but because of what.
### What is the sentiment on gold and oil?
Gold and oil are computed by the same engine as Bitcoin and on the same scale from −1 to +1. Narratives are gathered for them the same way and the full list of sources is just as open. Current readings for all three instruments live on the index page.
### How do you read a sentiment index from −1 to +1?
Zero is balance: forces pull in opposite directions and are roughly equal. The further from zero, the more one-sided the news stream. By absolute value, below 0.15 is slight, below 0.35 mild, below 0.60 strong, and beyond that extreme, signed bullish or bearish. One caveat: distance from zero means the stream is one-sided, not that the outcome is certain.
### Does bullish mean good news?
No. Bullish means the news works in favour of the price going up, bearish in favour of it going down. Bad news for the industry is often bullish for the price. What is scored is the effect on price, not the morality of the event.
### What data does a trading AI agent need?
An agent needs numbers it can take and compute with immediately, not prose it has to parse. For the news field that means the index per instrument, its history, the list of narratives with their weights, and a score for every source. Together with technical and fundamental analysis this gives an agent the third layer of the picture — the one usually lost, because a human cannot read fast enough.
### What is ◉‿◉ POSITIVE SEARCH?
◉‿◉ POSITIVE SEARCH is a search, sentiment-analysis and audit engine. AI agents read world press, financial media and trade outlets, take in opinion on X and expectations on Polymarket, and turn all of it into a live news-sentiment index from −1 to +1 for Bitcoin, Gold and Oil.
### How is ◉‿◉ POSITIVE SEARCH different from Fear & Greed?
Fear & Greed computes algorithmic market metrics — volatility, volume, Bitcoin dominance — updates once a day and exists only for crypto. ◉‿◉ POSITIVE SEARCH measures the mood of the news, opinion on X and expectations on Polymarket: AI agents read every article and judge what it says. The index is live, the narratives behind the number are visible, and every source article sits on the page with a link.
### Where does the data come from, and can it be checked?
Every article that entered the calculation sits right on the index page: headline, score, age, outlet and a clickable link to the original. Nothing is hidden inside a black box — you can walk through any article, confirm it is fresh, and decide for yourself how much the source deserves trust.
### How do you tell real news from a pumped narrative?
A lone sensation nobody else picked up is almost always noise: when an event genuinely matters, many reputable outlets write about it within the hour. So a story's weight is counted by the number of independent sources, not by the volume of the headline. On top of that an audit engine scores the authority of the outlet and catches invented figures, old articles under a fresh date, AI-generated filler and narratives pumped for manipulation.
### Is this financial advice?
No. ◉‿◉ POSITIVE SEARCH gives no recommendation to buy or sell and is not financial, investment or trading advice. It is informational market-sentiment data gathered from public sources.
### What is Tix?
Tix is a game, a simulator of ultra-fast trading on live Bitcoin: a tick chart, Long and Short buttons, 500× leverage and a liquidation that creeps closer with every tick. A bot called Chaser trades beside you under the same rules, and over a long run he is in profit. The money is play money, there is no sign-up, and no real funds are involved.
### Is there an API for trading agents?
The API is still in development. The plan is to serve the index for any supported instrument and its chart, the narratives and their weights, signals on threshold crossings, history for backtests and an embeddable widget. The priority is trading AI agents that need machine-readable data about the news field.
### Is there a sign-up, and what does it cost?
No sign-up is needed: the index and Tix are open and free, there is no account to create and nothing to deposit.
### Is the data free, and is an API key required?
No key and no account. The current reading, the narratives behind it and the freshest source
articles — each linked to its original — are rendered on the public page itself, for Bitcoin,
Gold and Oil, and can be read directly rather than only through a paid API tier.
### How do I get in touch?
Directly: email hi@positivesearch.app. The same address takes requests to add your own instrument and proposals for working together.
## Contact
- Email: hi@positivesearch.app
## Legal
Not financial advice. Positive Search provides informational market-sentiment data aggregated
from public sources — not financial, investment or trading advice, and not a recommendation to
buy or sell any asset. Past performance does not guarantee future results.