Hourly crypto news-sentiment readings for a ticker (e.g
Hourly crypto news-sentiment readings for a ticker (e.g. BTC, ETH), recorded live at the top of every UTC hour and never backfilled. Each row: observed_at, average_compound (-1 to 1), sample_size, Fear & Greed value, matcher and the top 3 headlines behind it (title, link). Query start/end as ISO 8601; default last 7 days, max 30 days per call. See /archive for symbols and coverage.
Answeringour last check, 2026-10-04
1 of 1checks answered this week
194 msmedian answer time
$0.05listed price per call
$0.05price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://crypto-sentiment-x402.onrender.com/history/:symbol
| Category | Market data |
|---|---|
| Provider host | crypto-sentiment-x402.onrender.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-04 | valid payment request | 402 | $0.05 | 194 ms |
Example input (from the provider)
{
"method": "GET",
"pathParams": {
"symbol": "BTC"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"pathParams": {
"properties": {
"symbol": {
"description": "Uppercase ticker symbol in the URL path, e.g. BTC in /history/BTC. See /archive for which symbols are logged.",
"type": "string"
}
},
"required": [
"symbol"
],
"type": "object"
},
"queryParams": {
"properties": {
"end": {
"description": "ISO 8601 end time, exclusive. Default: now. At most 30 days after start.",
"type": "string"
},
"start": {
"description": "ISO 8601 start time (UTC if no offset). Default: end minus 7 days.",
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"count": {
"type": "integer"
},
"end": {
"type": "string"
},
"rows": {
"items": {
"properties": {
"average_compound": {
"type": [
"number",
"null"
]
},
"drivers": {
"anyOf": [
{
"type": "null"
},
{
"items": {
"properties": {
"effect": {
"type": "number"
},
"link": {
"type": [
"string",
"null"
]
},
"published": {
"type": [
"string",
"null"
]
},
"score": {
"type": "number"
},
"source": {
"type": "string"
},
"title": {
"type": "string"
},
"weight": {
"type": "number"
}
},
"required": [
"title",
"source",
"link",
"published",
"score"
],
"type": "object"
},
"maxItems": 5,
"type": "array"
}
]
},
"effective_sample_size": {
"type": [
"number",
"null"
]
},
"fear_greed_value": {
"type": [
"integer",
"null"
]
},
"matcher": {
"type": [
"string",
"null"
]
},
"newest_headline_age_hours": {
"type": [
"number",
"null"
]
},
"observed_at": {
"type": "string"
},
"sample_size": {
"type": [
"integer",
"null"
]
},
"unweighted_compound_72h": {
"type": [
"number",
"null"
]
},
"window": {
"type": [
"string",
"null"
]
}
},
"required": [
"observed_at",
"average_compound",
"matcher",
"drivers"
],
"type": "object"
},
"type": "array"
},
"start": {
"type": "string"
},
"symbol": {
"type": "string"
}
},
"required": [
"symbol",
"start",
"end",
"count",
"rows"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}