Data Quality

Clean up your lists. Prepare, segment, and score your records before they reach your CRM.

Overview

Data Quality cleans customer records before they reach the systems that act on them. Submit a list in whatever shape you have it — webinar registrants, trade-show leads, an inherited CRM export — and get back records where emails, phone numbers, addresses, job titles, person names, URLs, and company names have been parsed into structured fields, normalized to consistent formats, and checked for structural validity.

Beyond cleanup, Data Quality tells you whether a record is safe and worth acting on. It returns deliverability status for an email address and flags the ones that will damage your sender reputation, reports whether a phone line is still in service, and classifies a raw job title into department, job function, management level, and board-member likeliness.

It also classifies each record into your own segments and scores it against your own criteria, so a list arrives ranked and segmented rather than raw.

Results are returned to you. Data Quality does not route records, does not suppress sends, and does not write back to your CRM or any other end system — the statuses, segments, and scores it returns are inputs your own routing, suppression, and prioritization rules act on, so you stay in control of what gets pushed.

Operations

Data Quality is built from nine operations. Each attribute supports its own subset — see Supported Attributes below.

OperationWhat it does
ParseBreaks a value out into its component fields.
ValidationChecks whether a value is structurally correct.
NormalizationStandardizes a value's format, using ZoomInfo's rules.
Custom NormalizationStandardizes a value's format, using rules you define.
VerificationChecks whether a value is real and reachable.
ClassificationReturns a job title's department, job function, management level, and board member likeliness.
ThreatTells you whether an email is safe or unsafe to send to.
Threat TypeIdentifies the kind of threat found on an unsafe email.
Line TypeReturns the kind of phone line: mobile, landline, VoIP, and so on.

Supported Attributes

Each attribute supports its own set of operations. Operations in the Free column cost no credits; operations in the Credit charged column are billed per result returned.

AttributeFreeCredit charged
EmailParse, Validation, NormalizationVerification, Threat, Threat Type
PhoneParse, Validation, NormalizationVerification, Line Type, Custom Normalization
AddressParse, NormalizationVerification, Custom Normalization
Job TitleParse, Validation, NormalizationClassification, Custom Normalization
Person NameParse, Validation, NormalizationCustom Normalization
URLParse, Validation, NormalizationCustom Normalization
Company NameParse, Validation, NormalizationCustom Normalization

Validation is structural, not reachability. Validation confirms a value is well-formed — that an email has an @ and a domain, that a phone number has a plausible digit count. It does not tell you whether an email will land or whether a phone line is connected. That comes from Verification, available on email, phone, and address. On email, safety comes from Threat.

Company name validation flags placeholders. Validation on company name is a content check, not only a structural one. It returns invalid for known placeholder and junk values — self, retired, student, home, Test, Blank, N/A, unknown, none, not provided, self employed, your company, default, Company Name, free email domains such as gmail.com, generic "account" variants, and bare connecting words such as the and and. It also returns invalid for an input that is empty once punctuation and spaces are stripped (!!! $%^, ( )), an input with no letters at all (134556), a single character, and a malformed http:// prefix. The placeholder list is maintained by ZoomInfo and updated continuously, so a value that passes today may be flagged as the list expands.

Deliverability and Safety Signals

These operations go beyond formatting and tell you whether a contact point is usable. Each is optional, requested per record, and billed only when a result is returned.

OperationAttributeReturns
VerificationEmailDeliverability status: valid, invalid, accept-all, unknown, or disposable.
VerificationPhoneWhether the line is Active, Inactive, or Unknown.
VerificationAddressMail deliverability status, address type, and coordinates — latitude, longitude, and precision.
ThreatEmailWhether the address is SAFE or UNSAFE to send to.
Threat TypeEmailThe kind of threat, returned only when Threat returns UNSAFE. Fifteen types are defined, from ROLE and KEY through SEED, QUARANTINE, MOLE, and TRAP, each carrying a severity score.
Line TypePhoneThe kind of line — mobile, landline, fixedVoip, nonFixedVoip, tollFree, and so on.

