PodcastIndex · Capability

PodcastIndex.org API — Static Data

PodcastIndex.org API — Static Data. 11 operations. Lead operation: Dead Feeds. Self-contained Naftiko capability covering one Podcastindex business surface.

Run with Naftiko PodcastindexStatic Data

What You Can Do

GET
Podcastindexdeadfeedscsv — Dead Feeds
/v1/static/public/podcastindex-dead-feeds-csv
GET
Podcastindexfeedsdbtgz — Feeds Database
/v1/static/public/podcastindex-feeds-db-tgz
GET
Chartdatajson — v4v Sats
/v1/static/stats/chart-data-json
GET
Dailycountsjson — Stats Daily Counts
/v1/static/stats/daily-counts-json
GET
Hourlycountsjson — Stats Hourly Counts
/v1/static/stats/hourly-counts-json
GET
V4vmusicjson — v4v Music Chart JSON
/v1/static/stats/v4vmusic-json
GET
V4vmusicopml — v4v Music Chart OPML
/v1/static/stats/v4vmusic-opml
GET
V4vmusicrss — v4v Music Chart RSS
/v1/static/stats/v4vmusic-rss
GET
Current — Current
/v1/static/tracking/current
GET
Episodevalueblocksjson — Episode Value Blocks
/v1/static/tracking/episodevalueblocks
GET
Feedvalueblocksjson — Feed Value Blocks
/v1/static/tracking/feedvalueblocks

MCP Tools

dead-feeds

Dead Feeds

read-only idempotent
feeds-database

Feeds Database

read-only idempotent
v4v-sats

v4v Sats

read-only idempotent
stats-daily-counts

Stats Daily Counts

read-only idempotent
stats-hourly-counts

Stats Hourly Counts

read-only idempotent
v4v-music-chart-json

v4v Music Chart JSON

read-only idempotent
v4v-music-chart-opml

v4v Music Chart OPML

read-only idempotent
v4v-music-chart-rss

v4v Music Chart RSS

read-only idempotent
current

Current

read-only idempotent
episode-value-blocks

Episode Value Blocks

read-only idempotent
feed-value-blocks

Feed Value Blocks

read-only idempotent

Capability Spec

