Phone and employer verification for lenders.

One API call checks a US phone number against the applicant or employer name you already collect. It returns the carrier, the line type, the registered caller-ID name where one exists, and a comparison result with reasons. You decide; we supply the evidence.

US numbers · Usage-based pricing · No document upload · No consumer-facing step

Where it fits in a lending workflow

Run a check wherever a phone number enters the file. Each check is one call and one result, tied to your own application or reference ID.

Applicant and co-applicant phones

At application time, for each phone number on the file.

What the check adds

Whether the number is a mobile, landline or VoIP line, which carrier serves it, and whether the registered caller-ID name agrees with the name on the application.

What it does not prove

That the applicant owns or controls the number. When no caller-ID name is registered, the comparison says unavailable rather than guessing.

Employer phone against the stated employer

When the applicant gives an employer name and phone number.

What the check adds

Whether the caller-ID name on the employer's number agrees with the employer name you were given. Business matching allows for legal suffixes, abbreviations and the 15-character caller-ID limit.

What it does not prove

That the applicant works there, or that the business is established or in good standing. A landline or VoIP line at a business is ordinary.

References

When you collect personal or professional references.

What the check adds

Whether the carrier lookup returns a record for the number, what kind of line it is, and whether its caller-ID name agrees with the reference name you were given.

What it does not prove

The reference's relationship to the applicant, or that the line is in service and someone will answer.

What you get back

Every response has the same shape. When something could not be determined, the field says so instead of being left out or guessed.

Line type and carrier
phone.line_typephone.carrier_name
What it tells youMobile, landline, VoIP, toll-free, premium, pager or unknown, plus the carrier name where the lookup returns one.How to read itDescriptive facts about the line. phone.ported is carrier porting history, not evidence that the subscriber changed.
Caller-ID name
caller_id.statecaller_id.name
What it tells youOne of four states: available (a usable registered name), placeholder (a generic carrier string such as WIRELESS CALLER), unavailable (no name on file) or error (the caller-name lookup returned an error).How to read itOnly an available name is compared with the name you supplied.
Name comparison
name_match.statename_match.scorename_match.reasons
What it tells youOne of five states: match, partial match, mismatch, ambiguous or unavailable, with a 0 to 100 score and machine-readable reasons such as a truncated caller-ID name or a removed legal suffix.How to read itUnavailable means there was nothing usable to compare. It is never a mismatch. The score is similarity evidence, not a probability.
Number location
phone.rate_center.cityphone.rate_center.state
What it tells youThe rate-center city and state the number is assigned to.How to read itThe number's location, not the subscriber's address.
VoIP and toll-free
signals.voip_or_virtualsignals.toll_free
What it tells youWhether the line is VoIP or virtual, and whether it is a toll-free number.How to read itDescriptive, not a fraud flag. Many legitimate applicants and employers use VoIP and toll-free lines.
Record keeping
request_idprovenancebilling.disposition
What it tells youA request ID you can look up later, when and how the evidence was observed (including whether it came from your own recent results), product and rule versions, and whether the check was billable.How to read itStore the request ID with the application so you can show what you saw and when.

Example: an employer phone check

This excerpt is the sandbox response for +12025550104 checked against the stated employer “Acme Roofing LLC” with subject_type set to business.

  • Caller-ID names are cut at 15 characters, so ACME ROOFING LL is compared as the start of Acme Roofing LLC. The reasons list says so.
  • A landline at a business is ordinary. If the line were VoIP, voip_or_virtual would say so as a description, not a penalty.
  • Washington, DC is the number's rate center, not the business's street address.
  • Sandbox responses carry the same billing fields as live ones. Test keys are never invoiced.
