# Content & page quality

Briefs, content gaps, on-page checks, internal links, and publishing decisions.

All paths below are relative to `https://www.agentseo.dev/api/v1`. Send your key in `x-api-key`. Set `AGENTSEO_API_KEY` in your environment before running the examples. IDs and results are illustrative.

[Async result handling](https://www.agentseo.dev/docs/async-jobs) · [Errors and limits](https://www.agentseo.dev/docs/errors) · [OpenAPI contract](https://www.agentseo.dev/openapi.yaml)

## POST`/content/gap`

Identify missing topics and return an agent\_workflow plus a compact content\_brief for what to publish or refresh next.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `url`Required | string | Your target URL |
| `keyword`Required | string | Main target keyword |
| `location` | string | Target location (default: US) |
| `location_code` | integer | Optional search location code for deterministic geo-targeting |
| `language` | string | ISO code (default: en) |
| `scrape_depth` | enum | h1, h2, or h3 (default: h3) |

POST /content/gap example

```
curl -X POST https://www.agentseo.dev/api/v1/content/gap?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://mysite.com/blog/seo", "keyword":"seo tips", "location":"Austin, TX", "location_code":1026201}'
```

## POST`/content/refresh-brief`

Turn an existing URL and keyword into an implementation-ready refresh brief with gap evidence, sections to add, title/H1 guidance, internal-link tasks, schema recommendations, validation checklist, agent\_workflow, and markdown\_summary. Requests cost 12 credits.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `url`Required | string | Existing page URL to refresh |
| `keyword`Required | string | Main target keyword |
| `location` | string | Target location (default: United States) |
| `location_code` | integer | Optional search location code for deterministic geo-targeting |
| `language` | string | ISO code (default: en) |
| `scrape_depth` | enum | h1, h2, or h3 (default: h3) |
| `current_rank` | integer | Known current rank for priority shaping |
| `refresh_goal` | string | recover\_rankings, improve\_conversions, win\_featured\_snippet, improve\_ai\_visibility, or expand\_topic\_depth |

POST /content/refresh-brief example

```
curl -X POST https://www.agentseo.dev/api/v1/content/refresh-brief?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://mysite.com/blog/seo", "keyword":"seo tips", "location":"United States", "current_rank":12, "refresh_goal":"expand_topic_depth"}'
```

## POST`/content/serp-outline`

Turn a live SERP into a writer- and agent-ready page outline with title options, H2 sections, questions to answer, schema recommendations, validation checklist, agent\_workflow, and markdown\_summary. Requests cost 4 credits.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `keyword`Required | string | Main target keyword |
| `target` | string | Optional target brand, domain, or product to route the outline toward |
| `location` | string | Target location (default: United States) |
| `location_code` | integer | Optional search location code for deterministic geo-targeting |
| `language` | string | ISO code (default: en) |
| `device` | enum | desktop or mobile (default: desktop) |
| `outline_depth` | enum | brief, standard, or detailed (default: standard) |
| `include_title_options` | boolean | Return title options with the outline (default: true) |

POST /content/serp-outline example

```
curl -X POST https://www.agentseo.dev/api/v1/content/serp-outline?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"seo api", "target":"AgentSEO", "location":"United States", "outline_depth":"standard"}'
```

## POST`/content/brief`

Turn a live SERP into a production-ready content brief with audience, meta, SERP expectations, competitor patterns, differentiators, proof requirements, conversion plan, QA checklist, optional outline, agent\_workflow, and markdown\_summary. Requests cost 6 credits.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `keyword`Required | string | Main target keyword |
| `target` | string | Optional target brand, domain, or product |
| `audience` | string | Optional audience description for writer guidance |
| `location` | string | Target location (default: United States) |
| `language` | string | ISO code (default: en) |
| `device` | enum | desktop or mobile (default: desktop) |
| `brand_voice` | enum | neutral, expert, friendly, bold, or technical (default: expert) |
| `page_type` | enum | auto, blog\_post, landing\_page, comparison\_page, guide, or tool\_page |
| `brief_depth` | enum | standard or detailed (default: standard) |
| `include_serp_outline` | boolean | Include the structured SERP outline in the response (default: true) |

POST /content/brief example

```
curl -X POST https://www.agentseo.dev/api/v1/content/brief?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"seo api", "target":"AgentSEO", "audience":"technical marketers", "location":"United States", "brief_depth":"standard"}'
```

## POST`/content/draft-qa`

Validate a draft URL or markdown against live SERP expectations before publishing. Returns publish\_readiness\_score, readiness, missing SERP expectations, weak sections, proof gaps, title/meta issues, schema recommendations, editor tasks, agent\_workflow, and markdown\_summary. Requests cost 8 credits.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `keyword`Required | string | Main target keyword |
| `draft_url` | string | Draft or staged page URL to scrape |
| `draft_markdown` | string | Draft markdown when a URL is not available. Either draft\_url or draft\_markdown is required. |
| `target` | string | Optional target brand, domain, or product |
| `location` | string | Target location (default: United States) |
| `language` | string | ISO code (default: en) |
| `device` | enum | desktop or mobile (default: desktop) |
| `qa_depth` | enum | standard or strict (default: standard) |

POST /content/draft-qa example

```
curl -X POST https://www.agentseo.dev/api/v1/content/draft-qa?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"seo api", "target":"AgentSEO", "location":"United States", "draft_markdown":"# SEO API Guide\n\nThis draft explains what an SEO API is and how marketers use SERP data before publishing."}'
```

## POST`/content/schema-plan`

Plan JSON-LD schema for a URL or markdown page without a paid provider call. Returns recommended schema types, JSON-LD draft, required fields checklist, missing page evidence, FAQ candidates, implementation notes, validation checklist, agent\_workflow, and markdown\_summary. Requests cost 3 credits.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `url` | string | Page URL to scrape. Either url or page\_markdown is required. |
| `page_markdown` | string | Page markdown when a URL is not available. |
| `page_type` | enum | auto, article, blog\_post, landing\_page, product, software, local\_business, faq, or how\_to |
| `keyword` | string | Optional target keyword for context |
| `target` | string | Optional target brand, domain, or product |
| `include_jsonld` | boolean | Include JSON-LD draft blocks (default: true) |

POST /content/schema-plan example

```
curl -X POST https://www.agentseo.dev/api/v1/content/schema-plan?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"seo api", "target":"AgentSEO", "page_type":"software", "include_jsonld":true, "page_markdown":"# SEO API Platform\n\nAgentSEO is a software platform for marketers that need structured SEO workflows."}'
```

## POST`/content/internal-links`

Find internal link opportunities from a source URL or markdown page to supplied target pages. Returns ranked placements, suggested anchor text, crawlability guardrails, review notes, agent\_workflow, and markdown\_summary. Requests cost 2 credits and do not call a paid SERP provider.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `source_url` | string | Source page URL to scrape. Either source\_url or source\_markdown is required. |
| `source_markdown` | string | Source page markdown when a URL is not available. |
| `target_pages`Required | array | Required candidate internal target pages with url, title, optional description, and optional keywords. Use 1-50 pages from your sitemap, CMS, crawler, Search Console, or /site/sitemap-audit. |
| `keyword` | string | Optional source page target keyword for anchor review. |
| `target` | string | Optional target brand, domain, or product |
| `max_suggestions` | integer | Maximum link suggestions to return (default: 8, max: 20) |

POST /content/internal-links example

```
curl -X POST https://www.agentseo.dev/api/v1/content/internal-links?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"seo api", "target":"AgentSEO", "source_markdown":"# SEO API Guide\n\nThis guide explains SEO APIs, content briefs, draft QA, schema planning, and internal links.", "target_pages":[{"url":"https://www.agentseo.dev/docs/api-reference","title":"AgentSEO API Reference","description":"Reference documentation for AgentSEO endpoints.","keywords":["seo api reference","agentseo api"]}]}'
```

## POST`/content/title-meta`

Generate SEO title and meta description options for a URL or markdown page. Returns title options, meta description options, current signal checks, snippet risks, implementation checklist, agent\_workflow, and markdown\_summary. Requests cost 2 credits and do not call a paid SERP provider.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `keyword`Required | string | Primary target keyword or query |
| `url` | string | Page URL to scrape. Either url or page\_markdown is required. |
| `page_markdown` | string | Page markdown when a URL is not available. |
| `target` | string | Optional target brand, domain, or product |
| `page_type` | enum | auto, blog\_post, landing\_page, product, software, local\_business, comparison\_page, or guide |
| `current_title` | string | Optional current title element to audit |
| `current_meta_description` | string | Optional current meta description to audit |

POST /content/title-meta example

```
curl -X POST https://www.agentseo.dev/api/v1/content/title-meta?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"seo api", "target":"AgentSEO", "page_type":"software", "page_markdown":"# SEO API Platform\n\nAgentSEO helps marketers create content briefs, QA drafts, prepare schema, improve internal links, and optimize metadata before publishing useful SEO pages."}'
```

## POST`/content/keyword-map`

Map supplied keywords to supplied pages before drafting or refreshing content. Returns primary URL recommendations, weak matches, missing-page opportunities, cannibalization risks, implementation checklist, agent\_workflow, and markdown\_summary. Requests cost 2 credits and do not call a paid SERP provider.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `keywords`Required | array | Keyword list to map. Maximum 250 keywords. |
| `pages`Required | array | Candidate pages with url, title, optional description, headings, current\_keywords, and page\_type. |
| `target` | string | Optional target brand, domain, or product |
| `max_mappings` | integer | Maximum keyword mappings to return (default: 250) |

POST /content/keyword-map example

```
curl -X POST https://www.agentseo.dev/api/v1/content/keyword-map?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"AgentSEO","keywords":["seo api","seo api pricing","best seo api"],"pages":[{"url":"https://www.agentseo.dev/docs/api-reference","title":"AgentSEO API Reference","description":"Reference documentation for AgentSEO endpoints.","current_keywords":["seo api","agentseo api"],"page_type":"docs"},{"url":"https://www.agentseo.dev/pricing","title":"AgentSEO Pricing","description":"Pricing for AgentSEO plans.","current_keywords":["seo api pricing"],"page_type":"landing_page"}]}'
```

## POST`/content/technical-qa`

Run pre-publish technical SEO QA for a URL, HTML page, or markdown draft. Returns indexability, metadata, canonical, heading, structured-data, internal-link, image-alt, readiness-score, publish checklist, agent\_workflow, and markdown\_summary checks. Requests cost 2 credits and do not call a paid SERP provider.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `url` | string | Live page URL to fetch and inspect. Provide url, html, or markdown. |
| `html` | string | Raw HTML for unpublished or staging pages. |
| `markdown` | string | Markdown draft when HTML is not available. |
| `keyword` | string | Optional target keyword for title alignment checks. |
| `expected_canonical` | string | Expected canonical URL. Mismatches are treated as high severity. |
| `page_type` | enum | auto, article, blog\_post, landing\_page, product, software, local\_business, comparison\_page, guide, or docs |

POST /content/technical-qa example

```
curl -X POST https://www.agentseo.dev/api/v1/content/technical-qa?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"seo api", "target":"AgentSEO", "expected_canonical":"https://www.agentseo.dev/docs/api-reference", "page_type":"software", "html":"<html><head><title>SEO API Platform for Technical Marketers | AgentSEO</title><meta name=\"description\" content=\"Review an SEO API platform before publishing with metadata, canonical, schema, headings, and internal-link checks.\"><link rel=\"canonical\" href=\"https://www.agentseo.dev/docs/api-reference\"><meta name=\"robots\" content=\"index,follow\"></head><body><h1>SEO API Platform</h1><h2>Publishing workflow</h2><p>AgentSEO helps marketers validate pages before publishing useful SEO pages.</p><a href=\"https://www.agentseo.dev/docs\">Docs</a></body></html>"}'
```

## POST`/content/action-plan`

Turn supplied SEO opportunities, refresh candidates, technical fixes, and link tasks into a capacity-aware content calendar. Returns scheduled actions, weekly buckets, risk register, agent\_workflow, and markdown\_summary. Requests cost 2 credits and do not call a paid SERP provider.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `items`Required | array | Opportunity items to schedule. Each item needs a title; keyword, url, priority, impact\_score, effort, status, and dependencies improve planning. |
| `target` | string | Optional target brand, domain, or product. |
| `goal` | enum | traffic\_growth, lead\_generation, refresh\_decay, launch\_support, or authority\_building. |
| `horizon_days` | integer | Planning horizon from 7 to 90 days. Default: 30. |
| `weekly_capacity` | integer | Maximum effort points to schedule per week. Default: 5. |
| `team` | array | Optional assignee names for round-robin ownership. |

POST /content/action-plan example

```
curl -X POST https://www.agentseo.dev/api/v1/content/action-plan?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"AgentSEO","goal":"traffic_growth","horizon_days":30,"weekly_capacity":3,"team":["Editor","Dan"],"items":[{"title":"Refresh SEO API docs","keyword":"seo api","url":"https://www.agentseo.dev/docs/api-reference","opportunity_type":"refresh","buyer_stage":"consideration","priority":"critical","impact_score":92,"effort":"medium","status":"ready","dependencies":[]},{"title":"Publish best SEO API comparison","keyword":"best seo api","opportunity_type":"new_content","buyer_stage":"decision","priority":"high","impact_score":80,"effort":"medium","status":"idea","dependencies":["SERP outline"]}]}'
```

## POST`/site/sitemap-audit`

Audit sitemap coverage, sitemap-only orphan candidates, important URLs, canonical/indexability noise, and internal-link gaps. Returns findings, severity counts, implementation checklist, agent\_workflow, and markdown\_summary. Requests cost 2 credits and do not call a paid search API.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `sitemap_url` | string | Sitemap URL to fetch. Provide sitemap\_url or sitemap\_xml. |
| `sitemap_xml` | string | Raw sitemap XML. Useful for staging sites, pasted exports, or tests. |
| `important_urls` | array | High-priority URLs that should usually be in the sitemap and internally linked. |
| `crawl_urls` | array | Optional crawl/CMS/Search Console URL export with url, status\_code, indexable, canonical\_url, inbound\_internal\_links, clicks, and impressions. |
| `internal_links` | array | Optional internal-link export with source\_url, target\_url, and anchor. |
| `max_sitemap_children` | integer | When sitemap\_url is a sitemap index, fetch up to this many child sitemaps. Default: 3, max: 10. |

POST /site/sitemap-audit example

```
curl -X POST https://www.agentseo.dev/api/v1/site/sitemap-audit?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"AgentSEO","sitemap_xml":"<?xml version=\"1.0\" encoding=\"UTF-8\"?><urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"><url><loc>https://www.agentseo.dev/docs/api-reference</loc><lastmod>2026-07-16</lastmod></url><url><loc>https://www.agentseo.dev/old-page</loc></url></urlset>","max_sitemap_children":0,"important_urls":["https://www.agentseo.dev/docs/api-reference","https://www.agentseo.dev/pricing"],"crawl_urls":[{"url":"https://www.agentseo.dev/docs/api-reference","status_code":200,"indexable":true,"inbound_internal_links":4},{"url":"https://www.agentseo.dev/old-page","status_code":404,"indexable":false,"inbound_internal_links":0},{"url":"https://www.agentseo.dev/pricing","status_code":200,"indexable":true,"inbound_internal_links":2}],"internal_links":[{"source_url":"https://www.agentseo.dev/docs","target_url":"https://www.agentseo.dev/docs/api-reference","anchor":"API reference"}]}'
```

## POST`/serp/volatility`

Compare supplied SERP snapshots to detect rank movement, top-domain churn, SERP feature changes, winners, losers, and target visibility movement. Returns volatility score, interpretation, agent\_workflow, and markdown\_summary. Requests cost 2 credits and do not call a paid search API.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `keyword`Required | string | Keyword or query being monitored. |
| `snapshots`Required | array | At least two SERP snapshots. Each snapshot needs checked\_at and ranked results with position and url. |
| `target_domains` | array | Domains to track for visibility movement. |
| `location` | string | Search location label. Default: United States. |
| `device` | enum | desktop or mobile. Default: desktop. |
| `sensitivity` | enum | low, medium, or high. Higher sensitivity flags smaller changes. |

POST /serp/volatility example

```
curl -X POST https://www.agentseo.dev/api/v1/serp/volatility?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"seo api","target":"AgentSEO","location":"United States","device":"desktop","sensitivity":"medium","target_domains":["agentseo.dev"],"snapshots":[{"checked_at":"2026-07-10","serp_features":["featured_snippet"],"results":[{"position":1,"url":"https://www.agentseo.dev/docs/api-reference","domain":"agentseo.dev"},{"position":2,"url":"https://example-a.com/seo-api","domain":"example-a.com"},{"position":3,"url":"https://example-b.com/seo-api","domain":"example-b.com"}]},{"checked_at":"2026-07-16","serp_features":["ai_overview","people_also_ask"],"results":[{"position":1,"url":"https://example-c.com/seo-api","domain":"example-c.com"},{"position":2,"url":"https://example-d.com/seo-api","domain":"example-d.com"},{"position":7,"url":"https://www.agentseo.dev/docs/api-reference","domain":"agentseo.dev"}]}]}'
```

## POST`/page/cro-qa`

Audit an SEO landing page for conversion readiness. Returns value-proposition, CTA, proof, objection-handling, friction, CTA alternatives, agent\_workflow, and markdown\_summary. Requests cost 2 credits and do not call a paid search API.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `url` | string | Live page URL to fetch and inspect. Provide url, html, or markdown. |
| `html` | string | Raw HTML for an unpublished or staging page. |
| `markdown` | string | Markdown page draft when HTML is not available. |
| `conversion_goal` | enum | signup, trial, demo, purchase, contact\_sales, subscribe, download, or learn\_more. |
| `page_type` | enum | auto, homepage, landing\_page, pricing, feature, blog\_post, product, comparison\_page, or docs. |
| `keyword` | string | Target keyword used to check hero/intent alignment. |

POST /page/cro-qa example

```
curl -X POST https://www.agentseo.dev/api/v1/page/cro-qa?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"AgentSEO","keyword":"seo api","page_type":"landing_page","conversion_goal":"trial","traffic_source":"organic","audience":"technical marketers","markdown":"# SEO API for marketers\n\nStart free trial and run your first SEO workflow. AgentSEO helps technical marketers plan, QA, and ship SEO work with clear API outputs.\n\n## Why teams use it\n\nTrusted by marketers who need customer proof, pricing clarity, security details, implementation guidance, and support before they commit.\n\n[Start Free Trial](https://www.agentseo.dev/pricing)\n\n## FAQ\n\nPricing is transparent, setup is simple, and support is available when you need help."}'
```

## POST`/content/cannibalization`

Detect pages that may be competing for the same keyword intent and recommend safe fixes. Returns page signals, conflicts, clusters, preferred URLs, remediation steps, agent\_workflow, and markdown\_summary. Requests cost 2 credits and do not call a paid SERP provider.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `pages`Required | array | At least two pages with url and title. Add primary\_keyword, target\_keywords, ranking\_queries, page\_type, canonical\_url, indexable, clicks, impressions, avg\_position, and backlinks for better recommendations. |
| `target` | string | Optional target brand, domain, or product. |
| `focus_keywords` | array | Optional keywords to emphasize when matching page overlap. |
| `sensitivity` | enum | conservative, balanced, or aggressive. Default: balanced. |

POST /content/cannibalization example

```
curl -X POST https://www.agentseo.dev/api/v1/content/cannibalization?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"AgentSEO","sensitivity":"balanced","focus_keywords":["seo api","best seo api"],"pages":[{"url":"https://www.agentseo.dev/docs/api-reference","title":"SEO API Reference","primary_keyword":"seo api","target_keywords":["seo api"],"ranking_queries":["seo api"],"page_type":"docs","clicks":80,"impressions":1200,"avg_position":6,"backlinks":12},{"url":"https://www.agentseo.dev/blog/seo-api-guide","title":"SEO API Guide for Marketers","primary_keyword":"seo api","target_keywords":["seo api","best seo api"],"ranking_queries":["seo api"],"page_type":"guide","clicks":10,"impressions":700,"avg_position":18,"backlinks":1}]}'
```

## POST`/content/competitor-gap-matrix`

Compare supplied own and competitor pages to find missing topics, weak coverage, format gaps, and buyer-stage gaps. Returns prioritized opportunities, a page-type-by-stage matrix, suggested titles, next endpoints, agent\_workflow, and markdown\_summary. Requests cost 3 credits and do not call a paid SERP provider.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `competitors`Required | array | Competitor objects with domain and pages. Each page needs url and title; keywords, ranking\_queries, page\_type, buyer\_stage, traffic, volume, rank, and backlinks improve scoring. |
| `own_pages` | array | Your supplied pages for coverage comparison. |
| `focus_topics` | array | Topics to boost when scoring opportunities. |
| `max_opportunities` | integer | Maximum opportunities to return. Default: 30, max: 100. |

POST /content/competitor-gap-matrix example

```
curl -X POST https://www.agentseo.dev/api/v1/content/competitor-gap-matrix?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"AgentSEO","focus_topics":["seo api templates"],"own_pages":[{"url":"https://www.agentseo.dev/docs/api-reference","title":"AgentSEO API Reference","keywords":["seo api"],"page_type":"docs","buyer_stage":"implementation"}],"competitors":[{"domain":"competitor.example","pages":[{"url":"https://competitor.example/templates/seo-api-template","title":"SEO API Template Library","keywords":["seo api templates","seo workflow template"],"ranking_queries":["seo api templates"],"page_type":"template","buyer_stage":"implementation","estimated_traffic":500,"search_volume":900,"avg_position":4,"backlinks":8}]}],"max_opportunities":10}'
```

## POST`/content/programmatic-template`

Plan safe programmatic SEO templates before building pages at scale. Returns readiness score, scale risk, launch decision, template sections, uniqueness rules, indexation gates, internal-link architecture, schema recommendations, launch plan, agent\_workflow, and markdown\_summary. Requests cost 2 credits and do not call a paid search API.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `keyword_pattern`Required | string | Repeating keyword pattern, for example AgentSEO \[integration\] integration. |
| `url_pattern`Required | string | Repeating URL pattern, for example /integrations/\[integration\]/. |
| `data_sources`Required | array | Data sources with name, type, freshness, and fields. First-party/product data produces safer scale recommendations than generic public data. |
| `variables`Required | array | Template variables such as integration, city, category, product, persona, or term. |
| `playbook` | enum | templates, curation, conversions, comparisons, examples, locations, personas, integrations, glossary, translations, directory, profiles, or custom. |
| `unique_fields` | array | Fields that create page-specific value and reduce thin-content risk. |
| `sample_records` | array | Example records from the data model for scoring template completeness. |
| `publishing_cadence` | enum | pilot, weekly\_batch, monthly\_batch, or bulk\_import. |

POST /content/programmatic-template example

```
curl -X POST https://www.agentseo.dev/api/v1/content/programmatic-template?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"AgentSEO","playbook":"integrations","page_goal":"trial_signup","keyword_pattern":"AgentSEO [integration] integration","url_pattern":"/integrations/[integration]/","audience":"technical marketers","page_count_estimate":80,"data_sources":[{"name":"Product integration catalog","type":"first_party","freshness":"weekly","fields":["integration","setup_steps","use_cases","supported_triggers","pricing_note","limitations","sync_direction","auth_type"]}],"variables":["integration"],"unique_fields":["setup_steps","use_cases","supported_triggers","pricing_note","limitations","sync_direction","auth_type"],"sample_records":[{"integration":"Slack","setup_steps":"Connect workspace and choose alerts","use_cases":"Send SEO QA reports to channels","supported_triggers":"job.completed","pricing_note":"Available on Pro","sync_direction":"outbound alerts","auth_type":"OAuth"}],"competitors":["zapier.com","make.com"],"conversion_cta":"Start free trial","publishing_cadence":"pilot","include_schema":true,"include_internal_linking":true}'
```

## POST`/content-decay/detect`

Identify content that is losing ranking momentum over time. Returns decay\_audit plus agent\_workflow so agents can judge urgency, likely cause, and the right next investigation.

Request fields · required fields are labeled

| Name | Type | Description |
| --- | --- | --- |
| `url`Required | string | Page URL to check |
| `keyword`Required | string | Main keyword |
| `lookback_days` | integer | Days to analyze (3-180, default: 30) |
| `threshold` | number | Decay threshold % (default: 3) |

POST /content-decay/detect example

```
curl -X POST https://www.agentseo.dev/api/v1/content-decay/detect?sync=true \
  -H "x-api-key: $AGENTSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/blog/old-post", "keyword":"legacy keyword"}'
```

[← All endpoints](https://www.agentseo.dev/docs/api-reference)

---
Canonical HTML: https://www.agentseo.dev/docs/api-reference/content
Markdown: https://www.agentseo.dev/docs/api-reference/content/index.md
