Skip to main content

seoscoreapi

Python client for SEO Score API — audit any URL for SEO issues with one function call.

Install

pip install seoscoreapi

Quick Start

from seoscoreapi import audit, signup

# Get a free API key (2 audits/day, no credit card)
key = signup("you@example.com")

# Run an audit
result = audit("https://example.com", api_key=key)
print(f"Score: {result['score']}/100 ({result['grade']})")

Functions

Function Description
signup(email) Get a free API key
audit(url, api_key) Run SEO audit on a URL
batch_audit(urls, api_key) Audit up to 10 URLs in one call (paid)
compare(urls, api_key) Compare 2–5 URLs with a structured diff (Basic+)
competitive_audit(url, competitor_url, keyword, api_key) Head-to-head audit with gap score (Pro+)
history(url, api_key, limit=100, since=None) Full audit timeseries + summary for a URL (Starter+)
history_domains(api_key) Every domain audited by this key with latest score and 30-day trend (Starter+)
usage(api_key) Check usage and limits
add_monitor(url, api_key, frequency="daily", webhook_url=None, alert_threshold=5) Set up score monitoring with optional Slack/webhook alerts (paid)
list_monitors(api_key) List active monitors
scoreboard_opt_out(api_key, opt_out=True) Opt in or out of the public scoreboard
report_url(domain) Get shareable report URL

Historical tracking

Every audit on a paid plan returns a history block on the /audit response:

result = audit("https://example.com", api_key=key)
delta = result["history"].get("delta")
if delta:
    print(f"Score change: {delta['score']:+.1f} ({delta.get('grade_change') or 'no grade change'})")

Pull the full timeseries with history() or a one-shot per-domain summary with history_domains(). Retention windows: Starter 30 days, Basic 90 days, Pro 1 year, Ultra unlimited.

Webhook alerts on score drops

add_monitor(
    "https://example.com",
    api_key=key,
    frequency="daily",
    webhook_url="https://hooks.slack.com/services/T0/B0/xxxx",
    alert_threshold=5,
)

Slack incoming-webhook URLs are auto-formatted as Block Kit messages; any other https endpoint receives the raw event JSON.

Deep Audits (Pro/Ultra)

A deep, AI-assisted audit scoring a URL across 9 dimensions (~150 AI checks). It runs asynchronously — submit, then poll — or use deep_audit to block for the result:

import seoscoreapi as seo

# One call, waits for the result (handles the queue + backpressure for you):
result = seo.deep_audit(
    "https://yoursite.com", API_KEY,
    business_type="saas",                      # tunes which checks apply
    on_progress=lambda s: print(s["status"], s.get("queue_position", s.get("progress"))),
)
print(result["scores"]["lai_score"], result["scores"]["section_scores"])

# Or drive the job yourself:
job = seo.site_audit("https://yoursite.com", API_KEY)
status = seo.get_site_audit(job["job_id"], API_KEY)
# status["status"] -> queued | running | completed | failed
#   queued  -> {"queue_position", "eta_seconds"}
#   done    -> {"result"}

seo.engine_usage(API_KEY)     # remaining deep-audit + SERP quota

Deep audits require a Pro ($39/mo, 20/mo) or Ultra ($99/mo, 100/mo) key. Full engine reference: engine.seoscoreapi.com/docs.

Full Documentation

seoscoreapi.com/docs

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seoscoreapi-1.4.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seoscoreapi-1.4.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file seoscoreapi-1.4.0.tar.gz.

File metadata

  • Download URL: seoscoreapi-1.4.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for seoscoreapi-1.4.0.tar.gz
Algorithm Hash digest
SHA256 3b7f08da59745dd8c2692c0075a96e844829fd42cbd445137be93a59dc016f80
MD5 a7a7def3f0f3276b6c5d9386c1991974
BLAKE2b-256 d2c7cb71f76c83a89ba2278a19d16dc9bc1191d58e6ea08c2c999b337ca34ac2

See more details on using hashes here.

File details

Details for the file seoscoreapi-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: seoscoreapi-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for seoscoreapi-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be4cd75f5c0e168cef8f000f447d4e8c18fc7b669cfcb212402dc9bae7ad41fc
MD5 e5745012327761596a399f94c3898b47
BLAKE2b-256 f1217e09537e7689efce672565d4324dd1eda135d98f178931a1b09ecd51a6a8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page