Developer Platform

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.

Available now · v1 Pro & Agency plans

Getting started

  1. 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.

  2. Step 2 — Base URL

    All endpoints live under https://repagify.afriflare.com/api/v1

  3. Step 3 — Authenticate

    Send your key on every request as a Bearer token:

    HTTP header
    Authorization: Bearer rpg_live_...

Endpoints

GET/me

Returns the account behind the API key and its current usage.

Response
emailstringThe account email address.
plan_tierstringfree, creator, pro, or agency.
is_adminbooleanWhether the account has admin access.
limit_typestringlifetime, monthly, or unlimited.
conversions_usednumberConversions counted in the current window.
conversion_limitnumber | nullNull when the plan is unlimited.
conversions_remainingnumber | nullNull when the plan is unlimited.
POST/generate

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.

Body
textstringThe source content — 100 to 50,000 characters.
output_typestringblog, linkedin, twitter, or newsletter.
tonestringprofessional, conversational, authoritative, casual, or inspirational.
keywordstring?Optional focus keyword to weave in.
source_idstring?Optional source to attach the conversion to.
Response
contentstringThe generated content.
output_typestringEcho of the requested format.
tonestringEcho of the requested tone.
word_countnumberWord count of the generated content.
conversion_idstringID of the saved conversion.
GET/sources

Lists the sources saved on the account, newest first.

Query parameters
limitnumber?Defaults to 25, maximum 100.
offsetnumber?Number of rows to skip. Defaults to 0.
Response
sourcesarrayEach item has id, title, source_type, word_count, and created_at.
POST/sources

Creates a new source in the account's library.

Body
titlestringName of the source.
contentstringThe full source text.
source_typestringbook, article, document, url, or transcript.
descriptionstring?Optional short description.
Response
sourceobjectThe 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

400invalid_requestMalformed JSON or a field that failed validation.
401unauthorizedMissing, invalid, or revoked API key.
402limit_reachedYour plan's conversion limit has been reached.
429rate_limitedToo many requests — slow down and retry.
500server_errorSomething failed on our side.
Error response shape
{
  "error": {
    "code": "invalid_request",
    "message": "text must be at least 100 characters."
  }
}

Example request

Turn a book chapter into a LinkedIn post:

curl
curl -X POST https://repagify.afriflare.com/api/v1/generate \
  -H "Authorization: Bearer rpg_live_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Chapter three explores why most productivity systems fail...",
    "output_type": "linkedin",
    "tone": "conversational",
    "keyword": "productivity systems"
  }'

Get Notified About API Changes

New endpoints, breaking changes, and deprecations — we will email you before anything in your integration stops working.