PageSum API

Summarize links, videos and text from your own code. Credit based.

Authentication

Create a key on your Account page and send it as a bearer token. Keep it secret: it spends your credits.

Authorization: Bearer psk_…

POST /api/v1/summarize

Send exactly one of url or text.

curl https://pagesum.app/api/v1/summarize \
  -H "Authorization: Bearer psk_…" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=…", "mode": "quick"}'
  • url: an article, YouTube, TikTok, Instagram, Facebook or X link.
  • text: plain text, up to 200,000 characters.
  • mode: auto (default), quick, key-points, detailed, eli5, eli10 or one-liner.
  • length: short, medium (default) or long.
  • language: a language code such as en. Default: the content's own language.

Response:

{
  "title": "…",
  "mode": "quick",
  "language": "en",
  "summary": "…",
  "tldr": "…",
  "source": { "type": "video", "url": "…", "durationSeconds": 312, "transcribedSeconds": null, "captions": true, "cut": false },
  "credits": { "charged": 1, "balance": 99 }
}

Nothing is saved to your PageSum history. The balance is also in the X-Credits-Balance header.

Credits

RequestCredits
Article or text1
Video with captions, up to 25 minutes1
Video without captions, up to 10 minutes4
Video without captions, each further 10 minutes (up to 25)+2

Videos without captions longer than 25 minutes are cut to their first 25 minutes (source.cut is true). Captioned videos longer than 25 minutes are refused. A failed request costs nothing. While a video request runs, up to 8 credits are held and the unused part is returned when it finishes.

Plans and limits

PlanCredits a monthRequests a minuteVideo requests a minute
Starter ($9)1006010
Builder ($29)40012020
Scale ($79)1,50030040

Credits reset at each renewal and do not roll over. Builder and Scale can buy extra credits from the Account page at their plan rate; they expire at the next reset. See the plans.

Errors

Errors return JSON with message and data.code.

  • 401 invalid_api_key: missing, unknown or revoked key.
  • 402 insufficient_credits: the balance is below what the request could cost (data.balance, data.needed).
  • 422 media_too_long, video_no_captions and similar: the video can't be processed.
  • 429 rate_limited: you sent more requests in a minute than your plan allows. The Retry-After header says when to try again.

Questions or more credits: [email protected]