API
Everything public about a human is available as JSON. No key, no rate limit beyond Cloudflare's, no email. Responses carry Access-Control-Allow-Origin: *.
Count
curl https://numbered.me/api/count
{"count":4281003,"revoked":12,"vouches":9184}
count is the highest number issued, revoked included. vouches is every vouch ever recorded. Cached for 60 seconds.
One human
curl https://numbered.me/api/h/1
{"id":1,"created_at":"2026-09-06T22:30:23.741Z","revoked":false,
"display_name":"Serhii Korniienko","level":"corroborated",
"vouches_received":2,"humans_brought":3,"referred_by":null}
display_name is present only if set. A revoked human also carries revoked_at and revoked_reason. referred_by is the number of the human whose invite link was used at registration, or null. With the owner's session cookie the response also carries invite_url and linkedin_add_url, LinkedIn's "Add to profile" deep link with the level in the certification name at the time of the request, and is not cached. Unknown numbers return 404 with {"error":"No such human."}. Cached for 60 seconds.
Verification levels
level is derived from vouches_received, which counts vouches from humans who are not revoked.
- Self-declared
- 0
- Corroborated
- 1–2
- Widely believed
- 3–9
- Beyond reasonable doubt
- 10–24
- Undeniable
- 25 or more
Vouching needs a session: POST /vouch/:id from the record page or an invite page. One vouch per pair, permanent, ten per human per hour. /ledger lists the most vouched and the most humans brought, refreshed every five minutes. /lineage/:id shows who invited whom.
Notes
A record carries up to two fixed notes about its number, rarest first: the first, prime, a power of two, a perfect square or cube, a Fibonacci number, a factorial, a triangular number, a palindrome, every digit the same, consecutive digits, reads as binary, also a year, round, and five specific numbers. Numbers with no such property have no notes. Nothing is invented.
Badge
https://numbered.me/badge/1.svg
https://numbered.me/badge/1.svg?label=verified
https://numbered.me/badge/1.svg?level=1
An SVG in the shields.io flat style. label replaces the left text, up to 20 characters. level=1 appends a third, grey segment with the verification level. Cached for one day at the edge and in browsers, with an ETag; the registry purges it on registration, revocation and any vouch that changes the level. An unknown number returns a grey unknown badge with status 200 and a 60-second cache, so a badge embedded before registration corrects itself.
Banners
https://numbered.me/banner/1.svg
https://numbered.me/banner/1.svg?variant=madeby&style=dark&size=sm&level=1
https://numbered.me/banner/team.svg?ids=1,12,4281&style=outline
Rectangular SVG banners for websites. variant is verified (default, "Verified human" over "Human #N") or madeby ("Made by" over "Human #N"). style is light (default), dark or outline; size is md (250×54, default) or sm (200×44); level=1 adds the verification level after the number. /banner/team.svg?ids= takes up to six numbers, sorted ascending, unknown and revoked ones dropped, and reads "Made by humans". A revoked human's banner says "Revoked" in red; an unknown number shows #? with a 60-second cache. Caching, ETag and purging are the badge's.
Certificate
https://numbered.me/certificate/1.pdf
https://numbered.me/certificate/1.pdf?size=letter
A one-page PDF of the record, A4 by default or Letter, with the number, the level, the vouches, who invited them, the notes, and a stamp. Generated at the edge; the fonts are embedded. Cached for one day with an ETag and purged with the card. Unknown numbers return 404.
Card
https://numbered.me/og/1.png
A 1200×630 PNG of the record with the level, who vouched for it at registration where applicable, and the first note about the number. Same caching as the badge. /og/default.png shows the live count and is cached for ten minutes.
Sitemap
/sitemap.xml is an index of the static pages and every record in chunks of 10,000.