Verification and Threat answer different questions. Verification tells you whether an address will accept mail. Threat tells you whether you should send to it at all — a technically deliverable address can still be a spam trap or seed that damages your sender reputation on the first send. Request both when you are cleaning a list you did not build yourself.

Threat Type is only returned on an UNSAFE result. Because you are charged only for results returned, a SAFE address is billed for Threat alone; an UNSAFE address is billed for Threat and for the Threat Type that explains it.

Job Title Classification

Classification turns a raw title string into structured fields you can filter, route, and score on. A single call returns the department, job function, management level, and board-member likeliness for the title.

For example, Senior Software Engineer returns a department of Engineering & Technical, a job function of Software Development, a management level of Non-Manager, and a board-member flag of false — alongside the normalized form of the title itself.

URL and Company Name

Both attributes support the full default set — Parse, Validation, and Normalization — at no credit cost, with Custom Normalization available as a billed option.

URL. Parse trims the input and turns a bare domain or full URL into a structured URL, so handandstone.com/appointments becomes a host of handandstone.com with an http protocol and a full URL of http://handandstone.com/appointments. Standard normalization splits a URL into its parts — protocol, host, registered domain, TLD, and subdomain — and converts internationalized domains to ASCII (punycode). Validation confirms the URL parses and that the host sits under a real public suffix, returning the reason when it does not: foo.notatld fails with "Hostname does not contain a valid registry suffix."

Company name. Parse trims whitespace, strips emojis and junk characters, and collapses repeated spaces, so Acme 🚀 Corp™ () returns Acme Corp. Standard normalization separates the core name from its corporate identifiers, so The Second Tried and True Company, Inc. returns a name of The Second Tried and True with corporate identifiers of Co. and Inc. reported separately. Validation flags placeholder and junk values, as described above.

How to Use?

Use the three functions together: clean the records first, then classify them, then rank them.

FunctionWhat it doesTypical use
PrepareParses, validates, and normalizes values across the seven supported attributes, and returns the reachability, safety, and classification signals you request.Clean a list of trade-show leads so emails, phones, and addresses are usable before import — and drop the unsafe addresses before your first send.
SegmentSorts records into buckets across one or more dimensions, using rules you define.Classify inbound leads by territory or persona so your routing rules can act on the result before a rep sees them.
ScoreApplies a scoring model you define and returns a number per record.Rank an account list against your ICP so reps work top-down instead of alphabetically.

Recommended flow: Prepare the records → Segment them into your buckets → Score them against your model → export the results to your end system.

Limits

Every call is synchronous and returns results inline. Batch size is capped per function, and the request rate is shared across your whole tenant. Up to 10 config IDs per run.

FunctionMax records per request
Prepare30
Segment25
Score25

Rate limit: 25 requests per second, tenant-wide. This ceiling is shared across every endpoint and every caller in your tenant — it is not per-function, per-user, or per-credential. A bulk job running at full rate will compete with any other Data Quality traffic in the same tenant, so leave headroom and retry on 429.

Credits Usage

You are charged only for the results returned. Core cleanup is free; the optional operations you opt into are billed.

OperationUses Credits?
Parse, Validation, and NormalizationNo
Custom NormalizationYes
Address Verification — returns deliverability status, address type, and coordinates togetherYes
Email VerificationYes
Email ThreatYes
Email Threat Type — returned only when Threat returns UNSAFEYes
Phone Line TypeYes
Phone VerificationYes
Job Title ClassificationYes
Segment runYes
Score runYes
Creating, reading, updating, or deleting a configNo

You are not charged for what fails. An item that errors is not billed; the successfully processed items in the same batch are billed normally. An input that cannot be enriched is not charged for that enrichment, and an address in a country where address type is unsupported is not charged for address type.

Availability

CapabilityAvailable
APIYes
MCP ServerNo
CLIYes
SDKsNo

Data Quality is in Beta, available with GTM.AI. Beta usage is billed at full rate; there is no introductory credit allowance.


Did this page help you?