Skip to main content

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

Project description

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 (5 audits/day)
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.

Full Documentation

seoscoreapi.com/docs

Project details


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.3.0.tar.gz (3.6 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.3.0-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: seoscoreapi-1.3.0.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for seoscoreapi-1.3.0.tar.gz
Algorithm Hash digest
SHA256 d1a9aa2c97fe7b1e8d4b5a71101b86252aef1f68e444baca1efea25c2dd4055d
MD5 8b9188c3161fe7b52148e38ceb991bd9
BLAKE2b-256 d5f3515eb91b819833556276cd916f36bc757b9a0d8dab9c347806f94b98b48b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: seoscoreapi-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for seoscoreapi-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be5726a0d36de4b331cc821277bfb708d31f727993ab12b3b23fa9513fc77508
MD5 21f4155a58b959945c52ab2a4152b401
BLAKE2b-256 34716628f24e6a5292eaa1c09bbee06e027c013f86a99f64875a28c5db3b389b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page