Modern Web (content API and webhook)
Publish to any site that is not WordPress: fetch articles with an API key (PULL) or receive each article on your webhook (PUSH).
"Modern Web Integration" is for any site that does not run WordPress: a custom site, a headless CMS, a static site. There are two ways, and you can use either. With PULL, your site fetches articles from Rankfender with an API key. With PUSH, Rankfender sends each article to your webhook when you publish it. Every plan has it.
Open it with "Connect" (or "Configure") on the card in Settings › Integrations. The dialog has two tabs, "PULL (API)" and "PUSH (Webhook)", and is in English.
PULL: your site fetches articles
Click "Generate API Key"
The key appears with a "Copy" button. "Keep this key secure. For production, use environment variables and server-side rendering."
Click "Test Connection"
"Connection successful! API key is valid and working." confirms the key.
Copy an example
Use the direct API call (curl) shown on the card: it works as written and sends the key in the X-Rankfender-Key header. The Next.js, React and iframe samples on the card rely on an SDK package and embed script that are not published, so call the API directly from your framework instead.
Parameters and responses: Content API reference and Authentication.
PUSH: Rankfender sends each article
| Field | What to enter |
|---|---|
| Webhook URL | "The endpoint where Rankfender will POST article data", such as https://your-website.com/api/rankfender/publish. |
| "Authentication Method" | None, API Key (X-API-Key header), Bearer Token, Basic Auth, or Webhook Secret (X-Webhook-Secret header). |
| The credential | The key, token or secret for that method. Hidden as you type. |
| "Custom Headers (Optional)" | "Additional HTTP headers as JSON", such as {"X-Custom-Header": "value"}. |
| "Enable Webhook" | "When enabled, articles will be sent to your webhook when published". |
Click "Save Configuration", then "Test Webhook": Rankfender sends a test article titled "Rankfender Webhook Test" with the header X-Rankfender-Test: true. Any 2xx answer passes. After real deliveries, "Last successful call:" shows the date.
What your endpoint receives
- A POST with a JSON body and the headers X-Rankfender-Event: article.published and X-Rankfender-Domain.
- The article: title, slug, content (HTML), excerpt, meta_description, meta_title, keywords, featured_image, author, published_at, plus seo_data and custom_data.
- Your endpoint must answer 200 to 299. It can return {"url": "..."} with the address of the published page.
- Rankfender does not store anything on your side: save the data in your own database or CMS.
Full field list and headers: Webhooks.
Note
Which articles are published, and when, is set in Content: Publishing and autopilot.