⚡ Now live on RapidAPI

Know if your content will
rank before you publish

AI-powered REST API that scores any text or URL for SEO effectiveness, readability, and keyword optimization — in milliseconds.

100
Score scale
5
Analysis dimensions
<2s
Response time
REST
Simple JSON API
Score your content right now

Paste any text below and see your SEO score instantly. Uses our free tier — no sign-up required to try.

Using the free tier API key. Sign up on RapidAPI for higher limits.

Your SEO score will appear here
Analyzing with AI…
--
/100
-
Readability
--
Word Count
--
Headings
--
Keyword Risk
--

Suggestions

    Everything developers need to build SEO tools
    🎯

    Overall SEO Score (0–100)

    A single composite score and letter grade that summarizes your content's ranking potential at a glance.

    📖

    Readability Analysis

    Flesch-Kincaid grade level, average sentence length, and a 0–100 readability score to match your target audience.

    🔑

    Keyword Density Detection

    Top keywords with usage counts and density percentages. Keyword stuffing risk level (none / low / medium / high).

    🏗️

    Content Structure

    Word count, heading count, paragraph count, internal/external links, meta description presence — all in one JSON response.

    💡

    Actionable Suggestions

    3 concrete, specific improvement suggestions so your users know exactly what to fix to climb the rankings.

    Score by Text or URL

    Pass raw text directly or a URL — the API fetches and extracts the page content automatically.

    Start free, scale as you grow

    Subscribe via RapidAPI or upgrade directly with your API key (billed via LemonSqueezy — EU VAT handled automatically).

    Free
    $0
    50 requests/month
    • Full score response
    • Text & URL input
    • JSON REST API
    • No credit card needed
    Get started →
    Pro
    $29/mo
    1,500 requests/month
    • Everything in Basic
    • Batch processing
    • SLA guarantee
    • Team API keys
    Subscribe via RapidAPI →
    Ultra
    $79/mo
    6,000 requests/month
    • Everything in Pro
    • Dedicated support
    • Custom scoring rules
    • Webhook callbacks
    Subscribe via RapidAPI →
    Enterprise
    $199/mo
    20,000 req + $0.01 overage
    • Everything in Ultra
    • White-label ready
    • Custom integrations
    • 99.9% uptime SLA
    Subscribe via RapidAPI →

    Direct Checkout

    Enter your existing API key to link it to your new subscription. If you don't have one yet, get a free key first.

    Integrate in under 5 minutes

    One POST request. Any language. Get your API key on RapidAPI.

    # Score text content
    curl -X POST 'https://ss-seo-api.duckdns.org/v1/score' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: YOUR_API_KEY' \
      -d '{
        "text": "Your article content goes here...",
        "focus_keywords": ["target keyword", "secondary keyword"]
      }'
    
    # Score a URL
    curl -X POST 'https://ss-seo-api.duckdns.org/v1/score' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: YOUR_API_KEY' \
      -d '{"url": "https://example.com/blog/my-article"}'
    const response = await fetch('https://ss-seo-api.duckdns.org/v1/score', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'X-API-Key': 'YOUR_API_KEY',
      },
      body: JSON.stringify({
        text: 'Your article content goes here...',
        focus_keywords: ['target keyword', 'secondary keyword'],
      }),
    });
    
    const result = await response.json();
    console.log(`Score: ${result.overall_score}/100 (Grade: ${result.grade})`);
    console.log('Suggestions:', result.suggestions);
    import requests
    
    response = requests.post(
        "https://ss-seo-api.duckdns.org/v1/score",
        headers={
            "Content-Type": "application/json",
            "X-API-Key": "YOUR_API_KEY",
        },
        json={
            "text": "Your article content goes here...",
            "focus_keywords": ["target keyword", "secondary keyword"],
        },
    )
    
    data = response.json()
    print(f"Score: {data['overall_score']}/100 (Grade: {data['grade']})")
    print("Suggestions:", data['suggestions'])
    print("Readability:", data['readability']['grade_level'])
    "overall_score": 82,
    "grade": "B",
    "readability": {
      "score": 78,
      "grade_level": "8th grade",
      "avg_sentence_length": 14,
      "notes": "Clear and accessible writing"
    },
    "keyword_density": {
      "top_keywords": [{ "word": "project management", "count": 3, "density_pct": 1.8 }],
      "keyword_stuffing_risk": "none"
    },
    "structure": {
      "word_count": 320,
      "has_title": true,
      "heading_count": 3,
      "paragraph_count": 6
    },
    "sentiment": "positive",
    "suggestions": [
      "Add more internal links to related content",
      "Include a meta description for better click-through rate",
      "Increase heading frequency — aim for one per 300 words"
    ],
    "strengths": [
      "Good keyword density without stuffing",
      "Clear value proposition in opening paragraph"
    ],
    "meta": {
      "tier": "basic",
      "requests_remaining": 947,
      "tokens_used": 412
    }
    Common questions
    The score is generated by an AI model (Claude Haiku) that analyzes readability, keyword usage, content structure, and overall quality. It returns a composite 0–100 score and letter grade, calibrated against SEO best practices.
    Yes. Pass "url": "https://..." in the request body instead of "text". The API fetches the page, extracts the readable content, and returns a full score with metadata like the page title and heading structure.
    Subscribe (free or paid) on RapidAPI. RapidAPI handles billing, key management, and usage tracking. Once subscribed, use the key in the X-API-Key header on every request.
    Any language that can make an HTTP POST request: JavaScript/Node.js, Python, PHP, Ruby, Go, Java, and more. The API returns plain JSON — no special SDK needed.
    The free tier includes 100 requests per month. Each request returns your remaining count in meta.requests_remaining. Upgrade to Basic ($9.99/mo) for 1,000 requests, or Pro ($49/mo) for 10,000.

    Ready to score your content?

    Start free on RapidAPI. No credit card required for the free tier.

    Get your free API key →