Skip to main content

agent-ready-client (Python SDK)

Official Python client SDK for the Agent Ready API — scan any public URL for AI agent-readability against the Vercel Agent Readability Spec, the llmstxt.org standard, and agent-protocol manifests (MCP server cards, A2A, agents.json, agent-permissions.json, UCP, x402, NLWeb).

Zero runtime dependencies — pure standard library (urllib). Python 3.8+.

Prefer the terminal? Use the agent-ready-scanner CLI. Working in JS/TS? See agent-ready-client on npm. This package is for calling the API from your own Python code.

Install

pip install agent-ready-client

Quick start

import os
from agent_ready import AgentReady

ar = AgentReady(api_key=os.environ["AGENT_READY_API_KEY"])

scan = ar.scan("https://example.com")          # start + poll to completion
print(scan["vercelScore"], scan["vercelRating"])  # 96 "excellent"

for check in scan["siteChecks"]:
    if check["status"] == "fail":
        print(check["checkId"], check["name"], "->", check["howToFix"])

Authentication

scan, start_scan, get_scan, and list_scans require a Pro API key (issue one at https://agent-ready.dev/dashboard/api-keys). Pass it explicitly or set AGENT_READY_API_KEY in the environment:

ar = AgentReady()                       # reads AGENT_READY_API_KEY
ar = AgentReady(api_key="ar_live_...")  # or pass it in

ask is public and needs no key.

API

AgentReady(api_key=None, base_url="https://agent-ready.dev", timeout=30.0)
Method Returns Notes
scan(url, page_limit=None, poll_interval=2.0, timeout=120.0) Scan Start and poll to completion.
start_scan(url, page_limit=None) StartScanResponse Queue only; returns the id.
get_scan(id) Scan Fetch a scan (running or finished).
list_scans(limit=None, cursor=None) ScanListResponse Your scans, newest first.
ask(query, item_type=None, mode=None) dict NLWeb doc search. No key required.
scan_mcp(endpoint) McpScanResponse Grade a live MCP server (tools/resources/prompts). No key required.

Fire-and-forget + poll later

started = ar.start_scan("https://example.com", page_limit=25)
# ...later...
scan = ar.get_scan(started["id"])
if scan["status"] == "completed":
    print(scan["vercelScore"])

Errors

Every failure raises ApiError with a stable code and (when from a response) an HTTP status:

from agent_ready import ApiError

try:
    ar.scan("https://example.com")
except ApiError as err:
    if err.code == "rate_limited":
        ...  # back off and retry

Common codes: missing_api_key, unauthorized, subscription_required, rate_limited, invalid_request, timeout, network_error.

License

MIT © Agent Ready

Metadata

Release files for agent-ready-client 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agent-ready-client 0.3.1
File Size Uploaded Provenance
agent_ready_client-0.3.1.tar.gz 6.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for agent-ready-client 0.3.1
File Interpreter ABI Platform
agent_ready_client-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.7 kB

Release files / agent_ready_client-0.3.1.tar.gz

Download URL agent_ready_client-0.3.1.tar.gz
Size 6.7 kB
Tags Source
SHA-256 checksum
How to use checksums
651b518cd4923b75ad8a0612af1108c5832b3427e957d410137c6c746a3b7707
BLAKE2b-256 checksum
How to use checksums
be9334154b62fe3f9c838b242a9e0e3a57dca02597770797732dc5679e1214c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release files / agent_ready_client-0.3.1-py3-none-any.whl

Download URL agent_ready_client-0.3.1-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb8aeceeca1771ee852315945599d6d81d979857982e9b251df4e7bcb685fb67
BLAKE2b-256 checksum
How to use checksums
746944e99a9730699eff82f5c148441f282b643e17e79a40df52cc9a8a3f6252
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Security for agent-ready-client 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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