Skip to main content

Official Python client SDK for the Agent Ready API — scan any URL for AI agent-readability (Vercel Agent Readability Spec, llmstxt.org, agent-protocol manifests).

Project description

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.

Links

License

MIT © Agent Ready

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

agent_ready_client-0.3.1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

agent_ready_client-0.3.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file agent_ready_client-0.3.1.tar.gz.

File metadata

  • Download URL: agent_ready_client-0.3.1.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for agent_ready_client-0.3.1.tar.gz
Algorithm Hash digest
SHA256 651b518cd4923b75ad8a0612af1108c5832b3427e957d410137c6c746a3b7707
MD5 ae3165b590c5ddf7693f0f9ef95e2b23
BLAKE2b-256 be9334154b62fe3f9c838b242a9e0e3a57dca02597770797732dc5679e1214c2

See more details on using hashes here.

File details

Details for the file agent_ready_client-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_ready_client-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eb8aeceeca1771ee852315945599d6d81d979857982e9b251df4e7bcb685fb67
MD5 24a82e029bba3ef46e82a89985e97dda
BLAKE2b-256 746944e99a9730699eff82f5c148441f282b643e17e79a40df52cc9a8a3f6252

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