Skip to main content

htpbe — Python client

Python client for the HTPBE API — structural PDF tamper & forgery detection. It analyses a PDF's byte-level structure (xref tables, incremental updates, signatures, object streams) to detect whether a document was modified after creation. No original copy needed.

Not a KYC/identity platform — it's the structural PDF-forensics layer. Full API reference: https://htpbe.tech/api

Install

pip install htpbe

Quickstart

from htpbe import Client

client = Client(api_key="htpbe_live_...")  # get a key at https://htpbe.tech/api

result = client.analyze_and_wait("https://example.com/invoice.pdf")

print(result["status"])               # "intact" | "modified" | "inconclusive"
print(result["modification_markers"]) # e.g. ["HTPBE_POST_SIGNATURE_EDIT"]

The API works on any publicly accessible PDF URL (≤ 10 MB), downloadable without authentication.

Two-step flow

analyze_and_wait is shorthand for the underlying two calls:

check_id = client.analyze("https://example.com/contract.pdf")
result = client.get_result(check_id)

List your checks

page = client.list_checks(limit=50)
for check in page["data"]:
    print(check["id"], check["status"])
print(page["total"])  # total number of checks

Error handling

from htpbe import HtpbeAPIError

try:
    result = client.analyze_and_wait(url)
except HtpbeAPIError as exc:
    print(exc.status, exc.code, exc.message)  # e.g. 402 payment_required ...

Testing without spending credits

Test keys (htpbe_test_...) return deterministic synthetic results and only accept the documented test URLs — see the API docs. Live keys (htpbe_live_...) accept any public PDF URL and draw from your credit balance.

What you can detect

The verdict is intact, modified, or inconclusive, with named modification_markers. Common use cases:

Links

License

MIT

Metadata

Release files for htpbe 0.1.0

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

Source distribution (sdist)

Source distribution for htpbe 0.1.0
File Size Uploaded
htpbe-0.1.0.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for htpbe 0.1.0
File Interpreter ABI Platform
htpbe-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.8 kB

Release files / htpbe-0.1.0.tar.gz

Download URL htpbe-0.1.0.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
72771ac58cb6e051261fd612697bcf5047187e919b3eec79e0acbb041dda939f
BLAKE2b-256 checksum
How to use checksums
bf1418d21c19f752a36064e1a42c5999c5e7a25bae9ad566aa52f656dc701e7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 27, 2026.

Transparency log

Release files / htpbe-0.1.0-py3-none-any.whl

Download URL htpbe-0.1.0-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
40975cd8a59bb48bfda4c70d5622dae14e27ae867e551cf4ef95d4ce997c10c2
BLAKE2b-256 checksum
How to use checksums
1581913da4be897d6d6cea6f371adfa962c3b44c9de2065063de43c6f06ed06c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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