> ## Documentation Index
> Fetch the complete documentation index at: https://docs.suprsonic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get SEO content

> Returns SEO content in various formats (sitemap, rss, robots, llm, atom) for the authenticated account

The SEO endpoint is a powerful, dynamic endpoint that generates various types of SEO content based on the `type` parameter. This single endpoint handles sitemap generation, RSS feeds, robots.txt, IndexNow protocol, and AI-optimized content.

## Path Parameters

<ParamField path="type" type="string" required>
  The type of SEO content to generate. Supported values:

  * `sitemap` - XML sitemap for search engines
  * `rss` - RSS 2.0 feed for content syndication
  * `atom` - Atom 1.0 feed (alternative to RSS)
  * `robots` - robots.txt for crawler directives
  * `llm` - LLM.txt for AI content consumption
  * `indexnow` - IndexNow protocol key verification
</ParamField>

## Query Parameters

<ParamField query="account_id" type="string" required="conditional">
  Account ID (required for admin API keys, ignored for account API keys)
</ParamField>

## Response Formats

The response format depends on the content type requested:

### Sitemap (`/api/v1/seo/sitemap`)

Returns XML sitemap with homepage, articles, and topic pages.

**Content-Type**: `application/xml`

**Cache Control**: `public, max-age=3600, s-maxage=7200`

```xml theme={null}
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.suprsonic.blog/</loc>
    <lastmod>2024-01-15T10:30:00Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.suprsonic.blog/getting-started-with-ai</loc>
    <lastmod>2024-01-15T08:00:00Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>
```

### RSS Feed (`/api/v1/seo/rss`)

Returns RSS 2.0 compliant feed with latest articles.

**Content-Type**: `application/rss+xml`

**Cache Control**: `public, max-age=1800, s-maxage=3600`

```xml theme={null}
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Acme Corporation Blog</title>
    <description>Latest articles and insights</description>
    <link>https://example.suprsonic.blog</link>
    <atom:link href="https://example.suprsonic.blog/rss.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Mon, 15 Jan 2024 10:30:00 GMT</lastBuildDate>
    <item>
      <title>Getting Started with AI</title>
      <description>Learn how to implement AI in your business...</description>
      <link>https://example.suprsonic.blog/getting-started-with-ai</link>
      <pubDate>Mon, 15 Jan 2024 08:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
```

### Atom Feed (`/api/v1/seo/atom`)

Returns Atom 1.0 compliant feed as an alternative to RSS.

**Content-Type**: `application/atom+xml`

**Cache Control**: `public, max-age=1800, s-maxage=3600`

### Robots.txt (`/api/v1/seo/robots`)

Returns robots.txt with crawling directives.

**Content-Type**: `text/plain`

**Cache Control**: `public, max-age=86400`

```
User-agent: *
Allow: /

# Sitemap
Sitemap: https://example.suprsonic.blog/sitemap.xml

# Crawl delay
Crawl-delay: 1
```

### LLM.txt (`/api/v1/seo/llm`)

Returns AI-optimized content index for machine learning consumption.

**Content-Type**: `text/plain`

**Cache Control**: `public, max-age=3600, s-maxage=7200`

```
# Acme Corporation Blog

This is the blog for Acme Corporation, a leading provider of innovative business solutions.

## Business Information
- Industry: Technology
- Target Audience: Small to medium businesses
- Content Topics: AI, automation, business growth

## Content Topics
- Artificial Intelligence
- Business Automation
- Growth Strategies

## Articles
- Getting Started with AI (https://example.suprsonic.blog/getting-started-with-ai)
  Published: 2024-01-15
  Summary: Learn how to implement AI in your business processes...
```

### IndexNow (`/api/v1/seo/indexnow`)

Returns the IndexNow verification key for search engine notification protocol.

**Content-Type**: `text/plain`

**Cache Control**: `public, max-age=86400`

```
5c930ee50039bc999e123a6cf8b0a716
```

## SEO Features

### Intelligent Content Prioritization

