# Scanna Enrichment Series Catalog

> Scanna Enrichment Series Catalog is a paid API for AI agents from api.scanna.xyz, paid per call via x402, $0.010009/call, status unknown (last checked 2026-09-14).

Returns the full catalog of enrichment data series available in Scanna's Postgres database, one row per (provider, series_id) with metadata including dataset, title, unit, date range, and observation count.

## Facts

- Endpoint: GET https://api.scanna.xyz/data/series
- Price: $0.010009/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/scanna-enrichment-series-catalog-63d95325
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_SLbppP4OGk0KUnBDvDoZ6

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability scanna-enrichment-series-catalog-63d95325
```

Example prompt: Show me the full list of enrichment data series available in Scanna — I want to see all providers, series IDs, their date ranges, and observation counts.

## When to prefer this

Use this endpoint when you need to discover what enrichment series are available in Scanna's catalog before fetching specific series data, when building a data pipeline that needs to enumerate available providers and datasets, or when you need metadata (date ranges, units, observation counts) about all available series. Avoid if you only need a specific series or need real-time freshness — data can be up to 6.5 hours stale.

## Known failure modes

- Empty series array returned (200 OK) when DB pool is unavailable at boot or enrichment is turned off — caller must check array length
- Stale data up to 30 minutes due to private cache, combined with a 6-hour worker tick for underlying data refresh
- No filtering or pagination supported — large catalogs are returned in full, which may be slow or large for agents expecting subsets
- Private cache means responses are not shared across users, so each caller may see different cache states

## How this service works

Returns the full enrichment-series catalog from Postgres: one row per (provider, series_id) with dataset, title, unit, first/last date and observation count. No params, no filtering, fixed ORDER BY. Data refreshes on a 6h worker tick and is cached 30 min (Cache-Control private). An empty catalog (no DB pool at boot, or enrichment dark) still returns 200 and bills.

## Output

A JSON object containing a 'series' array where each element represents one (provider, series_id) combination with fields: dataset (string), provider (string), series_id (string), title (string or null), unit (string or null), first_date (YYYY-MM-DD), last_date (YYYY-MM-DD), and observation_count (integer). Results are fixed-ordered and cached for 30 minutes (private cache). An empty array may be returned if the DB pool is unavailable or enrichment is inactive, but the response is still HTTP 200.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {},
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "series"
     ],
     "properties": {
      "series": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "dataset",
         "first_date",
         "last_date",
         "observation_count",
         "provider",
         "series_id"
        ],
        "properties": {
         "unit": {
          "type": [
           "string",
           "null"
          ]
         },
         "title": {
          "type": [
           "string",
           "null"
          ]
         },
         "dataset": {
          "type": "string"
         },
         "provider": {
          "type": "string"
         },
         "last_date": {
          "type": "string",
          "format": "date",
          "description": "YYYY-MM-DD"
         },
         "series_id": {
          "type": "string",
          "description": "Unique within a provider, not globally"
         },
         "first_date": {
          "type": "string",
          "format": "date",
          "description": "YYYY-MM-DD"
         },
         "observation_count": {
          "type": "integer"
         }
        }
       }
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/scanna-enrichment-series-catalog-63d95325/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scanna.xyz](https://www.zero.xyz/host/api.scanna.xyz/llms.txt)
