Get page content performance report
Returns a detailed content performance report for a single tracked page, covering SEO performance, AI citations, conversion funnels, traffic, SERP position, keywords, page lifecycle, or activity.
Example: Pull the SEO performance report for one tracked page over a date range.
Usage: Set report_type to the report you want and pass the page_id to report on. The keyword, SERP, and target-keyword reports need a market to be chosen. Scope the numbers with a date window, and for the AI-citations and keyword reports you can narrow by search text. The longer reports come back in pages of up to 100 (50 by default). Resolve the page_id first by calling POST /content-intelligence/dashboard with view=pages and the page URL or title in search.
Response: the requested report for that page: its metrics, trends, and the supporting rows for the chosen report type.
Authorizations
Writesonic API key
Headers
Project ID for tenant scoping
Overrides the key's workspace
Body
report_type: Which per-page report to return. One of: seo_performance, keywords, ai_citations, geo_visibility, lifecycle_status, ai_citations_prompts, ai_citations_platforms, ai_citations_topics, ai_activity, ai_search_funnel, seo_funnel, marketing_traffic, serp_intelligence, search_referrals, content_signals, activity_log, target_keywords, metadata.
seo_performance, keywords, ai_citations, geo_visibility, lifecycle_status, ai_citations_prompts, ai_citations_platforms, ai_citations_topics, ai_activity, ai_search_funnel, seo_funnel, marketing_traffic, serp_intelligence, search_referrals, content_signals, activity_log, target_keywords, metadata The content-intelligence page to report on. Resolve it via get_ci_dashboard view=pages, search= — the page is never referred to by id in natural language.
Market from get_ci_dashboard view=countries. Required for keywords, serp_intelligence, target_keywords and seo_funnel.
Current window start date - pairs with curr_end/prev_start/prev_end: provide all four or omit all four (defaults to trailing 30 days), else 422. Each range needs start<end, equal current/prior length, and prev_end<=curr_start.
Current window end date - see curr_start.
Comparison window start date - see curr_start.
Comparison window end date - see curr_start.
Keyword-intent filter.
The /pages keyword_intent filter: classifies a page by whether its
primary target keyword contains any of the project's brand aliases. Modelled
on statuses (multi-select; both-or-none selected = no filter). An intent
signal, not a traffic signal.
branded, non_branded Page number for paginated reports.
x >= 1Page size for paginated reports.
1 <= x <= 100Sort for AI-citations tab reports as ':
' (dir=asc|desc); valid keys are per-tab.Substring filter for AI-citations tab reports (prompt/platform/topic) and the keywords report.
200Category filter for the activity_log report.
all, changes, impact, alerts Opaque pagination cursor for the activity_log report.
Response
Successful Response