* **Homepage**: Priority 1.0, daily updates
* **Articles**: Priority 0.8, monthly updates based on modification dates
* **Topic Pages**: Priority 0.6, weekly updates for content discovery

### Caching Strategy

Different content types have optimized cache durations:

* **Sitemap**: 1 hour cache, 2 hours CDN (frequent updates for new content)
* **Feeds**: 30 minutes cache, 1 hour CDN (balance freshness with performance)
* **Robots**: 24 hours cache (stable crawling directives)
* **LLM**: 1 hour cache, 2 hours CDN (updated with content changes)
* **IndexNow**: 24 hours cache (stable verification key)

### Search Engine Optimization

* **Canonical URLs**: Proper canonical URL generation for all content
* **Structured Content**: XML sitemap includes last modification dates and priorities
* **Feed Standards**: RSS 2.0 and Atom 1.0 compliant feeds
* **AI Integration**: LLM.txt follows emerging standards for AI content consumption

## Use Cases

* **Search Engine Indexing**: Submit sitemap to Google Search Console
* **Content Syndication**: RSS/Atom feeds for feed readers and aggregators
* **AI Training**: LLM.txt for AI model training and content understanding
* **Crawler Management**: robots.txt for managing search engine crawling
* **Real-time Indexing**: IndexNow for immediate search engine notification

<RequestExample>
  ```bash Sitemap theme={null}
  curl -X GET "https://api.suprsonic.com/api/v1/seo/sitemap" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```bash RSS Feed theme={null}
  curl -X GET "https://api.suprsonic.com/api/v1/seo/rss" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```bash Robots.txt theme={null}
  curl -X GET "https://api.suprsonic.com/api/v1/seo/robots" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```bash LLM.txt theme={null}
  curl -X GET "https://api.suprsonic.com/api/v1/seo/llm" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  // Get sitemap
  const sitemap = await fetch('https://api.suprsonic.com/api/v1/seo/sitemap', {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  });

  // Get RSS feed
  const rss = await fetch('https://api.suprsonic.com/api/v1/seo/rss', {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  });

  // Get robots.txt
  const robots = await fetch('https://api.suprsonic.com/api/v1/seo/robots', {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  });
  ```

  ```python Python theme={null}
  import requests

  headers = {
      'Authorization': 'Bearer YOUR_API_KEY'
  }

  # Get different SEO content types
  sitemap = requests.get('https://api.suprsonic.com/api/v1/seo/sitemap', headers=headers)
  rss_feed = requests.get('https://api.suprsonic.com/api/v1/seo/rss', headers=headers)
  robots = requests.get('https://api.suprsonic.com/api/v1/seo/robots', headers=headers)
  llm_content = requests.get('https://api.suprsonic.com/api/v1/seo/llm', headers=headers)
  ```
</RequestExample>


## OpenAPI

````yaml GET /api/v1/seo/{type}
openapi: 3.1.0
info:
  title: SuprSonic API
  version: 1.0.0
  description: API for autonomous content generation and blog management
  contact:
    name: SuprSonic API Support
    url: https://www.suprsonic.com/support
    email: support@suprsonic.com
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://www.suprsonic.com
    description: Production server
  - url: http://localhost:3000
    description: Development server
security: []
tags: []
paths:
  /api/v1/seo/{type}:
    get:
      tags:
        - SEO
      summary: Get SEO content
      description: >-
        Returns SEO content in various formats (sitemap, rss, robots, llm, atom)
        for the authenticated account
      parameters:
        - in: path
          name: type
          required: true
          schema:
            type: string
            enum:
              - sitemap
              - rss
              - robots
              - llm
              - atom
          description: Type of SEO content to retrieve
        - in: query
          name: account_id
          required: false
          schema:
            type: string
          description: >-
            Account ID (required for admin API keys, ignored for account API
            keys)
      responses:
        '200':
          description: SEO content retrieved successfully
          content:
            application/xml:
              schema:
                type: string
            text/plain:
              schema:
                type: string
        '401':
          description: Unauthorized
        '404':
          description: Invalid SEO type
        '500':
          description: Internal server error
      security:
        - BearerAuth: []
components: {}

````