Reverse: find user by identity
API · /keybase-api
Keybase Identity API
Live cryptographic social-identity lookup from Keybase — no key, nothing cached. Keybase links a person's identities together with public-key cryptography, so this answers "who is this account, really, and what else are they?". The user endpoint takes a Keybase username and returns the profile (full name, location, bio, picture), every verified identity proof — the Twitter, GitHub, Reddit, Hacker News, Mastodon, website and DNS accounts that user has cryptographically proven are theirs — plus their on-file cryptocurrency addresses (Bitcoin, Zcash and more) and PGP key fingerprint: Keybase user "chris" resolves to Chris Coyne in Maine, with proven twitter/github/reddit @malgorithms and a Bitcoin address. The lookup endpoint runs the reverse — give it a GitHub, Twitter, Reddit or Hacker News handle, a domain or a PGP fingerprint and it finds the Keybase user who proved it, so a bare GitHub handle resolves to a full verified identity. The proofs endpoint returns just the connected-accounts graph and crypto addresses. This is the identity-verification and social-graph layer for any trust, onboarding, anti-impersonation, social or crypto app — proven links, not claimed ones. Live from Keybase, nothing stored. Distinct from single-platform profile APIs — this is the cross-platform proven-identity graph. 4 endpoints.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 432 ms
- Server probes · 24h
- Subscribers
- 4,778
- active
- Total calls
- 28
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 13,000 calls / month
- 3 requests / second
- Hard cap (429 above quota, no overage)
- 13,000 calls/month
- 3 req/sec
- Profile, proofs & reverse lookup
- No credit card
Starter
€5.50 /month
- 160,000 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 160,000 calls/month
- 8 req/sec
- Verified accounts, crypto addresses, PGP
- Email support
Pro
€15.50 /month
- 680,000 calls / month
- 15 requests / second
- Hard cap (429 above quota, no overage)
- 680,000 calls/month
- 15 req/sec
- Trust, onboarding & anti-impersonation
- Priority support
Scale
€38.00 /month
- 3,400,000 calls / month
- 30 requests / second
- Hard cap (429 above quota, no overage)
- 3,400,000 calls/month
- 30 req/sec
- Identity-graph scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Email Normalize API
Canonicalize email addresses so you can deduplicate accounts and catch different aliases of the same inbox. The normalize endpoint lower-cases the address and applies provider-aware rules: it strips the dots from Gmail and Googlemail local parts (because Gmail ignores them) and maps googlemail.com to gmail.com, removes +tag sub-addressing for Gmail and the many providers that support it — Outlook, Hotmail, Live, iCloud, Fastmail, Proton, Yandex, Zoho, GMX and more — and, by default, for every domain so duplicates never slip through, while reporting exactly which changes it made and which provider it detected. The compare endpoint normalizes two addresses and tells you whether they resolve to the same mailbox. Everything is computed locally and deterministically, with no DNS or network calls, so it is instant and private. Ideal for sign-up and registration dedup, fraud and abuse prevention (one person, many aliases), CRM and mailing-list hygiene, and merging customer records. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This normalizes addresses for comparison; to verify that an address actually exists and can receive mail (MX, disposable, role accounts) use an email-verification API.
api.oanor.com/emailnormalize-api
Gravatar API
Turn an email address into its Gravatar avatar and public profile. Pass an email and the service normalises it, computes the MD5 and SHA-256 hashes Gravatar uses, builds a ready-to-use avatar URL, checks whether a custom Gravatar actually exists, and fetches the public profile when present — display name, username, profile URL, location, about text, linked accounts and photos. A dedicated avatar endpoint builds just the image URL with full options: size (1-2048), a default image (identicon, monsterid, robohash, retro, mp, blank, 404, or your own URL), rating and force-default. Ideal for user-profile enrichment, comment systems, contact cards, team pages and onboarding — showing a real avatar from nothing but an email. A Gravatar lookup — distinct from deterministic avatar/identicon generation (avatar), which renders a brand-new image from a seed rather than fetching the avatar a person actually chose. No upstream key, no cache.
api.oanor.com/gravatar-api
OIDC Discovery API
Inspect any OpenID Connect / OAuth 2.0 provider. Pass an issuer (a domain, an issuer URL, or the full discovery URL) and the service fetches the provider's discovery document at /.well-known/openid-configuration, parses every endpoint — authorization, token, userinfo, jwks, registration, end-session, introspection, revocation and device-authorization — together with the supported scopes, response types, grant types, ID-token signing algorithms, PKCE methods and claims, then fetches the JWKS and summarises its signing keys (count, algorithms, key types and key IDs), and reports a validity check with any issues. A second endpoint fetches and summarises any JSON Web Key Set on its own. The request is made server-side and private/internal targets are refused (SSRF-guarded). Built for SSO and OAuth/OIDC integration, identity-provider configuration debugging (Auth0, Okta, Keycloak, Azure AD, Google), security review and monitoring of signing-key rotation. An OIDC discovery / JWKS inspector — distinct from the JWT toolkit (jwt), the security.txt parser (securitytxt) and the HTTP security-header grader (secheaders). No upstream key, no cache.
api.oanor.com/oidc-api
ORCID API
ORCID as an API — the global researcher identity registry, powered by the ORCID Public API. An ORCID iD (for example 0000-0002-1825-0097) uniquely and persistently identifies a researcher across journals, funders, universities and the entire scholarly record. Search more than 15 million researchers by name, institution, keyword or external identifier using rich Solr field syntax, getting each match's ORCID iD, name, other names and affiliated institutions; read a researcher's public profile including their published and credit names, biography, research keywords, country, personal and lab websites and external identifiers such as Scopus Author ID or ResearcherID; list the works they have claimed on their record with each work's title, type, publication year, journal and DOI; and trace their employment and education affiliations with the organization, role, department and dates. Ideal for research-information systems, author disambiguation, institutional reporting, scholarly tooling and academic search. ORCID iDs come from search results or are supplied directly by the researcher. Data is the public portion of ORCID records (CC0). For the scholarly works and citation graph see the OpenAlex API; for DOIs and journal metadata the Crossref API.
api.oanor.com/orcid-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Keybase Identity API?
What's the rate limit for Keybase Identity API?
How much does Keybase Identity API cost?
Can I cancel my subscription anytime?
Is Keybase Identity API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/keybase-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/keybase-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/keybase-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/keybase-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.