Gravatar existence check
POST /api/gravatar-checkCheck whether an email address has a Gravatar: hashes the normalized email (MD5, pure CPU — the raw address is never sent upstream), probes gravatar.com for an avatar, and fetches the public profile when one exists (display name, username, profile URL). Accepts a raw email or a precomputed MD5/SHA-256 hash. Signal-only: a Gravatar's existence suggests a real, web-active address but does NOT verify identity or deliverability — pair with /api/email-validate for MX checks.
Input
| Field | Type | Description |
|---|---|---|
email | string | Email address to check (hashed locally; never sent upstream). |
hash | string | Precomputed lowercase MD5 (32 hex) or SHA-256 (64 hex) of the normalized email. Provide email OR hash. |
Example output
{
"hash": "205e460b479e2e5b48aec07710c08d50",
"exists": true,
"avatarUrl": "https://gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50",
"profile": {
"displayName": "Beau Lebens",
"preferredUsername": "beau",
"profileUrl": "https://gravatar.com/beau"
},
"note": "Existence is a web-activity signal only — it does not verify identity or deliverability."
}
Try it — see the 402 challenge (free)
curl -i -X POST https://agent402.tools/api/gravatar-check \
-H "Content-Type: application/json" \
-d '{"hash":"205e460b479e2e5b48aec07710c08d50"}'
The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:
Paid call (JavaScript agent)
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/gravatar-check", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"hash": "205e460b479e2e5b48aec07710c08d50"
}),
});
Related tools
DNS lookup
GET /api/dnsDNS lookup for a domain. Supported record types: A, AAAA, MX, TXT, NS, CNAME.
HTTP check
POST /api/http-checkCheck any public URL: status code, latency, final URL after redirects, and response headers. The uptime primitive for ag…
TLS certificate
POST /api/tls-certInspect the TLS certificate of any public host: subject, issuer, validity window, days remaining, SANs, and SHA-256 fing…