podcastindex-static-data.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PodcastIndex.org API — Static Data
  description: 'PodcastIndex.org API — Static Data. 11 operations. Lead operation: Dead Feeds. Self-contained Naftiko capability
    covering one Podcastindex business surface.'
  tags:
  - Podcastindex
  - Static Data
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PODCASTINDEX_API_KEY: PODCASTINDEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: podcastindex-static-data
    baseUri: https://api.podcastindex.org/api/1.0
    description: PodcastIndex.org API — Static Data business capability. Self-contained, no shared references.
    resources:
    - name: static-public-podcastindex_dead_feeds.csv
      path: /static/public/podcastindex_dead_feeds.csv
      operations:
      - name: podcastindexdeadfeedscsv
        method: GET
        description: Dead Feeds
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: static-public-podcastindex_feeds.db.tgz
      path: /static/public/podcastindex_feeds.db.tgz
      operations:
      - name: podcastindexfeedsdbtgz
        method: GET
        description: Feeds Database
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: static-stats-chart-data.json
      path: /static/stats/chart-data.json
      operations:
      - name: chartdatajson
        method: GET
        description: v4v Sats
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: static-stats-daily_counts.json
      path: /static/stats/daily_counts.json
      operations:
      - name: dailycountsjson
        method: GET
        description: Stats Daily Counts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: static-stats-hourly_counts.json
      path: /static/stats/hourly_counts.json
      operations:
      - name: hourlycountsjson
        method: GET
        description: Stats Hourly Counts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: static-stats-v4vmusic.json
      path: /static/stats/v4vmusic.json
      operations:
      - name: v4vmusicjson
        method: GET
        description: v4v Music Chart JSON
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: static-stats-v4vmusic.opml
      path: /static/stats/v4vmusic.opml
      operations:
      - name: v4vmusicopml
        method: GET
        description: v4v Music Chart OPML
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: static-stats-v4vmusic.rss
      path: /static/stats/v4vmusic.rss
      operations:
      - name: v4vmusicrss
        method: GET
        description: v4v Music Chart RSS
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: static-tracking-current
      path: /static/tracking/current
      operations:
      - name: current
        method: GET
        description: Current
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: static-tracking-episodeValueBlocks
      path: /static/tracking/episodeValueBlocks
      operations:
      - name: episodevalueblocksjson
        method: GET
        description: Episode Value Blocks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: static-tracking-feedValueBlocks
      path: /static/tracking/feedValueBlocks
      operations:
      - name: feedvalueblocksjson
        method: GET
        description: Feed Value Blocks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: apikey
      key: User-Agent
      value: '{{env.PODCASTINDEX_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: podcastindex-static-data-rest
    port: 8080
    description: REST adapter for PodcastIndex.org API — Static Data. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/static/public/podcastindex-dead-feeds-csv
      name: static-public-podcastindex-dead-feeds-csv
      description: REST surface for static-public-podcastindex_dead_feeds.csv.
      operations:
      - method: GET
        name: podcastindexdeadfeedscsv
        description: Dead Feeds
        call: podcastindex-static-data.podcastindexdeadfeedscsv
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/static/public/podcastindex-feeds-db-tgz
      name: static-public-podcastindex-feeds-db-tgz
      description: REST surface for static-public-podcastindex_feeds.db.tgz.
      operations:
      - method: GET
        name: podcastindexfeedsdbtgz
        description: Feeds Database
        call: podcastindex-static-data.podcastindexfeedsdbtgz
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/static/stats/chart-data-json
      name: static-stats-chart-data-json
      description: REST surface for static-stats-chart-data.json.
      operations:
      - method: GET
        name: chartdatajson
        description: v4v Sats
        call: podcastindex-static-data.chartdatajson
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/static/stats/daily-counts-json
      name: static-stats-daily-counts-json
      description: REST surface for static-stats-daily_counts.json.
      operations:
      - method: GET
        name: dailycountsjson
        description: Stats Daily Counts
        call: podcastindex-static-data.dailycountsjson
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/static/stats/hourly-counts-json
      name: static-stats-hourly-counts-json
      description: REST surface for static-stats-hourly_counts.json.
      operations:
      - method: GET
        name: hourlycountsjson
        description: Stats Hourly Counts
        call: podcastindex-static-data.hourlycountsjson
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/static/stats/v4vmusic-json
      name: static-stats-v4vmusic-json
      description: REST surface for static-stats-v4vmusic.json.
      operations:
      - method: GET
        name: v4vmusicjson
        description: v4v Music Chart JSON
        call: podcastindex-static-data.v4vmusicjson
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/static/stats/v4vmusic-opml
      name: static-stats-v4vmusic-opml
      description: REST surface for static-stats-v4vmusic.opml.
      operations:
      - method: GET
        name: v4vmusicopml
        description: v4v Music Chart OPML
        call: podcastindex-static-data.v4vmusicopml
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/static/stats/v4vmusic-rss
      name: static-stats-v4vmusic-rss
      description: REST surface for static-stats-v4vmusic.rss.
      operations:
      - method: GET
        name: v4vmusicrss
        description: v4v Music Chart RSS
        call: podcastindex-static-data.v4vmusicrss
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/static/tracking/current
      name: static-tracking-current
      description: REST surface for static-tracking-current.
      operations:
      - method: GET
        name: current
        description: Current
        call: podcastindex-static-data.current
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/static/tracking/episodevalueblocks
      name: static-tracking-episodevalueblocks
      description: REST surface for static-tracking-episodeValueBlocks.
      operations:
      - method: GET
        name: episodevalueblocksjson
        description: Episode Value Blocks
        call: podcastindex-static-data.episodevalueblocksjson
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/static/tracking/feedvalueblocks
      name: static-tracking-feedvalueblocks
      description: REST surface for static-tracking-feedValueBlocks.
      operations:
      - method: GET
        name: feedvalueblocksjson
        description: Feed Value Blocks
        call: podcastindex-static-data.feedvalueblocksjson
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: podcastindex-static-data-mcp
    port: 9090
    transport: http
    description: MCP adapter for PodcastIndex.org API — Static Data. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: dead-feeds
      description: Dead Feeds
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.podcastindexdeadfeedscsv
      outputParameters:
      - type: object
        mapping: $.
    - name: feeds-database
      description: Feeds Database
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.podcastindexfeedsdbtgz
      outputParameters:
      - type: object
        mapping: $.
    - name: v4v-sats
      description: v4v Sats
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.chartdatajson
      outputParameters:
      - type: object
        mapping: $.
    - name: stats-daily-counts
      description: Stats Daily Counts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.dailycountsjson
      outputParameters:
      - type: object
        mapping: $.
    - name: stats-hourly-counts
      description: Stats Hourly Counts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.hourlycountsjson
      outputParameters:
      - type: object
        mapping: $.
    - name: v4v-music-chart-json
      description: v4v Music Chart JSON
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.v4vmusicjson
      outputParameters:
      - type: object
        mapping: $.
    - name: v4v-music-chart-opml
      description: v4v Music Chart OPML
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.v4vmusicopml
      outputParameters:
      - type: object
        mapping: $.
    - name: v4v-music-chart-rss
      description: v4v Music Chart RSS
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.v4vmusicrss
      outputParameters:
      - type: object
        mapping: $.
    - name: current
      description: Current
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.current
      outputParameters:
      - type: object
        mapping: $.
    - name: episode-value-blocks
      description: Episode Value Blocks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.episodevalueblocksjson
      outputParameters:
      - type: object
        mapping: $.
    - name: feed-value-blocks
      description: Feed Value Blocks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podcastindex-static-data.feedvalueblocksjson
      outputParameters:
      - type: object
        mapping: $.