Integrate in under 2 hours.
Verify gig workers in milliseconds.
Consumer-permissioned income verification for the 1.57 billion independent workers your current data stack can't see. Built for fintech, lending, and insurance platforms.
🚀 Quickstart
You can have a worker verified end-to-end in your sandbox in under 20 minutes. Here's the shortest path.
/verify// 1. Install // npm install gigverify const GigVerify = require('gigverify'); const client = new GigVerify({ apiKey: 'gv_sandbox_YOUR_KEY', // from /partners env: 'sandbox', // 'production' when live }); // 2. Verify a worker (requires their consent token) const result = await client.verify({ workerId: 'GID-US-288867', // from consent widget callback consentToken: 'ct_abc123...', // from widget GIGID_CLAIMED event }); // result: // { // level: 2, // income_signal: 'verified', // platforms: 3, // gig_score: 612, // kyc_status: 'pending', // worker_type: 'gig', // queried_at: '2026-03-30T12:00:00Z' // } if (result.level >= 2) { // Worker has verified active income — approve loan / policy / tenancy approveApplication(result); }
🔑 Authentication
GigVerify™ uses API keys passed in the Authorization header as a Bearer token. Every request must include your key.
Authorization: Bearer gv_sandbox_YOUR_KEY_HERE Content-Type: application/json
🧪 Environments
| Environment | Base URL | Key prefix | Billed? |
|---|---|---|---|
| Sandbox | https://api.gigid.ai/v1 |
gv_sandbox_ |
❌ Never billed |
| Production | https://api.gigid.ai/v1 |
gv_live_ |
✅ Billed at contract rate |
Sandbox returns realistic simulated data. The API contract is identical between environments — flip the key to go live. No code changes required.
Sandbox Test Workers
Use these IDs in sandbox to test different scenarios:
| Worker ID | Level | Income Signal | Scenario |
|---|---|---|---|
GID-US-288867 | Level 2 | verified | Standard gig worker — approve |
GID-US-119205 | Level 1 | pending | New worker — limited data |
GID-US-000000 | — | — | Worker not found (404) |
GID-US-REVOKED | — | — | Consent revoked (403) |
IID-UK-146032 | Level 3 | kyc_verified | IndieID — fully verified |
📦 SDKs
Official SDKs wrap the REST API with typed responses, automatic retries, and consent widget helpers.
✅ Consent Model
GigVerify™ is consumer-permissioned — not a Consumer Reporting Agency under FCRA. Every query requires the worker's active, revocable consent. This is the architecture that makes GigVerify™ legally distinct from credit bureaus.
The Consent Flow
GIGID_CLAIMED postMessage event with workerId and consentToken. Store both server-side./verify with the consent token401 consent_required.403 consent_revoked — you are never silently given data without consent.🎯 Response Levels
GigVerify™ returns a level field (1–3) indicating how much has been verified. Higher levels = more data + higher confidence.
Identity Verified
GigID claimed, email verified, 1+ platform connected. Confirms the worker is a real person with an active gig presence.
Active Income Signal
3+ platforms connected, income activity in last 90 days, GigScore 550+. Use for: loan pre-qual, insurance underwriting, earned wage advance.
KYC + Income Verified
Level 2 + government ID verified via Persona KYC. Full identity confidence. Use for: mortgage applications, high-value lending, tenant screening.
🔍 POST /verify
The core verification call. Returns the worker's current level, income signal, GigScore, and platform count.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| workerId | string | required | The worker's GigID or IndieID (e.g. GID-US-288867) |
| consentToken | string | required | Consent token from the widget callback (prefix: ct_) |
| minLevel | number | optional | Minimum level required. Returns level_insufficient if not met. Default: 1 |
| includeScore | boolean | optional | Include GigScore breakdown in response. Default: false |
{
"success": true,
"workerId": "GID-US-288867",
"level": 2,
"income_signal": "verified", // verified | pending | insufficient
"platforms": 3,
"gig_score": 612,
"kyc_status": "none", // none | pending | verified
"worker_type": "gig", // gig | indie
"queried_at": "2026-03-30T12:00:00Z"
}
📋 GET /consent/status
Check whether a worker's consent is currently active for your integration.
| Parameter | Type | Required | Description |
|---|---|---|---|
| workerId | string (path) | required | The GigID or IndieID to check |
📦 POST /verify/batch
Verify up to 50 workers in a single call. Each item requires its own consent token. Useful for portfolio reviews or bulk underwriting.
{
"workers": [
{ "workerId": "GID-US-288867", "consentToken": "ct_abc..." },
{ "workerId": "IID-UK-146032", "consentToken": "ct_xyz..." }
]
}
🔔 Webhooks
Register an HTTPS endpoint to receive real-time events. Configure in your Verifier Dashboard.
| Event | When | Key payload fields |
|---|---|---|
consent_granted | Worker approves your integration | worker_id, consent_token |
consent_revoked | Worker removes consent | worker_id, revoked_at |
query_complete | Async verify call finished | query_id, result_level |
worker_level_up | Worker upgraded their GigID level | worker_id, old_level, new_level |
billing_threshold | 80% / 100% of free tier reached | pct_used, current_queries |
⚠️ Error Codes
| Error code | HTTP | Meaning | Action |
|---|---|---|---|
| consent_required | 401 | No valid consent token provided | Show the consent widget to the worker first |
| consent_revoked | 403 | Worker has revoked consent | Request fresh consent from the worker |
| worker_not_found | 404 | GigID/IndieID does not exist | Worker needs to claim their GigID at gigid.ai |
| level_insufficient | 422 | Worker's level is below your minLevel | Prompt worker to upgrade their GigID level |
| invalid_api_key | 401 | API key missing or malformed | Check Authorization header; rotate key if needed |
| rate_limit_exceeded | 429 | Too many requests per minute | Implement exponential backoff; upgrade plan for higher limits |
| sandbox_only | 403 | Production key not yet active | Sign Verifier Agreement and email partners@gigid.ai |
💳 Pricing
- Drop-in Widget integration
- Sandbox environment
- Level 1–3 responses
- Basic dashboard
- Community support
- All integration patterns
- Webhooks + event stream
- 10K queries/month
- Full dashboard + CSV export
- Priority email support
- Batch verify API
- Unlimited queries
- SOC 2 Type II reports
- Dedicated CSM
- 99.9% SLA guarantee
- LOS integrations (Blend, ICE)
- Custom DPA
🛡️ Compliance
FCRA — We Are Not a CRA
GigVerify™ is not a Consumer Reporting Agency under the Fair Credit Reporting Act (15 U.S.C. § 1681 et seq.). Our data is:
- Consumer-initiated: The worker claims their GigID and connects their platforms voluntarily.
- Consumer-permissioned: Every query requires a consent token the worker has actively granted.
- Consumer-revocable: Workers can withdraw consent at any time from their Vault.
- Not assembled for credit purposes: GigVerify™ is income identity verification, not a credit report.
A full attorney-reviewed "Not a CRA" one-pager is available for your legal team. Email partners@gigid.ai.
GDPR
GigVerify™ is GDPR-compliant. A standard Data Processing Agreement (DPA) is available for EU-based verifiers. Workers in the EU have full rights to access, correct, and delete their data from the GigID Vault.