Pistiik Identity Verification API avatar

Pistiik Identity Verification API

Pricing

from $1,350.00 / 1,000 "verification session created"s

Go to Apify Store
Pistiik Identity Verification API

Pistiik Identity Verification API

Verify user identities via hosted document and biometric checks. Create verification sessions and retrieve verified results through a simple HTTP API.

Pricing

from $1,350.00 / 1,000 "verification session created"s

Rating

0.0

(0)

Developer

Pistiik OÜ

Pistiik OÜ

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

10 days ago

Last modified

Share

Verify that the people you deal with online are real — and who they claim to be. Pistiik provides hosted document and biometric identity verification through a simple API: create a verification session, send your user a link, and fetch the verified result. No SDK integration, no compliance infrastructure to build.

Brought to you by Pistiik, the verification broker.

How it works

  1. Create a session — call the API with an optional refId (your own reference) and get back a verificationUrl.
  2. Send your user the link — they complete the verification in their browser or phone (document capture, selfie, liveness).
  3. Fetch the result — poll GET /verifications/:refId (or check later) to get the status and the extracted, verified document data.

Verification flows

FlowDescription
documentFull document verification: ID capture, data extraction, tampering checks.
humanityLiveness check — confirms the person is a real human.
name-checkName authenticity — confirms the given name matches a verified identity document.

Using the API (Standby mode)

The actor runs as an always-on HTTP API. Authenticate with your Apify API token.

Base URL:

https://pistiik--pistiik-identity-verification.apify.actor

Create a verification session

curl -X POST "https://pistiik--pistiik-identity-verification.apify.actor/sessions" \
-H "Authorization: Bearer <YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"flow": "document",
"refId": "customer-42",
"user": { "firstName": "Jane", "lastName": "Doe" },
"redirectUrl": "https://example.com/verification-done",
"language": "en"
}'

All fields are optional. If you omit refId, one is generated for you — keep it, you need it to fetch the result.

Response 201:

{
"refId": "customer-42",
"verificationUrl": "https://…",
"expiresAt": "2026-08-09T12:34:56.000Z"
}

The verificationUrl is valid for 30 minutes. Creating a new session for the same refId issues a fresh link.

Get a verification result

curl "https://pistiik--pistiik-identity-verification.apify.actor/verifications/customer-42" \
-H "Authorization: Bearer <YOUR_APIFY_TOKEN>"

Response 200:

{
"refId": "customer-42",
"status": "verified",
"createdAt": "2026-08-09T12:00:00.000Z",
"updatedAt": "2026-08-09T12:05:00.000Z",
"documents": [
{
"firstName": "JANE",
"lastName": "DOE",
"dateOfBirth": "1990-01-01",
"gender": "F",
"idNumber": "AB1234567",
"dateOfIssue": "2020-01-01",
"dateOfExpiration": "2030-01-01",
"type": "PASSPORT",
"faceMatchLevel": 5,
"checks": {
"digitalCopyDetection": "passed",
"facePhotoTampering": "passed",
"textTampering": "passed"
}
}
],
"metadata": { "ipAddress": "203.0.113.7" }
}

Statuses

StatusMeaning
openThe session was created but the user has not started yet.
in_progressThe user has started but not finished verification.
processingVerification is being reviewed.
verifiedAll checks passed — you can proceed.
flaggedVerification failed or requires attention (document mismatch or screening hit).

Using the actor with runs

You can also run the actor normally with JSON input — useful for one-off checks or platform integrations (Zapier, Make, Apify schedules):

{ "action": "createSession", "flow": "document", "redirectUrl": "https://example.com/done" }
{ "action": "getVerification", "refId": "customer-42" }

The result is stored in the run's OUTPUT record and default dataset.

Errors

HTTPCodeMeaning
400INVALID_REQUESTA field is missing or malformed.
404NOT_FOUNDNo verification exists for this refId.
500CONFIGURATION_ERRORService misconfiguration — contact support.
502UPSTREAM_UNAVAILABLETemporary outage — retry with backoff.

Support

Questions or custom verification flows? Reach us at pistiik.com.