Skip to main content
Saturation

Your production finance data,
accessible by API.

Saturation manages budgets, projects, and production spend for film, TV, and commercial teams. The API lets you read and write that data from any tool you build.

REST APIX-API-Key AuthenticationVersioned EndpointsJSON Responses
API
Saturation
api.saturation.io/api/v1/projects/centurion-rising200 OK
import { SaturationClient } from '@saturation/sdk';​
const client = new SaturationClient({
  apiKey: process.env.SATURATION_API_KEY,
});​
const data = await client.projects.get('centurion-rising');​
console.log(data.project);​
LIVE
Centurion Rising

Centurion Rising

Feature Film · Parallax Films

AccountActualVariance
APrep Crews$74,100-$43k
DLocations$38,600+$8,600
GArt Dept$12,400-$4,400

EFC

$334,500
Hot CostExport PDF

Built around projects and budgets, not generic finance tables.

Saturation is the platform film, TV, and commercial production teams use to manage every dollar from prep to wrap. The API gives you programmatic access to that data. Pull projects, read full budgets, and write lines back without rebuilding your own data model.

Bring budgets and projects into your own tools

Pull project lists, read budgets, and surface live production finance data inside internal dashboards, client portals, or workflow tools your team already uses.

Write budget lines and manage accounts programmatically

Create and update budget lines via the API: add estimates, set account codes, and keep your Saturation budget in sync with systems outside the platform.

Build on a structure that mirrors how productions work

The API is organized around projects and budgets, the same objects your production team works in every day, so integration maps directly to real workflows.

Power custom reporting for film, TV, and commercial productions

Pull live budget data into your own reporting pipelines. Whether you're building dashboards for a commercial production company, a TV studio, or a feature film, the API surfaces the same project and budget objects your team relies on.

Automate budget updates from any production management tool

Connect Saturation to scheduling software, production management platforms, or custom internal tools. Write budget lines via API as costs are locked, keeping finance data in sync without manual re-entry.

Enterprise-ready authentication with stable versioned endpoints

Every request is authenticated with a scoped API key. The versioned /api/v1 base path keeps your integrations stable as the platform evolves, whether you're running a single production or managing a studio slate.

See what you can build.

Pull live production data into dashboards, reports, and workflows. All from a single API.

Example

Basic Dashboard

spend

Total Spend · Hermes Athletics Commercial

$11,100

ActualEstimate

Example

Active Projects

projects
🚗

Volta Auto

Commercial

Active
🎬

Centurion Rising

Feature Film

Active
📺

Inheritance

Television

Active

Effortless setup.

One package, one API key, and your first request is live in minutes. No custom auth layers, no data modeling. Just direct access to your production finance data.

Install
# npm
npm install @saturation/sdk
# pnpm
pnpm add @saturation/sdk
# yarn
yarn add @saturation/sdk
Usage
import { SaturationClient } from '@saturation/sdk'
const client = new SaturationClient({
  apiKey: process.env.SATURATION_API_KEY,
});
const data = await client.projects.list();
console.log(data.projects);

Works with any language.

The Saturation API is a standard REST interface. Use it from any HTTP client, in any environment, with any toolchain.

cURL
JavaScript
Node.js
Python
Java
C#
PHP
Go
Ruby
R

What engineers build with the Saturation API.

The Saturation SDK is a typed TypeScript client built around the real objects of production finance: projects, budgets, actuals, purchase orders, and transactions. Unlike generic finance APIs that hand your team ledger abstractions to decode, Saturation's data model maps directly to how productions run — so you can ship spend tracking, budget reporting, or custom dashboards in minutes, not weeks.

Projects
const { projects } = await
  client.projects.list({
    status: 'active',
})
// [{id, name, type, efc...}]
GET/projects

Pull Production Data

Fetch every active project across your workspace with type, status, EFC, and budget total in a single call.

Full docs
Budget
const budget = await client
  .projects
  .get('centurion-rising')
  .budget.list()
// [{account, budgeted, efc}]
GET/projects/{id}/budget

Access Budget Lines

Get full line-item breakdowns down to the account code — budgeted cost, EFC, and fringe rates included.

Full docs
Actuals
const { actuals } = await client
  .projects
  .get('volta-auto')
  .actuals.list()
// [{account, actual, variance}]
GET/projects/{id}/actuals

Stream Cost Actuals

Pull period-to-date actuals matched against budget by account code, updated in real time as spend flows in.

Full docs
GET/projects
POST/projects
GET/projects/:id
PUT/projects/:id
GET/projects/:id/budget
POST/projects/:id/budget
GET/projects/:id/budget/lines
POST/projects/:id/budget/lines
PUT/projects/:id/budget/lines/:lineId
GET/projects/:id/budget/phases
POST/projects/:id/budget/phases
GET/contacts
POST/contacts
GET/contacts/:id
PUT/contacts/:id
GET/rates
POST/rates
GET/projects
POST/projects
GET/projects/:id
PUT/projects/:id
GET/projects/:id/budget
POST/projects/:id/budget
GET/projects/:id/budget/lines
POST/projects/:id/budget/lines
PUT/projects/:id/budget/lines/:lineId
GET/projects/:id/budget/phases
POST/projects/:id/budget/phases
GET/contacts
POST/contacts
GET/contacts/:id
PUT/contacts/:id
GET/rates
POST/rates
GET/transactions
GET/fringes
POST/fringes
PUT/fringes/:id
GET/globals
PUT/globals
GET/purchaseOrders
POST/purchaseOrders
GET/purchaseOrders/:id
PUT/purchaseOrders/:id
GET/tags
POST/tags
DELETE/tags/:id
POST/files/upload
GET/spaces
POST/spaces
GET/comments
POST/comments
DELETE/comments/:id
GET/transactions
GET/fringes
POST/fringes
PUT/fringes/:id
GET/globals
PUT/globals
GET/purchaseOrders
POST/purchaseOrders
GET/purchaseOrders/:id
PUT/purchaseOrders/:id
GET/tags
POST/tags
DELETE/tags/:id
POST/files/upload
GET/spaces
POST/spaces
GET/comments
POST/comments
DELETE/comments/:id

What our customers are saying

The financial operating system of our production company. From budgeting to P-cards, AI receipt scanning, and QuickBooks sync, it replaced five separate tools.

SG

Stephen Gray

Founder & Director, Tonal Films

TrustpilotTrustpilot

API questions, answered.

Common questions from engineering teams and technical buyers evaluating the Saturation API.

Build on production finance data.

Connect your tools to Saturation. Projects, budgets, and accounts are all available through a REST API built around how productions actually operate. API access is included on the Enterprise plan.

Production Finance API & TypeScript SDK | Saturation.io