Documentation

RankoPress API

Points d’entrée, formats et exemples d’appel.

Base URL

https://app.rankopress.com/api

Authentication

Send your key in the X-API-Key header. Also add Accept: application/json and a descriptive User-Agent.

curl -H "X-API-Key: rp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
     -H "Accept: application/json" \
     -H "User-Agent: my-app/1.0" \
     https://app.rankopress.com/api/credits

The Authorization: Bearer <key> header is also accepted for backwards compatibility.

Endpoints

GET /articles — list the catalog

curl -H "X-API-Key: $KEY" https://app.rankopress.com/api/media?lang=fr&theme=sante

GET /credits — your balance

curl -H "X-API-Key: $KEY" https://app.rankopress.com/api/me

Returns the authenticated user with balanceCents.

POST /orders — create an order

curl -X POST https://app.rankopress.com/api/orders \
     -H "X-API-Key: $KEY" \
     -H "Content-Type: application/json" \
     -d '{
       "mediaId": "<media-id-from-catalog>",
       "targetUrl": "https://your-site.com/landing",
       "anchor": "best running shoes",
       "writingMode": "written-by-us",
       "briefMd": "Angle: comparison for 2026 buyers..."
     }'

GET /orders — list your orders

curl -H "X-API-Key: $KEY" https://app.rankopress.com/api/orders

GET /orders/:id — one order

curl -H "X-API-Key: $KEY" https://app.rankopress.com/api/orders/<id>

Response format

All responses are JSON. HTTP codes:

  • 200 / 201 — success
  • 400 — malformed JSON
  • 401 — missing / invalid / revoked key
  • 402 — insufficient balance (only in live mode)
  • 422 — validation error
  • 429 — rate limited

Sandbox vs Live

Switch mode from the API access page. In sandbox, orders are accepted but no credit is debited and nothing is published — perfect for integration tests.