The Repagify API
Convert long-form content, manage your source library, and check plan usage directly from your own tools, scripts, or the WordPress plugin.
Getting started
- Step 1 — Create a key
Open Settings → API Keys and choose “Create API Key”. Your key is shown exactly once at creation — we only store a hash of it, so it can never be retrieved again. Lost a key? Revoke it and create a new one.
- Step 2 — Base URL
All endpoints live under
https://repagify.afriflare.com/api/v1 - Step 3 — Authenticate
Send your key on every request as a Bearer token:
Endpoints
Returns the account behind the API key and its current usage.
| string | The account email address. | |
| plan_tier | string | free, creator, pro, or agency. |
| is_admin | boolean | Whether the account has admin access. |
| limit_type | string | lifetime, monthly, or unlimited. |
| conversions_used | number | Conversions counted in the current window. |
| conversion_limit | number | null | Null when the plan is unlimited. |
| conversions_remaining | number | null | Null when the plan is unlimited. |
Converts long-form content into a finished piece. Generations count against the same plan quota as the web app, and brand voice is applied automatically on Pro and Agency.
| text | string | The source content — 100 to 50,000 characters. |
| output_type | string | blog, linkedin, twitter, or newsletter. |
| tone | string | professional, conversational, authoritative, casual, or inspirational. |
| keyword | string? | Optional focus keyword to weave in. |
| source_id | string? | Optional source to attach the conversion to. |
| content | string | The generated content. |
| output_type | string | Echo of the requested format. |
| tone | string | Echo of the requested tone. |
| word_count | number | Word count of the generated content. |
| conversion_id | string | ID of the saved conversion. |
Lists the sources saved on the account, newest first.
| limit | number? | Defaults to 25, maximum 100. |
| offset | number? | Number of rows to skip. Defaults to 0. |
| sources | array | Each item has id, title, source_type, word_count, and created_at. |
Creates a new source in the account's library.
| title | string | Name of the source. |
| content | string | The full source text. |
| source_type | string | book, article, document, url, or transcript. |
| description | string? | Optional short description. |
| source | object | The newly created source. |
Rate limits
60 / minute
Read endpoints — GET /me and GET /sources.
20 / minute
POST /generate.
Limits are counted per API key, not per account — issue separate keys per integration to keep them independent. Every response includes X-RateLimit-Limit and X-RateLimit-Remaining. A 429 response also includes Retry-After in seconds.
Errors
| 400 | invalid_request | Malformed JSON or a field that failed validation. |
| 401 | unauthorized | Missing, invalid, or revoked API key. |
| 402 | limit_reached | Your plan's conversion limit has been reached. |
| 429 | rate_limited | Too many requests — slow down and retry. |
| 500 | server_error | Something failed on our side. |
Example request
Turn a book chapter into a LinkedIn post:
Get Notified About API Changes
New endpoints, breaking changes, and deprecations — we will email you before anything in your integration stops working.