Academic verification APIAI-implementable

Verify students, faculty and staff with their university login.

Studid confirms academic affiliation through the university’s own single sign-on. No documents to upload, no manual review — just a verified result your app can use.

Start building
  • No documents
  • No manual review
  • 2 API calls to integrate
  • $0 forever
Verificationverified

Technische Universität Berlin

Authenticated via institutional SSO

Verified as
student, member
Stable user ID
MCE6NXEQ3FC3PU7XQ2WJ5ZKAB4YHT2RD
Institution
TU Berlin

Trusted by teams at

HubSpotDelivery HeroH&MKaDeWe

Your users verify with the university they already log into — thousands of institutions across 70+ national federations.

How it works

One login instead of a stack of documents.

Studid sits between your app and the university. Your user logs in at their own institution, and the university confirms who they are.

  1. 1

    Create a verification

    One API call — no SAML, no certificates, no metadata.

  2. 2

    Your user logs in at their university

    The same account and MFA they use every day.

  3. 3

    Get a verified result in seconds

    A stable user ID and their institution — no document review.

AI integration

Let your AI assistant build it

Studid is built to be implemented by coding agents. Two endpoints, a machine-readable OpenAPI spec, an llms.txt and a plain-markdown guide — everything an assistant needs to write a correct integration on the first pass.

Copy this prompt into Cursor, Claude Code, Copilot or any coding assistant.

prompt.txt
Read https://studid.io/llms.txt and add academic verification with Studid.

1. On signup, POST https://api.studid.io/v2/auth/verification with { secretToken, redirectUrl, serviceName } and redirect the user to the returned link.
2. After they return to redirectUrl, poll GET https://api.studid.io/v2/auth/verification/{id} with header "Authorization: Bearer <secretToken>" and use session.authIdentifier as the user's ID.
3. Reject session.test === true in production.

The integration

Two calls, and you're done

No SAML certificates, no metadata, no protocol. The institution signs the login; the API hands you a verified result.

verify.sh
$ curl -X POST https://api.studid.io/v2/auth/verification \
    -H "Content-Type: application/json" \
    -d '{"secretToken":"...","redirectUrl":"...","serviceName":"My App"}'

201 Created

authIdentifier
MCE6NXEQ3FC3PU7XQ2WJ5ZKAB4YHT2RD
authIdentifierType
pairwise-id
entityId
https://idp.tu-berlin.de/shibboleth
affiliations
["student", "member"]

What you get back

Reliable where it matters

Three fields, documented honestly. entityId is always present; authIdentifier when the institution provides it.

authIdentifier
A privacy-safe, stable ID for the user’s account — a per-service pseudonym or a persistent identifier. null when the institution only issues a transient ID.
entityId
The institution the user authenticated at. Always present — this alone proves affiliation, even when no stable user ID is available.
affiliations
Their role when the institution releases it. Often empty — we tell you instead of guessing.

No persistent ID? The verification still counts.

A null authIdentifier doesn’t mean the login failed — the user still authenticated at a real institution. Use entityId for eligibility decisions (discounts, gated access, signup) and bind the result to your own session token for continuity.

The difference

Documents vs. a university login

The old way asks users to prove who they are. Studid asks the institution instead.

The old way

Uploading documents

  • Ask users for a transcript or student ID
  • Wait days for someone to review it
  • Documents can be forged or edited
  • You store sensitive personal files

With Studid

One university login

  • One login at the university they already use
  • A verified result in seconds
  • Signed and confirmed by the institution
  • You store nothing sensitive

Live demo

See it work in under a minute

Search for your university and sign in with your own account. No signup, no install — just the same flow your users will see.

  • No account required
  • Runs against the live API
  • The same flow your users see
studid.io/search
Try