specification: FinOps Framework specificationVersion: '1.0' schema: https://www.finops.org/framework/ provider: TheTVDB providerId: tvdb created: '2026-05-30' modified: '2026-05-30' reconciled: true tags: - FinOps - FOCUS - Television - Movies - Metadata description: >- FOCUS-aligned FinOps view of TheTVDB API: a hybrid subscriber-supported and revenue-tiered commercial license model. Spend is fixed-annual (commercial tier) or fixed-per-end-user (subscriber-supported model), not metered by request volume, so observability sits at the license-tier level rather than the meter level. sources: - https://thetvdb.com/api-information - https://thetvdb.com/subscribe - https://github.com/thetvdb/v4-api alignedWith: framework: FinOps Foundation Framework frameworkUrl: https://www.finops.org/framework/ dataSpec: FOCUS dataSpecVersion: '1.3' dataSpecUrl: https://focus.finops.org/focus-specification/v1-3/ publisherName: TheTVDB serviceCategory: Media Metadata billingModel: pricingCategory: Tiered Subscription billingFrequency: Annual billingCurrency: USD chargeCategories: - Purchase - Adjustment focusColumns: ServiceName: TheTVDB v4 API ServiceCategory: Media Metadata ServiceSubcategory: Television and Movie Catalog ProviderName: TheTVDB PublisherName: TheTVDB InvoiceIssuerName: TheTVDB BillingCurrency: USD ChargeCategory: Purchase meters: - name: commercial_license_year unit: year aggregation: sum dimensions: - revenue_tier notes: Fixed annual fee determined by company annual revenue tier (free / $1,000 / $10,000 / custom). - name: subscriber_user_year unit: seat aggregation: sum dimensions: - end_user notes: $12/year TheTVDB subscription that each end user maintains; aggregated per active subscriber on the developer's product. - name: api_key_active unit: key aggregation: count notes: Count of API keys minted from the developer dashboard. Not metered, but useful for license-compliance tracking. - name: api_requests unit: request aggregation: count notes: TheTVDB does not bill by request volume. Track requests internally for capacity planning and to inform caching strategy. principles: - name: Visibility description: >- TheTVDB does not expose a usage or billing API. Track license cost at the vendor record level and instrument the client SDK (or caching proxy) with counters for /login token issuance, /updates polls, and per-endpoint request counts. Surface those counters in the company's observability stack to detect cache-hit-ratio regressions that would prompt a vendor conversation. - name: Allocation description: >- Allocate the commercial license fee to the product(s) that consume the API. For multi-product orgs, split by request volume captured from the caching proxy. Subscriber-supported subscription fees allocate to the individual end user. - name: Optimization description: >- Optimization is architectural, not metric-driven. Maintain a local copy of TheTVDB data and synchronize via /updates. Cache reference endpoints (genres, languages, content ratings, statuses, types) for at least one week. Reuse JWT bearer tokens for their full one-month lifetime. These patterns minimize request volume and keep the company in the lower revenue/usage tier. - name: Accountability description: >- Assign a named owner (typically the engineering lead for the consuming product) responsible for the annual license renewal, the attribution requirement compliance, and the relationship with TheTVDB. Review the revenue-tier threshold at each fiscal year close to avoid surprise reclassification.