Verify email and phone

An email address and phone number are often the only direct line between your team and a business you’re onboarding. They are also the easiest identifiers to fabricate: anyone can create a mailbox or provision a phone number in minutes, and neither leaves the paper trail that a registered name or address does.

Corroboration turns a claimed contact into evidence. When a submitted email address or phone number also appears on the business’s website or on third-party platforms the business does not control, the contact has a public history that is difficult to fabricate. Middesk corroborates submitted contact details against these sources and reports what it finds, complementing name and address verification in a KYB program.

How to trigger email and phone verification

Contact extraction runs as part of web presence analysis. Include an order that runs the web_analysis subproduct when you create the business. Read Analyze web presence for ordering details.

How Middesk verifies email addresses and phone numbers

Middesk extracts email addresses and phone numbers from sources the business presents publicly:

  • The business website. During web presence analysis, Middesk crawls the business’s website and parses contact details from its pages.
  • Third-party profiles. Middesk matches the business to profiles on Yelp, Facebook, LinkedIn, Instagram, and Google Places, and extracts the contact details published on each profile page.

Merging submitted and discovered contacts

Middesk reconciles every extracted contact with the entries already on the business:

  • A discovered email address or phone number that matches a submitted one merges into the existing entry. The entry keeps submitted: true and gains a source describing where the contact was found. For example, a submitted email that also appears on the business’s Facebook page gains a source of type profile with metadata.url set to the profile page URL.
  • A discovered contact that does not match any submitted one becomes a new entry in email_addresses[] or phone_numbers[] with submitted: false.
  • Each corroborating profile adds its own source, so a phone number listed on both a Yelp page and a Google Places listing carries two profile sources.

The following entry shows a submitted email address corroborated by the business’s Facebook page:

Submitted email with a profile source
1{
2 "object": "email_address",
3 "id": "c3d4e5f6-7890-12ab-cdef-3456789012ab",
4 "email": "[email protected]",
5 "submitted": true,
6 "sources": [
7 {
8 "id": "d4e5f6a7-8901-23ab-cdef-4567890123ab",
9 "type": "profile",
10 "metadata": {
11 "url": "https://facebook.com/acmecorp"
12 }
13 }
14 ]
15}

Source types

Each entry in email_addresses[] and phone_numbers[] carries a sources array describing where Middesk found the contact. Each source is an object with an id, a type, and a metadata object whose contents depend on the type.

TypeDescription
profileThe contact appears on a third-party profile page, such as a Yelp or Facebook page. metadata.url is the URL of the profile page.
websiteThe contact appears on the business’s website.
registrationThe contact appears in a government filing, such as a Secretary of State registration.

How to verify email and phone

1

Create a business with email and phone

Submit a business with email addresses and phone numbers, plus an order that runs web analysis.

$curl -X POST https://api.middesk.com/v1/businesses \
> -H "Authorization: Bearer YOUR_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "name": "Acme Corporation",
> "addresses": [
> {
> "address_line1": "123 Main Street",
> "city": "San Francisco",
> "state": "CA",
> "postal_code": "94105"
> }
> ],
> "email_addresses": [
> { "email": "[email protected]" }
> ],
> "phone_numbers": [
> { "phone_number": "+14155550100" }
> ],
> "website": {
> "url": "https://www.acmecorp.example"
> },
> "orders": [
> {
> "product": "website",
> "subproducts": ["web_analysis"]
> }
> ]
> }'
2

Wait for web analysis to complete

Middesk sends a business.updated webhook when the order completes. Set up webhooks to receive notifications, or poll the business endpoint.

3

Read the sources on each contact

Retrieve the business and inspect sources[] on each entry in email_addresses[] and phone_numbers[]:

  • An entry with submitted: true and one or more sources is corroborated: the contact you collected also appears in the business’s public footprint.
  • An entry with submitted: true and an empty sources array is uncorroborated. Treat this as an absence of evidence rather than a red flag on its own; businesses with a thin web presence publish few contact details.
  • An entry with submitted: false is a contact Middesk discovered that the applicant did not provide. Compare it with the submitted details to spot stale information or a mismatch between the application and the business’s public identity.
Get a demo
Contact your account manager or contact sales to inquire about access.