seoscoreapi 1.2.0__tar.gz → 1.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- seoscoreapi-1.3.1/PKG-INFO +88 -0
- seoscoreapi-1.3.1/README.md +70 -0
- {seoscoreapi-1.2.0 → seoscoreapi-1.3.1}/pyproject.toml +1 -1
- {seoscoreapi-1.2.0 → seoscoreapi-1.3.1}/seoscoreapi/__init__.py +31 -4
- seoscoreapi-1.3.1/seoscoreapi.egg-info/PKG-INFO +88 -0
- seoscoreapi-1.2.0/PKG-INFO +0 -56
- seoscoreapi-1.2.0/README.md +0 -38
- seoscoreapi-1.2.0/seoscoreapi.egg-info/PKG-INFO +0 -56
- {seoscoreapi-1.2.0 → seoscoreapi-1.3.1}/seoscoreapi.egg-info/SOURCES.txt +0 -0
- {seoscoreapi-1.2.0 → seoscoreapi-1.3.1}/seoscoreapi.egg-info/dependency_links.txt +0 -0
- {seoscoreapi-1.2.0 → seoscoreapi-1.3.1}/seoscoreapi.egg-info/requires.txt +0 -0
- {seoscoreapi-1.2.0 → seoscoreapi-1.3.1}/seoscoreapi.egg-info/top_level.txt +0 -0
- {seoscoreapi-1.2.0 → seoscoreapi-1.3.1}/setup.cfg +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: seoscoreapi
|
|
3
|
+
Version: 1.3.1
|
|
4
|
+
Summary: Python client for SEO Score API — audit any URL for SEO issues with one function call
|
|
5
|
+
Author-email: SEO Score API <info@seoscoreapi.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://seoscoreapi.com
|
|
8
|
+
Project-URL: Documentation, https://seoscoreapi.com/docs
|
|
9
|
+
Project-URL: Repository, https://github.com/avansledright/seoscoreapi.com
|
|
10
|
+
Keywords: seo,audit,api,seo-score,website-audit,seo-checker
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Requires-Python: >=3.8
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
Requires-Dist: requests>=2.20
|
|
18
|
+
|
|
19
|
+
# seoscoreapi
|
|
20
|
+
|
|
21
|
+
Python client for [SEO Score API](https://seoscoreapi.com) — audit any URL for SEO issues with one function call.
|
|
22
|
+
|
|
23
|
+
## Install
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
pip install seoscoreapi
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Quick Start
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from seoscoreapi import audit, signup
|
|
33
|
+
|
|
34
|
+
# Get a free API key (2 audits/day, no credit card)
|
|
35
|
+
key = signup("you@example.com")
|
|
36
|
+
|
|
37
|
+
# Run an audit
|
|
38
|
+
result = audit("https://example.com", api_key=key)
|
|
39
|
+
print(f"Score: {result['score']}/100 ({result['grade']})")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Functions
|
|
43
|
+
|
|
44
|
+
| Function | Description |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `signup(email)` | Get a free API key |
|
|
47
|
+
| `audit(url, api_key)` | Run SEO audit on a URL |
|
|
48
|
+
| `batch_audit(urls, api_key)` | Audit up to 10 URLs in one call (paid) |
|
|
49
|
+
| `compare(urls, api_key)` | Compare 2–5 URLs with a structured diff (Basic+) |
|
|
50
|
+
| `competitive_audit(url, competitor_url, keyword, api_key)` | Head-to-head audit with gap score (Pro+) |
|
|
51
|
+
| `history(url, api_key, limit=100, since=None)` | Full audit timeseries + summary for a URL (Starter+) |
|
|
52
|
+
| `history_domains(api_key)` | Every domain audited by this key with latest score and 30-day trend (Starter+) |
|
|
53
|
+
| `usage(api_key)` | Check usage and limits |
|
|
54
|
+
| `add_monitor(url, api_key, frequency="daily", webhook_url=None, alert_threshold=5)` | Set up score monitoring with optional Slack/webhook alerts (paid) |
|
|
55
|
+
| `list_monitors(api_key)` | List active monitors |
|
|
56
|
+
| `scoreboard_opt_out(api_key, opt_out=True)` | Opt in or out of the public scoreboard |
|
|
57
|
+
| `report_url(domain)` | Get shareable report URL |
|
|
58
|
+
|
|
59
|
+
## Historical tracking
|
|
60
|
+
|
|
61
|
+
Every audit on a paid plan returns a `history` block on the `/audit` response:
|
|
62
|
+
|
|
63
|
+
```python
|
|
64
|
+
result = audit("https://example.com", api_key=key)
|
|
65
|
+
delta = result["history"].get("delta")
|
|
66
|
+
if delta:
|
|
67
|
+
print(f"Score change: {delta['score']:+.1f} ({delta.get('grade_change') or 'no grade change'})")
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
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.
|
|
71
|
+
|
|
72
|
+
## Webhook alerts on score drops
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
add_monitor(
|
|
76
|
+
"https://example.com",
|
|
77
|
+
api_key=key,
|
|
78
|
+
frequency="daily",
|
|
79
|
+
webhook_url="https://hooks.slack.com/services/T0/B0/xxxx",
|
|
80
|
+
alert_threshold=5,
|
|
81
|
+
)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Slack incoming-webhook URLs are auto-formatted as Block Kit messages; any other https endpoint receives the raw event JSON.
|
|
85
|
+
|
|
86
|
+
## Full Documentation
|
|
87
|
+
|
|
88
|
+
[seoscoreapi.com/docs](https://seoscoreapi.com/docs)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# seoscoreapi
|
|
2
|
+
|
|
3
|
+
Python client for [SEO Score API](https://seoscoreapi.com) — audit any URL for SEO issues with one function call.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install seoscoreapi
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```python
|
|
14
|
+
from seoscoreapi import audit, signup
|
|
15
|
+
|
|
16
|
+
# Get a free API key (2 audits/day, no credit card)
|
|
17
|
+
key = signup("you@example.com")
|
|
18
|
+
|
|
19
|
+
# Run an audit
|
|
20
|
+
result = audit("https://example.com", api_key=key)
|
|
21
|
+
print(f"Score: {result['score']}/100 ({result['grade']})")
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Functions
|
|
25
|
+
|
|
26
|
+
| Function | Description |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `signup(email)` | Get a free API key |
|
|
29
|
+
| `audit(url, api_key)` | Run SEO audit on a URL |
|
|
30
|
+
| `batch_audit(urls, api_key)` | Audit up to 10 URLs in one call (paid) |
|
|
31
|
+
| `compare(urls, api_key)` | Compare 2–5 URLs with a structured diff (Basic+) |
|
|
32
|
+
| `competitive_audit(url, competitor_url, keyword, api_key)` | Head-to-head audit with gap score (Pro+) |
|
|
33
|
+
| `history(url, api_key, limit=100, since=None)` | Full audit timeseries + summary for a URL (Starter+) |
|
|
34
|
+
| `history_domains(api_key)` | Every domain audited by this key with latest score and 30-day trend (Starter+) |
|
|
35
|
+
| `usage(api_key)` | Check usage and limits |
|
|
36
|
+
| `add_monitor(url, api_key, frequency="daily", webhook_url=None, alert_threshold=5)` | Set up score monitoring with optional Slack/webhook alerts (paid) |
|
|
37
|
+
| `list_monitors(api_key)` | List active monitors |
|
|
38
|
+
| `scoreboard_opt_out(api_key, opt_out=True)` | Opt in or out of the public scoreboard |
|
|
39
|
+
| `report_url(domain)` | Get shareable report URL |
|
|
40
|
+
|
|
41
|
+
## Historical tracking
|
|
42
|
+
|
|
43
|
+
Every audit on a paid plan returns a `history` block on the `/audit` response:
|
|
44
|
+
|
|
45
|
+
```python
|
|
46
|
+
result = audit("https://example.com", api_key=key)
|
|
47
|
+
delta = result["history"].get("delta")
|
|
48
|
+
if delta:
|
|
49
|
+
print(f"Score change: {delta['score']:+.1f} ({delta.get('grade_change') or 'no grade change'})")
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
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.
|
|
53
|
+
|
|
54
|
+
## Webhook alerts on score drops
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
add_monitor(
|
|
58
|
+
"https://example.com",
|
|
59
|
+
api_key=key,
|
|
60
|
+
frequency="daily",
|
|
61
|
+
webhook_url="https://hooks.slack.com/services/T0/B0/xxxx",
|
|
62
|
+
alert_threshold=5,
|
|
63
|
+
)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Slack incoming-webhook URLs are auto-formatted as Block Kit messages; any other https endpoint receives the raw event JSON.
|
|
67
|
+
|
|
68
|
+
## Full Documentation
|
|
69
|
+
|
|
70
|
+
[seoscoreapi.com/docs](https://seoscoreapi.com/docs)
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "seoscoreapi"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.3.1"
|
|
8
8
|
description = "Python client for SEO Score API — audit any URL for SEO issues with one function call"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -22,7 +22,7 @@ from typing import Optional
|
|
|
22
22
|
import requests
|
|
23
23
|
|
|
24
24
|
BASE_URL = "https://seoscoreapi.com"
|
|
25
|
-
__version__ = "1.
|
|
25
|
+
__version__ = "1.3.1"
|
|
26
26
|
|
|
27
27
|
_HEADERS = {"User-Agent": f"seoscoreapi-python/{__version__}"}
|
|
28
28
|
|
|
@@ -55,9 +55,24 @@ def usage(api_key: str) -> dict:
|
|
|
55
55
|
return r.json()
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
def add_monitor(
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
def add_monitor(
|
|
59
|
+
url: str,
|
|
60
|
+
api_key: str,
|
|
61
|
+
frequency: str = "daily",
|
|
62
|
+
webhook_url: Optional[str] = None,
|
|
63
|
+
alert_threshold: int = 5,
|
|
64
|
+
) -> dict:
|
|
65
|
+
"""Set up score monitoring for a URL (paid plans only).
|
|
66
|
+
|
|
67
|
+
`webhook_url` (optional): receives a POST whenever the score drops
|
|
68
|
+
by `alert_threshold` points or more. Slack incoming-webhook URLs are
|
|
69
|
+
auto-formatted as Block Kit messages; any other https endpoint
|
|
70
|
+
receives the raw event JSON.
|
|
71
|
+
"""
|
|
72
|
+
payload: dict = {"url": url, "frequency": frequency, "alert_threshold": alert_threshold}
|
|
73
|
+
if webhook_url:
|
|
74
|
+
payload["webhook_url"] = webhook_url
|
|
75
|
+
r = requests.post(f"{BASE_URL}/monitors", json=payload, headers={"X-API-Key": api_key, **_HEADERS})
|
|
61
76
|
r.raise_for_status()
|
|
62
77
|
return r.json()
|
|
63
78
|
|
|
@@ -76,6 +91,18 @@ def scoreboard_opt_out(api_key: str, opt_out: bool = True) -> dict:
|
|
|
76
91
|
return r.json()
|
|
77
92
|
|
|
78
93
|
|
|
94
|
+
def compare(urls: list[str], api_key: str) -> dict:
|
|
95
|
+
"""Compare 2–5 URLs side by side with a structured diff (Basic plan or higher).
|
|
96
|
+
|
|
97
|
+
Returns each URL's score and category breakdown plus a `diff`
|
|
98
|
+
object describing who is ahead and by how much, per category and
|
|
99
|
+
per URL pair.
|
|
100
|
+
"""
|
|
101
|
+
r = requests.post(f"{BASE_URL}/compare", json={"urls": urls}, headers={"X-API-Key": api_key, **_HEADERS})
|
|
102
|
+
r.raise_for_status()
|
|
103
|
+
return r.json()
|
|
104
|
+
|
|
105
|
+
|
|
79
106
|
def competitive_audit(url: str, competitor_url: str, keyword: str, api_key: str) -> dict:
|
|
80
107
|
"""Run a head-to-head competitive audit (Pro plan or higher). Returns gap score, per-check diffs, and action items."""
|
|
81
108
|
r = requests.post(f"{BASE_URL}/audit/competitive", json={"url": url, "competitor_url": competitor_url, "keyword": keyword}, headers={"X-API-Key": api_key, **_HEADERS})
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: seoscoreapi
|
|
3
|
+
Version: 1.3.1
|
|
4
|
+
Summary: Python client for SEO Score API — audit any URL for SEO issues with one function call
|
|
5
|
+
Author-email: SEO Score API <info@seoscoreapi.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://seoscoreapi.com
|
|
8
|
+
Project-URL: Documentation, https://seoscoreapi.com/docs
|
|
9
|
+
Project-URL: Repository, https://github.com/avansledright/seoscoreapi.com
|
|
10
|
+
Keywords: seo,audit,api,seo-score,website-audit,seo-checker
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Requires-Python: >=3.8
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
Requires-Dist: requests>=2.20
|
|
18
|
+
|
|
19
|
+
# seoscoreapi
|
|
20
|
+
|
|
21
|
+
Python client for [SEO Score API](https://seoscoreapi.com) — audit any URL for SEO issues with one function call.
|
|
22
|
+
|
|
23
|
+
## Install
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
pip install seoscoreapi
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Quick Start
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from seoscoreapi import audit, signup
|
|
33
|
+
|
|
34
|
+
# Get a free API key (2 audits/day, no credit card)
|
|
35
|
+
key = signup("you@example.com")
|
|
36
|
+
|
|
37
|
+
# Run an audit
|
|
38
|
+
result = audit("https://example.com", api_key=key)
|
|
39
|
+
print(f"Score: {result['score']}/100 ({result['grade']})")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Functions
|
|
43
|
+
|
|
44
|
+
| Function | Description |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `signup(email)` | Get a free API key |
|
|
47
|
+
| `audit(url, api_key)` | Run SEO audit on a URL |
|
|
48
|
+
| `batch_audit(urls, api_key)` | Audit up to 10 URLs in one call (paid) |
|
|
49
|
+
| `compare(urls, api_key)` | Compare 2–5 URLs with a structured diff (Basic+) |
|
|
50
|
+
| `competitive_audit(url, competitor_url, keyword, api_key)` | Head-to-head audit with gap score (Pro+) |
|
|
51
|
+
| `history(url, api_key, limit=100, since=None)` | Full audit timeseries + summary for a URL (Starter+) |
|
|
52
|
+
| `history_domains(api_key)` | Every domain audited by this key with latest score and 30-day trend (Starter+) |
|
|
53
|
+
| `usage(api_key)` | Check usage and limits |
|
|
54
|
+
| `add_monitor(url, api_key, frequency="daily", webhook_url=None, alert_threshold=5)` | Set up score monitoring with optional Slack/webhook alerts (paid) |
|
|
55
|
+
| `list_monitors(api_key)` | List active monitors |
|
|
56
|
+
| `scoreboard_opt_out(api_key, opt_out=True)` | Opt in or out of the public scoreboard |
|
|
57
|
+
| `report_url(domain)` | Get shareable report URL |
|
|
58
|
+
|
|
59
|
+
## Historical tracking
|
|
60
|
+
|
|
61
|
+
Every audit on a paid plan returns a `history` block on the `/audit` response:
|
|
62
|
+
|
|
63
|
+
```python
|
|
64
|
+
result = audit("https://example.com", api_key=key)
|
|
65
|
+
delta = result["history"].get("delta")
|
|
66
|
+
if delta:
|
|
67
|
+
print(f"Score change: {delta['score']:+.1f} ({delta.get('grade_change') or 'no grade change'})")
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
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.
|
|
71
|
+
|
|
72
|
+
## Webhook alerts on score drops
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
add_monitor(
|
|
76
|
+
"https://example.com",
|
|
77
|
+
api_key=key,
|
|
78
|
+
frequency="daily",
|
|
79
|
+
webhook_url="https://hooks.slack.com/services/T0/B0/xxxx",
|
|
80
|
+
alert_threshold=5,
|
|
81
|
+
)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Slack incoming-webhook URLs are auto-formatted as Block Kit messages; any other https endpoint receives the raw event JSON.
|
|
85
|
+
|
|
86
|
+
## Full Documentation
|
|
87
|
+
|
|
88
|
+
[seoscoreapi.com/docs](https://seoscoreapi.com/docs)
|
seoscoreapi-1.2.0/PKG-INFO
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: seoscoreapi
|
|
3
|
-
Version: 1.2.0
|
|
4
|
-
Summary: Python client for SEO Score API — audit any URL for SEO issues with one function call
|
|
5
|
-
Author-email: SEO Score API <info@seoscoreapi.com>
|
|
6
|
-
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://seoscoreapi.com
|
|
8
|
-
Project-URL: Documentation, https://seoscoreapi.com/docs
|
|
9
|
-
Project-URL: Repository, https://github.com/avansledright/seoscoreapi.com
|
|
10
|
-
Keywords: seo,audit,api,seo-score,website-audit,seo-checker
|
|
11
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
-
Classifier: Intended Audience :: Developers
|
|
13
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
-
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Requires-Python: >=3.8
|
|
16
|
-
Description-Content-Type: text/markdown
|
|
17
|
-
Requires-Dist: requests>=2.20
|
|
18
|
-
|
|
19
|
-
# seoscoreapi
|
|
20
|
-
|
|
21
|
-
Python client for [SEO Score API](https://seoscoreapi.com) — audit any URL for SEO issues with one function call.
|
|
22
|
-
|
|
23
|
-
## Install
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
pip install seoscoreapi
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Quick Start
|
|
30
|
-
|
|
31
|
-
```python
|
|
32
|
-
from seoscoreapi import audit, signup
|
|
33
|
-
|
|
34
|
-
# Get a free API key (5 audits/day)
|
|
35
|
-
key = signup("you@example.com")
|
|
36
|
-
|
|
37
|
-
# Run an audit
|
|
38
|
-
result = audit("https://example.com", api_key=key)
|
|
39
|
-
print(f"Score: {result['score']}/100 ({result['grade']})")
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Functions
|
|
43
|
-
|
|
44
|
-
| Function | Description |
|
|
45
|
-
|---|---|
|
|
46
|
-
| `signup(email)` | Get a free API key |
|
|
47
|
-
| `audit(url, api_key)` | Run SEO audit on a URL |
|
|
48
|
-
| `batch_audit(urls, api_key)` | Audit multiple URLs (paid) |
|
|
49
|
-
| `usage(api_key)` | Check usage and limits |
|
|
50
|
-
| `add_monitor(url, api_key)` | Set up score monitoring (paid) |
|
|
51
|
-
| `list_monitors(api_key)` | List active monitors |
|
|
52
|
-
| `report_url(domain)` | Get shareable report URL |
|
|
53
|
-
|
|
54
|
-
## Full Documentation
|
|
55
|
-
|
|
56
|
-
[seoscoreapi.com/docs](https://seoscoreapi.com/docs)
|
seoscoreapi-1.2.0/README.md
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# seoscoreapi
|
|
2
|
-
|
|
3
|
-
Python client for [SEO Score API](https://seoscoreapi.com) — audit any URL for SEO issues with one function call.
|
|
4
|
-
|
|
5
|
-
## Install
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
pip install seoscoreapi
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Quick Start
|
|
12
|
-
|
|
13
|
-
```python
|
|
14
|
-
from seoscoreapi import audit, signup
|
|
15
|
-
|
|
16
|
-
# Get a free API key (5 audits/day)
|
|
17
|
-
key = signup("you@example.com")
|
|
18
|
-
|
|
19
|
-
# Run an audit
|
|
20
|
-
result = audit("https://example.com", api_key=key)
|
|
21
|
-
print(f"Score: {result['score']}/100 ({result['grade']})")
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Functions
|
|
25
|
-
|
|
26
|
-
| Function | Description |
|
|
27
|
-
|---|---|
|
|
28
|
-
| `signup(email)` | Get a free API key |
|
|
29
|
-
| `audit(url, api_key)` | Run SEO audit on a URL |
|
|
30
|
-
| `batch_audit(urls, api_key)` | Audit multiple URLs (paid) |
|
|
31
|
-
| `usage(api_key)` | Check usage and limits |
|
|
32
|
-
| `add_monitor(url, api_key)` | Set up score monitoring (paid) |
|
|
33
|
-
| `list_monitors(api_key)` | List active monitors |
|
|
34
|
-
| `report_url(domain)` | Get shareable report URL |
|
|
35
|
-
|
|
36
|
-
## Full Documentation
|
|
37
|
-
|
|
38
|
-
[seoscoreapi.com/docs](https://seoscoreapi.com/docs)
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: seoscoreapi
|
|
3
|
-
Version: 1.2.0
|
|
4
|
-
Summary: Python client for SEO Score API — audit any URL for SEO issues with one function call
|
|
5
|
-
Author-email: SEO Score API <info@seoscoreapi.com>
|
|
6
|
-
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://seoscoreapi.com
|
|
8
|
-
Project-URL: Documentation, https://seoscoreapi.com/docs
|
|
9
|
-
Project-URL: Repository, https://github.com/avansledright/seoscoreapi.com
|
|
10
|
-
Keywords: seo,audit,api,seo-score,website-audit,seo-checker
|
|
11
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
-
Classifier: Intended Audience :: Developers
|
|
13
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
-
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Requires-Python: >=3.8
|
|
16
|
-
Description-Content-Type: text/markdown
|
|
17
|
-
Requires-Dist: requests>=2.20
|
|
18
|
-
|
|
19
|
-
# seoscoreapi
|
|
20
|
-
|
|
21
|
-
Python client for [SEO Score API](https://seoscoreapi.com) — audit any URL for SEO issues with one function call.
|
|
22
|
-
|
|
23
|
-
## Install
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
pip install seoscoreapi
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Quick Start
|
|
30
|
-
|
|
31
|
-
```python
|
|
32
|
-
from seoscoreapi import audit, signup
|
|
33
|
-
|
|
34
|
-
# Get a free API key (5 audits/day)
|
|
35
|
-
key = signup("you@example.com")
|
|
36
|
-
|
|
37
|
-
# Run an audit
|
|
38
|
-
result = audit("https://example.com", api_key=key)
|
|
39
|
-
print(f"Score: {result['score']}/100 ({result['grade']})")
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Functions
|
|
43
|
-
|
|
44
|
-
| Function | Description |
|
|
45
|
-
|---|---|
|
|
46
|
-
| `signup(email)` | Get a free API key |
|
|
47
|
-
| `audit(url, api_key)` | Run SEO audit on a URL |
|
|
48
|
-
| `batch_audit(urls, api_key)` | Audit multiple URLs (paid) |
|
|
49
|
-
| `usage(api_key)` | Check usage and limits |
|
|
50
|
-
| `add_monitor(url, api_key)` | Set up score monitoring (paid) |
|
|
51
|
-
| `list_monitors(api_key)` | List active monitors |
|
|
52
|
-
| `report_url(domain)` | Get shareable report URL |
|
|
53
|
-
|
|
54
|
-
## Full Documentation
|
|
55
|
-
|
|
56
|
-
[seoscoreapi.com/docs](https://seoscoreapi.com/docs)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|