For platforms

One API for every verification your product needs

Bank income, payroll, document review, offer letters, identity, and rental history — through a single integration and one embedded widget. We run the provider network and the compliance layer underneath. You ship a widget.

bash
curl -X POST https://api.payscore.com/v1/verifications \
  -H "Authorization: Bearer $PAYSCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "applicant": { "email": "applicant@example.com" },
    "checks": ["bank_income", "payroll", "identity", "rental_history"],
    "redirect_url": "https://yourapp.com/verification/complete"
  }'
Why platforms stop building this

The data is the easy part

One connection isn't coverage.

A single bank or payroll provider fails on a meaningful share of real applicants. Every gap becomes an abandoned application. Real coverage means running several providers in sequence and maintaining all of them.

Five products, five integrations.

Bank aggregation, payroll access, document AI, identity verification, and rental history are five vendors, five contracts, five auth schemes, and five things that break independently.

And then there's everything after the data.

Permissible purpose, consumer disclosures, dispute intake, reinvestigation, and adverse action all attach to a verification used for a housing or lending decision. Standing that function up is a bigger project than the integration itself, and it never ships once.

Two ways in

Redirect to it, or embed it.

Either way, your backend does the same thing: create a verification request, then handle one webhook when the result is ready.

Hosted flow

We host the applicant experience.

Create a verification request, redirect the applicant to a Payscore-hosted link, and receive the result on your webhook. No frontend work at all — useful for getting to production fast or for testing demand before you invest in the embed.

Lift: an afternoon.

Embedded widget

Drop-in JavaScript inside your product.

A script tag and a few data attributes. Your logo, your colors, your domain. The applicant never leaves your app, and it works inside a webview.

Lift: [X] days.

Start hosted and move to the embedded widget later without changing your backend. The API contract and the webhook payload are identical.

The response

Structured, decision-ready, and consistent across every check

Whatever combination of checks ran, and whichever provider ultimately answered, the payload shape is the same.

POST /webhooks/verification.completed
json
{
  "id": "vrf_01HQ8X2K9M",
  "status": "completed",
  "applicant": { "email": "applicant@example.com" },
  "income": {
    "monthly_gross": 6420.00,
    "confidence": "high",
    "source": "payroll",
    "streams": [
      { "employer": "Acme Corp", "frequency": "biweekly", "verified": true }
    ]
  },
  "employment": { "status": "active", "tenure_months": 27 },
  "identity": { "match": true, "document_type": "drivers_license" },
  "rental_history": { "verified": true, "on_time_payment_rate": 1.0 },
  "report_url": "https://app.payscore.com/reports/vrf_01HQ8X2K9M"
}
Webhook retries with exponential backoff
Idempotency keys on every write
Versioned API, no breaking changes without notice
Sandbox with simulated applicants
Published rate limits
Status page and incident history
One contract, one integration

Every check, from the same endpoint

Name the checks you want in the request. Add a product later without touching your integration.

Bank income verification

Verified deposits and recurring income streams pulled directly from the applicant's accounts.

Payroll and employer-direct

Employment status, tenure, and earnings confirmed at the source.

Document and paystub review

AI extraction and fraud checks on uploaded paystubs, W-2s, tax returns, and bank statements — the fallback when a connection isn't available.

Offer letter verification
Unique to Payscore

Future income for applicants who haven't started the job yet.

Identity verification

Government ID capture, selfie match, and name reconciliation against verified income. Coverage in 200+ countries and territories.

Rental history and landlord verification

Prior tenancy, on-time payment history, and landlord-confirmed ledger data.

Already using Plaid or MX? Keep it.

If your product already connects bank accounts, send us that data and we'll categorize it into structured, decision-ready income — then fall back to our provider network when your source comes up short. You don't have to rip out what works.

Run checks individually, or as a sequential waterfall that stops the moment the applicant is verified — so you aren't billed for checks that never had to run.

The part you don't want to own

The obligations stay on our side

A verification used for a housing or lending decision carries duties that outlast the API call. We operate that layer so your platform doesn't have to build or staff it:

  • Permissible purpose collection and verification
  • Consumer disclosures and authorization capture, including state-specific requirements
  • Dispute intake and reinvestigation, run by our team
  • Adverse action support
  • SOC 2 [Type 1 / Type 2 — confirm which, and as of what date]

Consumers reach our team directly, and reinvestigation runs end to end on our side. You don't staff a compliance desk. We'll share full documentation of how responsibility is allocated for your legal team to review before anything is signed.

AICPA SOC 2 certified badge
[X]
bank and payroll connections
[X]%
of applicants verified without a document upload
[X]M
verifications completed
[X]%
API uptime
Pricing

Usage-based, no seat licenses

You're billed on verifications, not users or units of software. Waterfall pricing means you're only charged for checks that actually run. Volume tiers start at [X] verifications per month. [Confirm the partner pricing shape before this ships.]

Book a demo

Questions engineers ask first

[X] days for the hosted flow and [X] for the embedded widget. Sandbox credentials go out after the first call.

Request access

Tell us what you're building and we'll walk through integration options, coverage, and the partner compliance model.

Book a call