Bearer key · JSON
POST /api/v1/encode
curl -s -X POST https://pageverified.com/api/v1/encode \
-H "authorization: Bearer $PAGEVERIFIED_API_KEY" \
-H "content-type: application/json" \
-d '{"operation":"hash","text":"PageVerified","algorithm":"sha256"}'
Send the key as a bearer token in the authorization header. One key and one credit balance cover every service, including PageVerified 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.
Captured 2026-11-09
Example
This request was run against the running service on 2026-11-09 and the response below is what came back, unedited.
Request JSON
{
"operation": "hash",
"text": "PageVerified",
"algorithm": "sha256"
}
Captured response JSON
{
"call_id": "8c4650b7-7d95-44d3-8d6c-9f55b78a1e8f",
"operation": "hash",
"notice": "Computed from the caller's input in this process. Nothing sent here is stored.",
"checked_at": "2026-11-09T11:57:55.214Z",
"algorithm": "sha256",
"digest_format": "hex",
"result": "bdb9fecb336a48491d530b8bb2e09bf8740fe98e61659de2a498304b25f84a0e",
"weak": false,
"byte_length": 12,
"credits_charged": 1,
"credits_remaining": 999
}
For agents
Use when
Use this when a task needs an exact SHA or MD5 digest, or text converted to or from base64, base64url, hex or URL percent-encoding, where a language model would otherwise guess the output.
6 fields
Input
Scroll the table horizontally to see all fields.
Field / Type / Required / What it does| Field | Type | Required | What it does |
|---|
operation | string | Required | hash, encode or decode. |
|---|
text | string | Required | The input, up to 1 MiB. |
|---|
algorithm | string | Optional | For hash: sha256 (the default), sha384, sha512, sha1 or md5. |
|---|
digest | string | Optional | For hash: hex (the default), base64 or base64url. |
|---|
input_encoding | string | Optional | For hash: how to read text. utf8 (the default), base64 or hex. |
|---|
format | string | Optional | For encode and decode: base64, base64url, hex or url. |
|---|
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| Field | What it holds |
|---|
operation | The operation that ran. |
|---|
result | The digest, or the converted text. Null if decoded bytes are not UTF-8. |
|---|
result_hex | For decode: the decoded bytes as hex, for output that is not text. |
|---|
is_utf8 | For decode: whether the bytes are valid UTF-8. |
|---|
algorithm | For hash: the algorithm used. |
|---|
weak | For hash: true for md5 and sha1, which must not be used where collisions matter. |
|---|
byte_length | Bytes that were hashed or encoded. |
|---|
notice | That nothing is stored. |
|---|
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| Code | Status | Meaning |
|---|
invalid_operation | 400 | operation is not hash, encode or decode. |
|---|
text_required | 400 | text was not sent. |
|---|
text_too_long | 400 | text is longer than 1 MiB. |
|---|
invalid_algorithm | 400 | algorithm is not supported. |
|---|
invalid_format | 400 | format is not supported. |
|---|
invalid_digest | 400 | digest is not hex, base64 or base64url. |
|---|
invalid_input_encoding | 400 | input_encoding is not utf8, base64 or hex. |
|---|
format_required | 400 | encode and decode need a format. |
|---|
invalid_input | 400 | text is not valid in the encoding it was declared to be in. |
|---|
On every service
Scroll the table horizontally to see all fields.
Code / Status / Meaning| Code | Status | Meaning |
|---|
invalid_api_key | 401 | The authorization header is missing or the key is unknown. |
|---|
insufficient_credits | 402 | The balance is below this call's cost. The response carries credits_required and credits_remaining. |
|---|
rate_limit_exceeded | 429 | Free keys share 10 calls a minute across every service. The response carries limit and window_seconds. |
|---|
services_unavailable | 503 | The credit store could not be reached. Retry once after 30 seconds. |
|---|
Where the answer comes from
Source and scope
Digests from the runtime's node:crypto; encodings per RFC 4648 and RFC 3986.
PageVerified reports what it read, with the source it read it from. It is general information, not advice, and not a legal record.
All PageVerified tools · Service list as JSON · OpenAPI