Skip to main content

Blockquote Python SDK and CLI

Official client for Blockquote. Requires Python 3.10 or later. No runtime dependencies.

pip install blockquote-agents
import os
import uuid
from blockquote_agents import Blockquote, BlockquoteError

client = Blockquote(api_key=os.getenv("BLOCKQUOTE_API_KEY"))
started = client.start_scan("https://example.com", idempotency_key=str(uuid.uuid4()))
print(started.data, started.headers.get("Retry-After"))
# Wait for Retry-After, then read the returned id.
report = client.get_scan(started.data["id"])
comparison = client.compare_scans(from_id="BASELINE_ID", to_id="NEW_ID")

Each call returns a Response with data, status, and HTTP headers. BlockquoteError retains data, status, headers, and retry_after. Network errors pass through. Requests time out after 30 seconds. Set timeout in the constructor to change this. The client does not retry or poll automatically. Scans can return a cached result or pending status. Reuse an idempotency key only when you repeat the same scan request.

Public report reads need no key. Account access uses an optional bearer key from your account. Keys require Pro or Agency. Unattended scan creation can require a paid key with the scan scope. Human verification still applies where required. Pass turnstile_token when available; the SDK does not obtain or bypass verification. Pass refresh=True to request a fresh scan with account authentication. Scan quotas still apply. Read access and comparison output follow your account plan.

See the API reference and OpenAPI document.

Run tests from this package directory:

python3 -m unittest discover -s tests

Command line

The package installs the blockquote command. python -m blockquote_agents runs the same CLI.

python -m pip install --upgrade blockquote-agents
blockquote --help
blockquote read SCAN_ID
blockquote scan https://example.com --idempotency-key UNIQUE_REQUEST_ID
blockquote compare BASELINE_ID NEW_ID

Set BLOCKQUOTE_API_KEY for account access. Set BLOCKQUOTE_TURNSTILE_TOKEN only when you have a human verification token. Use --refresh with scan to request a fresh scan. Authentication and quota rules remain the same. The CLI prints JSON with data, status, and headers. It does not poll or retry. HTTP failures print server data, headers, status, and retryAfter to stderr with exit code 1. Other request failures print only their error type to avoid exposing credentials. Invalid arguments exit with code 2.

Metadata

Release files for blockquote-agents 0.1.2

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

Source distribution (sdist)

Source distribution for blockquote-agents 0.1.2
File Size Uploaded Provenance
blockquote_agents-0.1.2.tar.gz 6.9 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for blockquote-agents 0.1.2
File Interpreter ABI Platform
blockquote_agents-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 13.3 kB

Release files / blockquote_agents-0.1.2.tar.gz

Download URL blockquote_agents-0.1.2.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b0b6be607e6a2b9cca883109181dd91eadf55279cc71e2f4d1327b752fd388a2
BLAKE2b-256 checksum
How to use checksums
818f64832232066ac3c7f7b7123a21471f9650364ff468571541a6d42b566de5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / blockquote_agents-0.1.2-py3-none-any.whl

Download URL blockquote_agents-0.1.2-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ec7eb6f7d021592b042a5587f7ac3af764dc264f800513f7720187da82455405
BLAKE2b-256 checksum
How to use checksums
a6b65b9230c072dea5b054bc254845b154b1fac6f922c679f513b1dce7881c9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Security for blockquote-agents 0.1.2

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for blockquote_agents-0.1.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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