IDfier Logo
Government ID verified
Customer approves every field
No document copies
Bronze, Silver and Gold levels
What you get

Verified customers, without collecting their documents

The same results whichever way you use IDfier KYC.

Verified identity or age

Name, date of birth, nationality and document type from a government ID, or just a yes or no for an age.

Only what you need

You choose the fields. Customers see exactly that list and approve it before anything is shared.

No document copies

No passport photos or ID numbers to store, check or delete. You get the verified details only.

Know how they were verified

Every result says how the customer was verified: document and face scan, BankID or an NFC chip.

Two ways to use it

Out of the box, or built into your app

Same verified identities, same consent screen for your customer. Pick what fits how you work today.

No integration

Verification links

Send a link, see the result. Ready to use today.

Best for: Landlords, rental and hire companies, marketplaces and any team that verifies customers one by one.

  1. In IDfier Business, choose what to verify and who to ask
  2. We email the link, or you send it any way you like
  3. Your customer approves in the IDfier app
  4. The verified details appear in your dashboard

You need: An IDfier Business account. Sign in with IDfier; your first 10 verifications are free.

API

Login with IDfier

KYC built into your own sign-up and login.

Best for: Websites and apps that onboard customers themselves: marketplaces, fintech, platforms, rentals at scale.

  1. Your backend creates a session with the IDfier API
  2. Show a QR code on desktop, or open the app on mobile
  3. Your customer approves what you ask for
  4. Your backend receives the verified details and signs them in

You need: A developer and API credentials. Most teams integrate in a day.

Verification linksLogin with IDfier
IntegrationNoneYour website or app, through the API
Where results appearIDfier Business dashboardYour own backend
How customers startA link by email, SMS or chatA button or QR code in your sign-up or login
Also gives youA record of every requestPasswordless sign-in for returning customers
Get startedFree, in minutesAPI credentials from our team
The API in detail

From QR code to verified, in seconds

How Login with IDfier works under the hood: the same consent screen, started from your own website or app.

Your backend

POST /api/v3/business/auth/request
clientid · clientsecret

{
  "status": 100,
  "data": {
    "referenceId": "550e8400-e29b-…",
    "qrReferenceSecret": "abc123",
    "createdAt": "2026-03-12T10:00:00Z"
  }
}

The session is valid for five minutes.

API explorer

Build your request

Pick the fields you need and a language. Get the scopes to set up on your account, ready-to-copy code for every step, and the response you'll receive.

1. Choose the fields you need

Age rule

2. Scopes for your business account

ageOver18,fullname,email

Scopes are set on your business account when we set up your API access, not sent with each request. Every response then contains only these fields plus a stable id. Age limit and range scopes are Coming soon.

9:41
IDfier
H

Hemly

hemly.se

wants to verify the following details from your IDfier identity:

Full nameAnna Lindqvist
Emailanna.lindqvist@outlook.com
Age over 18Yes

Deny

3. Make the requests

async function waitForUser(referenceId) {
  for (let delay = 2000; ; delay = Math.min(delay * 1.5, 10000)) {
    const res = await fetch("https://api.idfier.com/api/v3/business/auth/result", {
      method: "POST",
      headers: {
        clientid: process.env.IDFIER_CLIENT_ID,
        clientsecret: process.env.IDFIER_CLIENT_SECRET,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ referenceId }),
    });
    const { data } = await res.json();
    const { status, expiresAt } = data.session;

    if (status === "approved") return data.user;
    if (status === "denied" || status === "error") throw new Error(status);
    if (new Date(expiresAt) < new Date()) throw new Error("expired");
    await new Promise((r) => setTimeout(r, delay));
  }
}

const user = await waitForUser(referenceId);
const { id, ageOver18, fullname, email } = user;

Replace $IDFIER_CLIENT_ID and $IDFIER_CLIENT_SECRET with your credentials. Keep the secret on your server.

For developers

Two endpoints. That's the integration.

Create a session, show a signed QR code and fetch the result. See the quickstart, code samples, data fields and errors on the developer page.

Verification levels

Every result shows how the customer was verified

Decide what assurance you need for each customer.

BASIC ASSURANCE · GLOBAL

Bronze

Document scan + face liveness

A government-issued ID was scanned and passed a live face match. Document fields are read from the image.

authLevel: "Bronze"
STRONG ASSURANCE · SWEDEN

Silver

Swedish BankID

Authenticated with BankID, Sweden's bank-issued electronic identity. Name and personal number come from the BankID record.

authLevel: "Silver"
HIGHEST ASSURANCE · GLOBAL

Gold

Document scan + face liveness + NFC chip

The ID's NFC chip is read and matched to a live face scan. The chip is signed by the issuing country, so the document is provably authentic.

authLevel: "Gold"
Where it fits

For anyone who needs to know who they're dealing with

Rentals and property
Car and equipment hire
Marketplaces
Financial services
Hiring and contractors
Services and bookings

Need only a yes or no for an age limit? See age verification. Want customers to be able to verify you? See reverse KYC.

FAQ

Questions we hear from teams

Both are IDfier KYC, with the same verified identities and the same consent screen for your customer. Verification links work out of the box from the IDfier Business dashboard, with no integration. Login with IDfier is built into your own website or app through the API. Many businesses start with links and add the API later.

Build trust into your platform

Know who your customers are, starting today.