REST API reference
Base URL: https://api.perception.to. Send a Perception key as Authorization: Bearer pcp_... where a route requires authentication.
GET /indexPerception Index score, status, 24h/7d change, confidence and decomposed drivers. Updated every 15 minutes.
Open without a key. The open response uses no credits.
Open, no key. Add ?full=true with a Bearer token for divergences and returns by sentiment regime (1 credit).
GET /indicesPerception's five-index family: Perception Index, Bitcoin Discourse Dominance, Narrative Cost Basis, Cohort Conviction Gap and Perception Breadth.
Open without a key. The open response uses no credits.
Current headline readings are open. Add ?full=true with a Bearer token for methodology receipts, component breakdowns and bounded history (1 credit).
GET /transparency-indexEarnings-call directness scores per company, with the verbatim quotes behind each score.
Open without a key. The open response uses no credits.
Open, no key.
GET /transparency-index/leaderboardCompanies ranked by directness score.
Bearer authentication required. One REST call uses 1 credit.
GET /transparency-index/:tickerFull directness detail for one company, including scored quotes.
Bearer authentication required. One REST call uses 1 credit.
GET /feedMention search across thousands of sources with full-text search, date, outlet and sentiment filters.
Bearer authentication required. One REST call uses 1 credit.
Also accepts x402 pay-per-call in USDC without a subscription, which is why an unkeyed request returns 402 rather than 401.
GET /trendsAI-extracted narrative trends with signal strength and the mentions behind each cluster.
Bearer authentication required. One REST call uses 1 credit.
GET /intelligenceTrend intelligence and category distribution.
Bearer authentication required. One REST call uses 1 credit.
GET /sentiment-metricsHistorical sentiment series, by day and by outlet.
Bearer authentication required. One REST call uses 1 credit.
GET /fear-greed-indexBitcoin Fear & Greed Index history.
Bearer authentication required. One REST call uses 1 credit.
GET /channel-volumeMention volume broken down by outlet and channel.
Bearer authentication required. One REST call uses 1 credit.
POST /grouped-dataEntity recognition over a body of coverage: company mentions with counts and sentiment.
Bearer authentication required. One REST call uses 1 credit.
GET /cohortsSentiment split by the role of the speaker: execs, devs, analysts, investors, media and more.
Bearer authentication required. One REST call uses 1 credit.
GET /evadometerEvade-o-Meter directness scoring across tracked companies.
Bearer authentication required. One REST call uses 1 credit.
GET /evadometer/leaderboardCompanies ranked by how directly management answers.
Bearer authentication required. One REST call uses 1 credit.
GET /evadometer/:tickerEvade-o-Meter detail for one company.
Bearer authentication required. One REST call uses 1 credit.
GET /v1/spaces/:id/rowsRows from a Space you own, in the same shape as its CSV export. Cursor-paginated, 50 per page by default.
Bearer authentication required. One REST call uses 1 credit.
Returns 404 rather than 403 on a Space you do not own, so the API never confirms that someone else’s Space exists.
GET /v1/brains/:idA Brain you own: the collected post history behind it.
Bearer authentication required. One REST call uses 1 credit.