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 (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.

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.1.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.1-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: seoscoreapi-1.3.1.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.1.tar.gz
Algorithm Hash digest
SHA256 8cdb3986581a6ccb963b15599c52f5c5026c25eed9cba10b732c8470f41bc348
MD5 060fe5e51f49396cfb7e903b0f0e0db2
BLAKE2b-256 94e1e1047ec4bff5ad44b36d14b0158c91ecbd9637a9c67b68c1f95b64b1a964

See more details on using hashes here.

File details

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

File metadata

  • Download URL: seoscoreapi-1.3.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cafdb9f3108bde1c1de5ac1ee1db79b98f75c27d12bba8f22322642dc9f81397
MD5 6c49d4a76d2893c21251db780271c9af
BLAKE2b-256 245e279df47af106db752706b5943d59bd9632a71c1eba755a139bffd40baf4d

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