Sandbox response (excerpt)
{
  "request_id": "3f6c1d2e-8a4b-4f7e-9c1a-5b2d7e8f0a14",
  "environment": "test",
  "result_state": "completed",
  "subject": {
    "phone_e164": "+12025550104",
    "subject_type": "business",
    "supplied_name": "Acme Roofing LLC",
    "reference_id": "APP-2026-000123"
  },
  "phone": {
    "line_type": "landline",
    "carrier_name": "LUMEN",
    "ported": false,
    "rate_center": {
      "city": "WASHINGTON",
      "state": "DC"
    }
  },
  "caller_id": {
    "state": "available",
    "name": "ACME ROOFING LL"
  },
  "name_match": {
    "state": "match",
    "score": 92,
    "reasons": [
      "caller_id_truncated_prefix",
      "legal_suffix_removed"
    ]
  },
  "signals": {
    "voip_or_virtual": false,
    "toll_free": false
  },
  "provenance": [{
    "provider": "sandbox",
    "sku": "core_phone",
    "cache_hit": false
  }],
  "billing": {
    "disposition": "billable",
    "sku": "core_phone",
    "cache_hit": false
  },
  "warnings": [
    "rate_center_is_not_subscriber_address"
  ]
}

What SwitchID is not

Results are evidence, not decisions. Use them as one input in your own policy, alongside everything else in the file.

Not a consumer report
SwitchID is not offered as a consumer report. It does not return a credit score, and it does not make credit, eligibility, approve or deny decisions.
Not proof of employment
A matching employer phone shows that the number's registered name agrees with the employer you were given. It does not show that the applicant works there, for how long, or what they earn.
Not proof of identity when no name is registered
When the number has no usable caller-ID name, the comparison returns unavailable. That means we could not tell. It does not mean the applicant is someone else.
Not a fraud verdict
A VoIP, landline or toll-free flag describes the line. Many legitimate applicants, references and employers use those lines.
Not proof the line is in service
A carrier record shows the number is assigned to a carrier. It does not show that the line is active or that anyone will answer.

How this evidence fits your compliance program is a decision for your own counsel and compliance team. We do not provide legal advice.

Scope today, and what we scope with you

The core phone check is live. Deeper evidence is available on request and scoped per customer, with its own fields, missing-data states and pricing agreed before it is enabled.

Live today

The core phone check

  • Carrier and line type for US numbers
  • The registered caller-ID name where one exists, with an explicit state when it does not
  • Person and business name comparison with reasons
  • Rate-center location, VoIP and toll-free flags

Available on request

Scoped per customer as separate options

Employer entity and registration evidence
Whether a registered business matches the stated employer, with the registration record. A registration shows the entity exists. It does not show the employer is trustworthy or that the applicant works there.
Address and association history
People, businesses and street addresses associated with a number, with the earliest observed link date. An observed link date is not the date the subscriber started using the number.
Inverse name-to-phone search
Phone numbers associated with a name. A name alone can fit several people, so extra inputs may be needed, and ambiguous results stay visible.
Reassignment signals
Whether a number appears to have changed hands since a date you supply, such as when you last verified or contacted it.

Sandbox and integration

One endpoint for the check, two for reading back what happened. Build and test the whole flow on a test key before you talk about live access.

Real-time JSON API
Send phone, name, subject_type (person or business) and an optional reference_id to POST /verify. The core check answers in the same request.
Bearer keys by environment
sid_test_ keys reach only the sandbox. sid_live_ keys perform real lookups and are metered. The environment is visible in the key itself.
Mandatory Idempotency-Key
Every verify request carries one. Resending the same key with the same body returns the original result and is never billed twice. The same key with a different body returns 409.
Request lookup
GET /requests/{id} returns the stored result, so after a timeout on your side you can read what happened instead of paying for a new check.
Usage endpoint
GET /usage returns billable checks, cache hits and amounts for any date range, for reconciling against your own records.
Deterministic sandbox numbers
Fixed numbers in the fictional 555-01xx range return fixed scenarios, including a missing or placeholder caller-ID name, VoIP, toll-free, a timeout and an invalid number. They never touch live data.
Request
POST /api/switchid/v1/verify
Authorization: Bearer sid_test_...
Idempotency-Key: app-2026-000123-employer
Content-Type: application/json

{
  "phone": "(202) 555-0104",
  "name": "Acme Roofing LLC",
  "subject_type": "business",
  "reference_id": "APP-2026-000123"
}

