Authentification methods
Using WordPress cookies
Headers to send with your request:
- X-WP-Nonce: open your browser console, enter “
wpApiSettings” and copy the nonce - Cookie: open your browser console, go to Applications, and copy the name AND the value of this cookie
wordpress_logged_in_(eg:wordpress_logged_in_41432erzre768dffez23456=admin%AREGREJOGRE54Y65KO534KTO4O3TJ43EFFEKZFOEZK£FEZRGTH)
Using Application passwords
This is the best solution. Create an application password from your WordPress profile.
Use your WP login (eg: admin) and this new app password to authenticate (choose “Basic Authentification” from Postman or equivalent).
Body (JSON Object) to sent with your request depending on the endpoint:
Title and meta description
{
"title":"this is SEO title",
"description":"this is meta description"
}
Target keywords
{
"_seopress_analysis_target_kw":"keyword1, keyword2"
}
Social metadata
{
"_seopress_social_fb_title":"my facebook title",
"_seopress_social_fb_desc":"my facebook description",
"_seopress_social_fb_img":"facebook image URL",
"_seopress_social_fb_img_attachment_id":"facebook attachment ID",
"_seopress_social_fb_img_width":"facebook attachment width",
"_seopress_social_fb_img_height":"facebook attachment height",
"_seopress_social_twitter_title":"my twitter title",
"_seopress_social_twitter_desc":"my twitter description",
"_seopress_social_twitter_img":"twitter image URL",
"_seopress_social_twitter_img_attachment_id":"twitter attachment ID",
"_seopress_social_twitter_img_width":"twitter attachment width",
"_seopress_social_twitter_img_height":"twitter attachment height"
}
Meta robots
{
"_seopress_robots_index":"yes",
"_seopress_robots_follow":"yes",
"_seopress_robots_archive":"yes",
"_seopress_robots_snippet":"yes",
"_seopress_robots_imageindex":"yes",
"_seopress_robots_canonical":"my canonical URL",
"_seopress_robots_primary_cat":"my primary cat ID",
"_seopress_robots_breadcrumbs":"my custom breadcrumbs"
}
Redirection
{
"_seopress_redirections_enabled":"yes",
"_seopress_redirections_logged_status":"both|only_logged_in|only_not_logged_in",
"_seopress_redirections_type":"301|302|307",
"_seopress_redirections_value":"my redirection URL"
}
Response:
If success:
{
"code": "success"
}
If fail:
{
"code": "rest_forbidden",
"message": "Sorry, you are not allowed to do that.",
"data": {
"status": 401
}
}
or
{
"code": "rest_cookie_invalid_nonce",
"message": "Cookie check failed",
"data": {
"status": 403
}
}
Request post metadata
Since SEOPress 5.0, you can request your post SEO metadata using our REST API.
These GET routes are public and do not require authentication or the edit_post capability. Post metadata is returned only for published posts when password protection does not block the request.
2 routes are currently available:
/wp-json/seopress/v1/posts/[postId]: replace [postId] by the ID of your post/wp-json/seopress/v1/posts/by-url?url=https://example.com/seopress-best-wordpress-seo-plugin/replace the URL by the desired permalink
Available method: GET.
When metadata is available, the response contains success: true and the metadata in data. The JSON below shows only the data object; for example, read the title from response.data.title.
{
"title": "SEOPress, Best WordPress SEO plugin",
"description": "My super meta description",
"canonical": "https://example.com/seopress-best-wordpress-seo-plugin/",
"og": {
"title": "My Facebook title",
"description": "My Facebook description",
"image": "https://example.com/seopress-best-wordpress-seo-plugin.jpg",
"attachment_id": "1",
"image_width": "1920",
"image_height": "1080"
},
"twitter": {
"title": "My Twitter title",
"description": "My Twitter description",
"image": "https://example.com/seopress-best-wordpress-seo-plugin.jpg",
"attachment_id": "1",
"image_width": "1920",
"image_height": "1080"
},
"robots": {
"noindex": false,
"nofollow": false,
"nosnippet": false,
"noimageindex": false
},
"primarycat": "1",
"breadcrumbs": "my custom breadcrumbs for current item",
"redirections": {
"enabled": true,
"status":"both",
"type":"301",
"value":"https://example.com/destination-url/"
}
}
To request your data, you can for example use the WordPress HTTP API.
Request term metadata
Since SEOPress 5.5, you can request your term SEO metadata using our REST API.
This GET route is public, with or without the taxonomy parameter, and does not require authentication or the edit_post capability.
2 routes are currently available:
/wp-json/seopress/v1/terms/[termId]: replace [termId] by the ID of your term/wp-json/seopress/v1/terms/[termId]?taxonomy=[yourCustomTaxonomy]similar to the previous route, with taxonomy argument (default: “category” if not provided)
Available method: GET.
When metadata is available, the response contains success: true and the metadata in data. The JSON below shows only the data object; for example, read the title from response.data.title.
{
"title": "My super term title",
"description": "My super term meta description",
"canonical": "https://example.com/seopress-best-wordpress-seo-plugin/",
"og": {
"title": "My Facebook term title",
"description": "My Facebook term description",
"image": "https://example.com/term-seopress-best-wordpress-seo-plugin.jpg",
"attachment_id": "1",
"image_width": "1920",
"image_height": "1080"
},
"twitter": {
"title": "My Twitter term title",
"description": "My Twitter term description",
"image": "https://example.com/term-seopress-best-wordpress-seo-plugin.jpg",
"attachment_id": "1",
"image_width": "1920",
"image_height": "1080"
},
"robots": {
"noindex": false,
"nofollow": false,
"nosnippet": false,
"noimageindex": false
},
"breadcrumbs": "my custom breadcrumbs for current item",
"redirections": {
"enabled": true,
"status":"both",
"type":"301",
"value":"https://example.com/destination-url/"
}
}
Send post metadata
To write SEO post metadata, you can use these endpoints:
- title and meta description:
/wp-json/seopress/v1/posts/[postId]/title-description-metas - target keywords:
/wp-json/seopress/v1/posts/[postId]/target-keywords - social meta:
/wp-json/seopress/v1/posts/[postId]/social-settings - meta robots:
/wp-json/seopress/v1/posts/[postId]/meta-robot-settings - redirection:
/wp-json/seopress/v1/posts/[postId]/redirection-settings
Required user capability for security: edit_post
Available method: PUT.
Request SEOPress’ settings
Since SEOPress 5.5, you can request your SEOPress’ global settings using our REST API.
10 routes are currently available:
/wp-json/seopress/v1/options/dashboard-settings: Dashboard settings/wp-json/seopress/v1/options/titles-settings: Titles and metas settings/wp-json/seopress/v1/options/social-settings: Social networks settings/wp-json/seopress/v1/options/sitemaps-settings: Sitemaps settings/wp-json/seopress/v1/options/analytics-settings: Analytics settings/wp-json/seopress/v1/options/advanced-settings: Advanced settings/wp-json/seopress/v1/options/bot-settings: Bot settings/wp-json/seopress/v1/options/indexing-settings: Instant Indexing settings/wp-json/seopress/v1/options/license-settings: License settings/wp-json/seopress/v1/options/pro-settings: PRO settings
Available method: GET.
You will get in response a JSON with the following informations (eg. with Dashboard settings):
{
"cards_order": [
"seopress-page-list",
"notice-insights-alert",
"seopress-news-panel"
],
"toggle-rich-snippets": "1",
"toggle-404": "1",
"toggle-bot": "1",
"toggle-titles": "1",
"toggle-white-label": "0",
"toggle-social": "1",
"toggle-xml-sitemap": "1",
"toggle-google-analytics": "1",
"toggle-advanced": "1",
"toggle-woocommerce": "1",
"toggle-edd": "1",
"toggle-local-business": "1",
"toggle-dublin-core": "1",
"toggle-breadcrumbs": "1",
"toggle-robots": "1",
"toggle-news": "1",
"toggle-rewrite": "1",
"toggle-instant-indexing": "1",
"notice-wizard": "1"
}
Request Redirections
Since SEOPress 8.8, you can request your SEOPress’ redirections using our REST API.
1 route is currently available:
/wp-json/seopress/v1/redirections: to get all redirects, list of available arguments below:- id (optional): integer, redirect ID
- enabled (optional): string,
yesorno - type (optional): array of redirect types,
301,302,307,404,410,451
Available method: GET.
You will get in response a JSON with the following informations:
{
"success": true,
"data": {
"1681": {
"origin": "my-origin-redirect",
"destination": "https://www.seopress.org/redirect",
"enabled": "yes",
"type": "301",
"param": "",
"enabled_regex": "",
"logged_status": "",
"ip": "",
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",
"full_origin": "",
"date_request": "",
"count": "14",
"redirect_date_request": "1747125367"
}
}
}
Request Search Console reports of your posts
Since SEOPress 5.7, you can request your Google Search Console reports of your posts using our REST API.
1 route is currently available:
/wp-json/seopress/v1/posts/[postID]/inspect: replace [postID] by the ID of your post
Available method: GET, POST.
You will get in response a JSON with the following informations:
{
"google_api_key_is_empty": false,
"data": {
"inspectionResult": {
"inspectionResultLink": "https://search.google.com/search-console/inspect?resource_id=https://example.com/&id=xxxxxxxx&utm_medium=link&utm_source=api",
"indexStatusResult": {
"coverageState": "Indexed, not submitted in sitemap",
"crawledAs": "MOBILE",
"googleCanonical": "https://example.com/",
"indexingState": "INDEXING_ALLOWED",
"lastCrawlTime": "2022-04-29T13:25:27Z",
"pageFetchState": "SUCCESSFUL",
"referringUrls": [
"https://www.example.com/"
],
"robotsTxtState": "ALLOWED",
"sitemap": null,
"userCanonical": "https://example.com/",
"verdict": "PASS"
},
"mobileUsabilityResult": {
"verdict": "PASS"
},
"richResultsResult": {
"verdict": "PASS",
"detectedItems": [
{
"richResultType": "Logos",
"items": [
{
"name": "Unnamed item"
}
]
},
{
"richResultType": "Sitelinks searchbox",
"items": [
{
"name": "Unnamed item"
}
]
}
]
}
}
}
}
Request SEO alerts
Since SEOPress PRO 9.7 | PRO
/wp-json/seopress/v1/alerts
Method: GET
Returns real-time status of the three SEO alert checks: homepage noindex detection, robots.txt reachability, and XML sitemap reachability. Results are cached for 5 minutes.
Examples
- Get SEO alerts:
/wp-json/seopress/v1/alerts - Force a fresh check (bypasses cache):
/wp-json/seopress/v1/alerts?force=true
Parameters
| Argument | Description |
|---|---|
[force] |
Boolean. Bypass cache and force a fresh check. Default: false. Rate-limited to once per user per 60 seconds. |
Response
{
"homepage_noindex": {
"status": "ok",
"checked_url": "https://example.com",
"noindex_found": false
},
"robots_txt": {
"status": "ok",
"checked_url": "https://example.com/robots.txt",
"http_code": 200
},
"xml_sitemap": {
"status": "error",
"checked_url": "https://example.com/sitemaps.xml",
"http_code": 404
},
"timestamp": "2026-03-31T12:00:00+00:00"
}
Required capability: manage_options
Request automatic schemas
Since SEOPress PRO 9.7 | PRO
/wp-json/seopress/v1/schemas
Method: GET
Returns all automatic schema templates (structured data) configured in SEOPress.
Examples
- Get all schemas:
/wp-json/seopress/v1/schemas - Filter by schema type:
/wp-json/seopress/v1/schemas?type=faq
Parameters
| Argument | Description |
|---|---|
[type] |
Filter schemas by type. Accepted values: articles, localbusiness, faq, howto, courses, recipes, jobs, videos, events, products, softwareapp, services, review, custom. |
Response
{
"data": [
{
"id": 123,
"title": "My FAQ Schema",
"type": "faq",
"rules": [...],
"meta": {
"_seopress_pro_rich_snippets_faq_...": "..."
}
}
],
"total": 1
}
Required capability: edit_schemas
Request a single automatic schema
/wp-json/seopress/v1/schemas/[schemaId]
Method: GET
Returns a single automatic schema template by its ID.
Parameters
| Argument | Description |
|---|---|
<schemaId> |
The schema ID. |
Required capability: edit_schema
Create an automatic schema
/wp-json/seopress/v1/schemas
Method: POST
Creates a new automatic schema template.
JSON body
{
"title": "My FAQ Schema",
"type": "faq",
"rules": [...],
"meta": {
"_seopress_pro_rich_snippets_faq_...": "..."
}
}
Parameters
| Argument | Description |
|---|---|
<title> |
The schema title. Required. |
<type> |
The schema type. Required. Accepted values: articles, localbusiness, faq, howto, courses, recipes, jobs, videos, events, products, softwareapp, services, review, custom. |
[rules] |
Targeting rules (post types, taxonomies, etc.). Optional. |
[meta] |
Schema meta values. Keys must start with _seopress_pro_rich_snippets_. Optional. |
Required capability: publish_schemas
Update an automatic schema
/wp-json/seopress/v1/schemas/[schemaId]
Method: PUT
Updates an existing automatic schema template.
Parameters
| Argument | Description |
|---|---|
<schemaId> |
The schema ID. |
[title] |
The schema title. |
[type] |
The schema type. |
[rules] |
Targeting rules. |
[meta] |
Schema meta values. |
Required capability: edit_schema
Delete an automatic schema
/wp-json/seopress/v1/schemas/[schemaId]
Method: DELETE
Deletes an automatic schema template.
Parameters
| Argument | Description |
|---|---|
<schemaId> |
The schema ID. |
Required capability: delete_schema
Request manual schemas for a post
Since SEOPress PRO 5.0 | PRO
/wp-json/seopress/v1/posts/[postId]/schemas-manual
Method: GET
Returns the manual rich snippets (structured data) configured for a specific post, along with the available schema types and their fields.
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
Required capability: edit_post
Send manual schemas for a post
/wp-json/seopress/v1/posts/[postId]/schemas-manual
Method: PUT
Updates the manual rich snippets for a specific post.
JSON body
{
"schemas": [
{
"_seopress_pro_rich_snippets_type": "faq",
"_seopress_pro_rich_snippets_faq": [...]
}
]
}
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
Required capability: edit_post
Request video sitemap data for a post
Since SEOPress PRO 5.0 | PRO
/wp-json/seopress/v1/posts/[postId]/video-sitemap
Method: GET
Returns video sitemap data for a specific post, including all video entries and their fields (URL, title, description, thumbnail, duration, rating, etc.).
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
Required capability: edit_post
Send video sitemap data for a post
Since SEOPress PRO 5.1
/wp-json/seopress/v1/posts/[postId]/video-sitemap
Method: PUT
Updates video sitemap data for a specific post.
JSON body
{
"_seopress_video_disabled": false,
"videos": [
{
"url": "https://www.youtube.com/watch?v=xxxxx",
"title": "My Video Title",
"desc": "My video description",
"thumbnail": "https://example.com/thumb.jpg",
"duration": 120,
"rating": 4.5,
"tag": "seo, wordpress",
"family_friendly": false,
"internal_video": false,
"view_count": 1500
}
]
}
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
Required capability: edit_post
Request Google News settings for a post
Since SEOPress PRO 5.0 | PRO
/wp-json/seopress/v1/posts/[postId]/google-news-settings
Method: GET
Returns the Google News sitemap settings for a specific post.
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
Required capability: edit_post
Send Google News settings for a post
Since SEOPress PRO 5.1
/wp-json/seopress/v1/posts/[postId]/google-news-settings
Method: PUT
Updates the Google News sitemap settings for a specific post.
JSON body
{
"_seopress_news_disabled": "yes"
}
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
<_seopress_news_disabled> |
Set to “yes” to exclude the post from the Google News Sitemap. Omit or set to any other value to include it. |
Required capability: edit_post
Generate SEO metadata with AI
Since SEOPress PRO 5.0 | PRO
/wp-json/seopress/v1/posts/[postId]/generate-metas-by-ai
Method: POST
Generates an SEO title and meta description for a post using AI.
Examples
- Generate metadata in French:
POST /wp-json/seopress/v1/posts/123/generate-metas-by-ai{"lang": "fr_FR"}
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
[lang] |
Language/locale for generation. Optional. Default: site locale (e.g. en_US). |
Required capability: edit_post
Generate social metadata with AI
Since SEOPress PRO 9.4 | PRO
/wp-json/seopress/v1/posts/[postId]/generate-social-metas-by-ai
Method: POST
Generates social media meta tags (Open Graph or Twitter) for a post using AI.
Examples
- Generate a Facebook title in English:
POST /wp-json/seopress/v1/posts/123/generate-social-metas-by-ai{"platform": "facebook", "meta_type": "title", "lang": "en_US"}
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
<platform> |
The social platform. Accepted values: “facebook”, “twitter”. |
<meta_type> |
Which meta to generate. Accepted values: “title”, “desc”. |
[lang] |
Language/locale for generation. Optional. Default: site locale. |
Required capability: edit_post
Request significant keywords suggestions
Since SEOPress PRO 5.0 | PRO
/wp-json/seopress/v1/posts/[postId]/significant-keywords
Method: GET
Returns keyword suggestions based on the post content analysis.
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
Response
{
"suggestions": [
{"keyword": "seo", "count": 12, "density": 2.5},
{"keyword": "wordpress", "count": 8, "density": 1.7}
]
}
Required capability: edit_post
Request SEO issues
Since SEOPress 8.2, you can request your SEO issues (Site Audit feature) using our REST API.
2 routes are currently available:
/wp-json/seopress/v1/seo-issues/[postId]: to get the SEO issues of the post, replace [postId] by the desired post ID/wp-json/seopress/v1/seo-issues/to get all issues, list of available arguments below:- id (optional): post ID
-
ignore (optional): boolean (
1or0) - type (optional):
all_canonical, json_schemas, old_post, permalink, headings, title, description, social, robots, img_alt, nofollow_links, outbound_links, internal_links - priority (optional):
high, medium, low, good -
name (optional):
json_schemas_duplicated, json_schemas_not_found, old_post, keywords_permalink, headings_not_found, headings_h1_duplicated, headings_h1_not_found, headings_h1_without_target_kw, headings_h2_without_target_kw, headings_h3_without_target_kw, title_without_target_kw, title_too_long, title_not_custom, description_without_target_kw, description_too_long, description_not_custom, og_title_duplicated, og_title_empty, og_title_missing, og_desc_duplicated, og_desc_empty, og_desc_missing, og_img_empty, og_img_missing, og_url_duplicated, og_url_empty, og_url_missing, og_sitename_duplicated, og_sitename_empty, og_sitename_missing, x_title_duplicated, x_title_empty, x_title_missing, x_desc_duplicated, x_desc_empty, x_desc_missing, x_img_empty, x_img_missing, meta_robots_duplicated, meta_robots_noindex, meta_robots_nofollow, meta_robots_noimageindex, meta_robots_nosnippet, meta_robots_nositelinkssearchbox, img_alt_missing, img_alt_no_media, nofollow_links_too_many, outbound_links_missing, internal_links_missing, canonical_duplicated, canonical_missing
Available method: GET.
You will get in response a JSON with the following informations:
{
"success": true,
"data": [
{
"id": "1",
"post_id": "1",
"issue_name": "json_schemas_not_found",
"issue_desc": "",
"issue_type": "json_schemas",
"issue_priority": "medium",
"issue_ignore": "1"
},
{
"id": "2",
"post_id": "1",
"issue_name": "keywords_permalink",
"issue_desc": "",
"issue_type": "permalink",
"issue_priority": "medium",
"issue_ignore": "0"
},
{
"id": "3",
"post_id": "1",
"issue_name": "headings_h1_without_target_kw",
"issue_desc": "",
"issue_type": "headings",
"issue_priority": "high",
"issue_ignore": "0"
}
];
}
Request content analysis
Since SEOPress 5.0 | Free
/wp-json/seopress/v1/posts/[postId]/content-analysis
Method: GET
Runs a full content analysis on the given post and returns detailed SEO checks (internal links, outbound links, score, keyword usage, etc.).
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
[target_keywords] |
Optional. Comma-separated keywords to analyze. If omitted, uses the keywords saved in the database. |
Required capability: edit_post
Save content analysis
Since SEOPress 5.0 | Free
/wp-json/seopress/v1/posts/[postId]/content-analysis
Method: POST
Saves content analysis data (internal links, outbound links and score) for a post.
JSON body
{
"score": "good",
"internal_links": ["https://example.com/page1", "https://example.com/page2"],
"outbound_links": ["https://external.com/page1"]
}
Parameters
| Argument | Description |
|---|---|
<postId> |
The post ID. |
Required capability: edit_post
Request Google Page Speed report
Since SEOPress 8.8, you can request your Google Page Speed report using our REST API.
1 route is currently available:
/wp-json/seopress/v1/page-speedto get the Google Page Speed report, list of available arguments below:- device (optional):
mobile (default) or desktop
- device (optional):
Available method: GET.
You will get a JSON response.
Request Google Analytics 4 stats
Since SEOPress 8.8, you can request your Google Analytics 4 stats using our REST API.
1 route is currently available:
/wp-json/seopress/v1/ga4to get the Google Analytics 4 stats
Available method: GET.
You will get a JSON response with all the metrics per date.
Request Matomo Analytics stats
Since SEOPress 8.8, you can request your Matomo Analytics stats using our REST API.
1 route is currently available:
/wp-json/seopress/v1/matomoto get the Matomo Analytics stats
Available method: GET.
You will get a JSON response with all the metrics per date.
Request rankings from SEOPress Insights
Since SEOPress Insights 2.0, you can request your keyword rankings using our REST API.
1 route is currently available:
/wp-json/seopress-insights/v1/rankings, list of available arguments below:- kws (optional): array of IDs
- cpt (optional): string,
seopress_rankings - dates (optional): array of timestamp
Available method: GET.
You will get in response a JSON with the following informations:
{
"2025/02/17": [
{
"keyword": "your keyword",
"p": 18,
"url": "https://www.seopress.org/example",
"search_volume": 2900,
"cpc": 4.1100000000000003,
"competition": 0.13,
"date": 1739760053,
"added": 1634064757,
"id": 7389
}
],
}
Request competitors from SEOPress Insights
Since SEOPress Insights 2.0, you can request your competitors ranking on the first position using our REST API.
1 route is currently available:
/wp-json/seopress-insights/v1/competitors, list of available arguments below:- kws (optional): array of IDs
- cpt (optional): string,
seopress_p1_rankings - dates (optional): array of timestamp
Available method: GET.
You will get in response a JSON with the following informations:
{
"2025/02/17": [
{
"keyword": "your keyword",
"p": 18,
"url": "https://www.example.com/my-competitor",
"search_volume": 2900,
"cpc": 4.1100000000000003,
"competition": 0.13,
"date": 1739760053,
"added": 1634064757,
"id": 7389
}
],
}
Request backlinks from SEOPress Insights
Since SEOPress Insights 2.0, you can request your backlinks using our REST API.
1 route is currently available:
/wp-json/seopress-insights/v1/backlinks
Available method: GET.
You will get in response a JSON with the following informations:
[
{
"backlink": "https://example.com/seopress",
"acr_rank": 1,
"anchor_text": "visit website",
"source_title": "SEOPress",
"source_out_domains_ext": "2",
"source_out_links_ext": "3",
"source_out_links_int": "6",
"source_language": "en",
"source_language_desc": "English",
"source_language_conf": 99,
"flag_redirect": 0,
"flag_frame": 0,
"flag_no_follow": 1,
"flag_images": 0,
"flag_deleted": 0,
"flag_alt_text": 0,
"flag_mention": 0,
"target_url": "https://www.seopress.org/",
"indirect_target_url": "",
"indirect_target_type": "",
"target_title": "SEOPress - The Best SEO Tools for WordPress in 2025",
"target_language": "en",
"target_language_desc": "English",
"target_language_conf": 99,
"links_root_domain": -1,
"domain_id": 3245,
"first_indexed_date": "2025-02-19",
"last_seen_date": "2025-02-19",
"date_lost": "",
"reason_lost": "",
"link_type": "TextLink",
"link_sub_type": "TextLink_Normal",
"target_citation_flow": 42,
"target_trust_flow": 28,
"target_topical_tf": "Business",
"target_topical_tf_value": 27,
"source_cf": 9,
"source_tf": 0,
"source_topical_tf": "",
"source_topical_tf_value": "",
"source_topical_tf_1": "",
"source_topical_tf_value_1": "",
"source_topical_tf_2": "",
"source_topical_tf_value_2": "",
"date": false
},
]
Request the Insights dashboard
Returns the dashboard payload: KPI summary, ranking trend, keyword movers, position distribution, favorite keywords and backlink summary.
GET /wp-json/seopress-insights/v1/dashboard
Add a backlink manually
Adds a link the Majestic import has not found, for example a partnership or a guest post. Only source_url is required.
POST /wp-json/seopress-insights/v1/backlinks/manual
{
"source_url": "https://example.com/blog/post",
"target_url": "https://your-site.com/page",
"anchor_text": "your anchor",
"source_language": "en",
"flag_no_follow": false,
"source_cf": 30,
"source_tf": 25,
"first_indexed_date": "2026-08-01",
"source_topical_tf": "Computers/Internet"
}
All Insights routes require the matching Insights capability. See SEOPress & Insights user capabilities.