Fountain+ API

Screenplay processing — parse, check, and convert scripts server-side.

Base URL: https://api.fountain.plus

Authentication

All endpoints except GET /v1/health require an API key in the request header:

x-api-key: your-api-key-here

To request an API key, contact api@fountain.plus.

Rate Limits

60 requests / minute · 600 requests / hour per key.
Exceeding the limit returns 429 Too Many Requests with a Retry-After header.

Endpoints

Method Path Auth Description
GET /v1/health No Server health and uptime
GET /v1/keys/verify Yes Verify an API key is valid
POST /v1/detect Yes Detect the format of a screenplay file
POST /v1/check Yes Parse and analyse a screenplay — returns stats, heuristics, and warnings
POST /v1/convert Yes Convert a screenplay to another format (PDF, FDX, Fountain, Fade In, TXT)

Supported Input Formats

FormatValueNotes
FountainfountainPlain-text screenplay format
Mangaplaymangaplay.mangaplay / .mangaplay.md
Final Draftfdx.fdx (v8 and v10-11)
Fade InfadeinBinary ZIP — upload as file
Plain TexttxtStructured plain text

Supported Output Formats (/v1/convert)

FormatoutputFormat value
PDFpdf
Fountainfountain
Final Draft (FDX v4)fdx or fdx4
Final Draft (FDX v1)fdx1
Fade Infadein
Plain Texttxt

Example — Check a Script

Send screenplay text as JSON:

curl -X POST https://api.fountain.plus/v1/check \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{"text":"INT. COFFEE SHOP - DAY\n\nJANE\nThe usual, please."}'

Or upload a file with multipart/form-data:

curl -X POST https://api.fountain.plus/v1/check \
  -H "x-api-key: your-api-key-here" \
  -F "file=@script.fountain"

Example — Convert to PDF

curl -X POST https://api.fountain.plus/v1/convert \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{"text":"INT. COFFEE SHOP - DAY\n\nJANE\nThe usual, please.","outputFormat":"pdf"}' \
  --output script.pdf