Volume and limits

Sized for tens of thousands of checks a month. Each customer has its own request rate limits and a monthly spend cap agreed with us. When a limit is reached the API returns 429 with Retry-After rather than running a check you did not plan for.

Pricing

Usage-based, per completed check, invoiced monthly. Volume pricing is by quote, and the usage endpoint shows the same counts your invoice is built from.

What is and is not billed

  • A check counts as completed when the carrier lookup returns, whether or not a caller-ID name is on file.
  • Provider or system failures are not billed. Neither are requests rejected before a lookup, such as an invalid or non-US number.
  • Numbers the carrier reports as unallocated or invalid return an unavailable result and are not billed.
  • Re-checking the same number within 24 hours is free.
  • A retry with the same Idempotency-Key is never billed twice.
  • Test keys are never invoiced.

Optional evidence beyond the core check is priced separately when it is scoped.

Questions lenders ask

Is SwitchID a consumer report?

SwitchID is not offered as a consumer report, and it does not return a credit score or a credit, eligibility, approve or deny decision. It returns phone-line and caller-ID evidence for your own verification process. How that evidence fits your compliance obligations is for your counsel and compliance team to decide, and we confirm the intended use with each lender before enabling live keys.

What happens when a number has no caller-ID name?

You still get the carrier, line type and rate-center location. The caller_id state tells you why there is no name: placeholder when the carrier returns a generic string such as WIRELESS CALLER, unavailable when no name is on file, or error when the caller-name lookup failed. The name comparison then returns unavailable, never mismatch. Treat it as "we could not tell" and route it through your own policy.

Can SwitchID verify that an applicant works at their stated employer?

No. SwitchID can show whether the caller-ID name on the employer's phone agrees with the employer name you were given, and, as a separately scoped option, whether a matching business registration exists. Neither shows that the applicant works there, how long they have worked there or what they earn.

Do you support Canadian or Puerto Rico numbers?

Not today. SwitchID covers US numbers only. A leading +1 is shared across North America, so we read the country from the number itself: Canadian numbers and numbers in US territories with their own numbering regions, including Puerto Rico, return an unsupported_country error before any lookup and are not billed.

How do you handle retries and duplicate charges?

Every verify request needs an Idempotency-Key header. Resending the same key with the same body returns the original result and is never billed twice; the same key with a different body returns a 409 conflict. After a network error, retry with the same key or fetch the stored result with GET /requests/{id}. Provider and system failures are not billed.

How do we test before signing anything?

Request a sandbox key. Test keys run only against deterministic sandbox numbers that return fixed scenarios, including missing and placeholder caller-ID names, VoIP, toll-free, timeouts and invalid numbers. They never touch live data and are never invoiced, and you do not need a contract to use them. Live keys are issued once we agree terms with you.

What data do you keep, and for how long?

We keep what each check needs for your records and billing: the request, the normalized result and a billing ledger entry. Raw provider responses are purged on a monthly schedule once they are older than 90 days; retention of the request record, normalized result and ledger is agreed per contract. Your results are scoped to your account and are never compared against another customer's data.

How should we read the name comparison score?

As similarity evidence. The 0 to 100 score measures how closely the registered caller-ID name agrees with the name you supplied, after allowing for name order, initials, nicknames, legal suffixes and caller-ID truncation. It is not a probability that the applicant owns or uses the number. Base policy rules on name_match.state and its reasons, and keep the score for review and tuning.

Something else? Send us your question.

Start with the sandbox

Get a test key and run the sandbox numbers through your application flow. When you are ready, talk to us about live access, limits and volume pricing.

API documentationSwitchID overview

Contact

Tell us what you're building and we'll get in touch fast

Ship a proof-of-concept, integrate credit reporting, or hand off the workflow entirely—we respond within one business day and loop in the right Switch Labs partner for your stack.

Response Time
< 24 hours
Delivery Options
Product | Services

By submitting you agree to let Switch Labs contact you about relevant products and services.