# Santiment — Zapi reference > What a Santiment metric will actually serve, straight from the API's own **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ content, message, errors }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/finance/santiment - Endpoint catalog: https://zpi.web.id/category/finance - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## Santiment **Category:** finance · **Slug:** `santiment` **Detail page:** https://zpi.web.id/api/finance/santiment What a Santiment metric will actually serve, straight from the API's own **Tags:** finance, santiment ### Metric Metadata What a Santiment metric will actually serve, straight from the API's own - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:santiment/metric-metadata` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `metric` | string | query | no | Metric name. Default social_volume_total. | | `includeSlugs` | enum(true|false) | query | no | Include every asset slug this metric covers. Thousands of entries, roughly 37 KB. Default false. | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:santiment/metric-metadata?metric=social_volume_total&includeSlugs=true" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:santiment/metric-metadata?metric=social_volume_total&includeSlugs=true", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:santiment/metric-metadata?metric=social_volume_total&includeSlugs=true", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 0, "items": [], "total": null, "metric": "social_volume_total", "dataset": "metric-metadata", "provider": "santiment", "minInterval": "5m", "isRestricted": true, "restrictedTo": "2026-07-22T02:25:57Z", "restrictedFrom": "2025-08-21T02:25:57Z", "defaultAggregation": "SUM", "availableAggregations": [ "ANY", "SUM", "AVG", "MIN", "MAX", "LAST", "FIRST", "MEDIAN" ] } ``` --- ### Metric One Santiment metric series, at the metric's own minimum interval. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:santiment/metric` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `metric` | string | query | no | Metric name. Default social_volume_total, which publishes every 5 minutes. | | `slug` | string | query | no | Asset slug as Santiment spells it. Default bitcoin. The `metric-metadata` endpoint lists every slug a metric covers. | | `from` | string | query | no | ISO-8601 start. Default 24 hours before `to`. Must sit inside the restricted window. | | `to` | string | query | no | ISO-8601 end. Default 31 days ago, the newest point the free tier serves. | | `interval` | string | query | no | Bucket size as Nm, Nh, Nd or Nw. Default 5m. Cannot be finer than the metric's own floor. | | `aggregation` | enum(ANY|SUM|AVG|MIN|MAX|LAST|FIRST|MEDIAN|COUNT|OHLC) | query | no | How points inside a bucket combine. Defaults to the metric's own aggregation. | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:santiment/metric?metric=social_volume_total&slug=bitcoin&from=2026-07-20T00%3A00%3A00Z&to=2026-07-21T00%3A00%3A00Z&interval=5m&aggregation=SUM" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:santiment/metric?metric=social_volume_total&slug=bitcoin&from=2026-07-20T00%3A00%3A00Z&to=2026-07-21T00%3A00%3A00Z&interval=5m&aggregation=SUM", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:santiment/metric?metric=social_volume_total&slug=bitcoin&from=2026-07-20T00%3A00%3A00Z&to=2026-07-21T00%3A00%3A00Z&interval=5m&aggregation=SUM", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "to": "2026-07-21T02:25:57Z", "from": "2026-07-20T02:25:57Z", "slug": "bitcoin", "count": 288, "items": [ { "date": "2026-07-20T02:30:00Z", "time": 1784514600, "value": 3 }, { "date": "2026-07-20T02:35:00Z", "time": 1784514900, "value": 4 }, { "date": "2026-07-20T02:40:00Z", "time": 1784515200, "value": 3 }, { "date": "2026-07-20T02:45:00Z", "time": 1784515500, "value": 6 }, { "date": "2026-07-20T02:50:00Z", "time": 1784515800, "value": 5 }, { "date": "2026-07-20T02:55:00Z", "time": 1784516100, "value": 3 }, { "date": "2026-07-20T03:00:00Z", "time": 1784516400, "value": 5 }, { "date": "2026-07-20T03:05:00Z", "time": 1784516700, "value": 5 } ], "metric": "social_volume_total", "dataset": "metric", "interval": "5m", "provider": "santiment", "aggregation": "SUM", "minInterval": "5m", "isRestricted": true, "restrictedTo": "2026-07-22T02:25:57Z", "restrictedFrom": "2025-08-21T02:25:57Z" } ``` --- _Generated: 2026-08-21T07:41:30.902Z_