Attest tools · pdf_inspect

PDF readability check

a task needs to know what automated software gets when it reads a PDF: whether there is a real text layer or only scanned pictures, which fonts are embedded, whether the page is multi-column, whether the text comes ou…

1 credit per successful callPOST /api/v1/pdf/inspect

Bearer key · JSON

POST /api/v1/pdf/inspect

curl -s -X POST https://getattest.com.au/api/v1/pdf/inspect \
  -H "authorization: Bearer $ATTEST_API_KEY" \
  -H "content-type: application/json" \
  -d '{}'

Send the key as a bearer token in the authorization header. One key and one credit balance cover every service, including Attest Capture. A failed call is refunded automatically. No key yet? POST /api/v1/keys issues one with 25 free credits and no signup — see the key guide.

For agents

Use when

Use this when a task needs to know what automated software gets when it reads a PDF: whether there is a real text layer or only scanned pictures, which fonts are embedded, whether the page is multi-column, whether the text comes out in reading order, and — for a CV — whether contact details, section headings, bullets and dates can be found at all.

Not documented yet: a captured example response. This page only shows what the module publishes about itself, so the missing parts are absent rather than guessed at.

4 fields

Input

Scroll the table horizontally to see all fields.

Field / Type / Required / What it does
FieldTypeRequiredWhat it does
urlstringOptionalA public http(s) PDF URL. Exactly one of url or file_base64.
file_base64stringOptionalThe PDF as base64.
profilestringOptionalgeneral (default) or resume. The resume profile also looks for contact details, section headings, bullets and dates.
file_namestringOptionalThe original file name, used only in the report.

HTTP 200

Response

Every successful response also carries call_id (your receipt for the charge), credits_charged and credits_remaining.

Scroll the table horizontally to see all fields.

Field / What it holds
FieldWhat it holds
profileThe profile that ran.
pagesPage count.
findingsWhat automated software would get from this file, as a list of findings.
statsThe measurements behind the findings: text layer, fonts, columns, reading order, and the resume checks when that profile ran.
limitsThe byte, page, pixel and decompression budgets this read applied.
sourcesThe parser and the standards the report's terms come from.
noticeWhat the report is: a readability check, not a statement about the document's content.

Machine-readable failures

Errors

Errors return JSON such as {"error":"invalid_api_key"}. A failed call is refunded automatically.

Scroll the table horizontally to see all fields.

Code / Status / Meaning
CodeStatusMeaning
url_or_file_base64_required400Neither url nor file_base64 was sent.
url_and_file_base64_conflict400Both url and file_base64 were sent.
not_a_pdf400The bytes are not a PDF.
invalid_pdf400The PDF structure could not be read.
pdf_password_required400The file is encrypted and needs a password.
pdf_too_complex400The file is past the decompression or page budget.
file_too_large400The file is past the byte cap.
empty_file400The file decoded to nothing.
pdf_read_failed422The file is a PDF but could not be analysed.
fetch_failed502The PDF URL did not answer. Not charged.

On every service

Scroll the table horizontally to see all fields.

Code / Status / Meaning
CodeStatusMeaning
invalid_api_key401The authorization header is missing or the key is unknown.
insufficient_credits402The balance is below this call's cost. The response carries credits_required and credits_remaining.
rate_limit_exceeded429Free keys share 10 calls a minute across every service. The response carries limit and window_seconds.
services_unavailable503The credit store could not be reached. Retry once after 30 seconds.

Where the answer comes from

Source and scope

Parsed with Mozilla pdf.js (pdfjs-dist, Apache-2.0). Report terms follow ISO 32000-1:2008 and the ISO 19005 (PDF/A) identification scheme.

Attest reports what it read, with the source it read it from. It is general information, not advice, and not a legal record.

All Attest tools · Service list as JSON · OpenAPI

Same key as every Attest tool

One key. One balance. 1 credit a call.

Issue a free key, then use it here, on Attest Capture and on every other tool in the box.

Get a free key