Don't invest unless you're prepared to lose all the money you invest. This is a high-risk investment and you should not expect to be protected if something goes wrong. Take 2 mins to learn more.

DecryptrDevelopers
Community

Posts per hour or day for a tag

Decryptr posts per hour or day carrying a tag from the app's search index: a cashtag ($BTC), a chain (chain:solana) or a keyword (kw:etf), newest first. Never X. Null where under 5 people posted.

Cost: 1 call per item returned, at least one item's worth. The request first reserves limit x 1 calls (and is refused with 429 if that many are not available), then pays only for what came back.

Needs scope analytics:read and the starter plan or above.

How calls are counted

Authorization

headerAuthorizationBearer <dcr_live_<8 hex>_<43 base64url> or dcr_test_...>

Your API key as a Bearer token: Authorization: Bearer dcr_live_....

Path Parameters

tag*string

The tag, URL-encoded ($ as %24).

Match^(\$[A-Z0-9]{1,15}|chain:[a-z0-9_-]{2,20}|kw:[a-z0-9_-]{2,40})$

Query Parameters

interval?string

Bucket size: 1h or 1d (default).

Value in"1h""1d"
since?string

Only items at or after this time (ISO 8601 with offset). Must be inside your plan's history (Developer 7 days, Starter 30, Pro 365, Business all). Defaults to the start of your history.

Formatdate-time
until?string

Only items at or before this time (ISO 8601 with offset). Defaults to now; on Developer it is capped 60 minutes before now.

Formatdate-time
cursor?string

next_cursor from the previous page, passed back as it is. Opaque: do not build or change it.

Lengthlength <= 300
limit?integer

Items to return, 1 to 100. Your plan allows max_page calls per request (Developer 10, Starter 25, Pro 50, Business 100), so at most max_page divided by this endpoint's calls per item. Default 20, or that maximum if lower. The request reserves limit x calls per item before it runs: ask only for what you need.

Range1 <= value <= 100

Response Body

OK.

application/json
  1. response
data*array<>
as_of*string

When the response was made.

Formatdate-time
next_cursor*|

Pass as cursor for the next page. null when this is the last page.

disclaimer*string

Plain-language notice. Information only, not financial advice.

Example Request
curl -X GET 'https://data.decryptr.ai/v1/tags/$BTC/volume?interval=1d&since=2026-10-20T00%3A00%3A00Z&until=2026-10-23T12%3A00%3A00Z&cursor=eyJ0IjoiMjAyNi0xMC0yM1QxMDowMDowMC4wMDBaIn0&limit=10'
Example Response
{  "data": [    {      "tag": "$BTC",      "bucket": "2026-10-23T00:00:00.000Z",      "posts": 25,      "posters": 9    },    {      "tag": "$BTC",      "bucket": "2026-10-22T00:00:00.000Z",      "posts": 26,      "posters": 10    },    {      "tag": "$BTC",      "bucket": "2026-10-21T00:00:00.000Z",      "posts": 27,      "posters": 11    }  ],  "next_cursor": "eyJ0IjoiMjAyNi0xMC0yMVQwMDowMDowMC4wMDBaIn0",  "as_of": "2026-10-23T12:36:30.000Z",  "disclaimer": "Crowd and model output, not a recommendation. Information only, not financial advice."}