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.
| Operation | What it does |
|---|---|
| Parse | Breaks a value out into its component fields. |
| Validation | Checks whether a value is structurally correct. |
| Normalization | Standardizes a value's format, using ZoomInfo's rules. |
| Custom Normalization | Standardizes a value's format, using rules you define. |
| Verification | Checks whether a value is real and reachable. |
| Classification | Returns a job title's department, job function, management level, and board member likeliness. |
| Threat | Tells you whether an email is safe or unsafe to send to. |
| Threat Type | Identifies the kind of threat found on an unsafe email. |
| Line Type | Returns 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.
| Attribute | Free | Credit charged |
|---|---|---|
| Parse, Validation, Normalization | Verification, Threat, Threat Type | |
| Phone | Parse, Validation, Normalization | Verification, Line Type, Custom Normalization |
| Address | Parse, Normalization | Verification, Custom Normalization |
| Job Title | Parse, Validation, Normalization | Classification, Custom Normalization |
| Person Name | Parse, Validation, Normalization | Custom Normalization |
| URL | Parse, Validation, Normalization | Custom Normalization |
| Company Name | Parse, Validation, Normalization | Custom 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 asgmail.com, generic "account" variants, and bare connecting words such astheandand. 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 malformedhttp://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.
| Operation | Attribute | Returns |
|---|---|---|
| Verification | Deliverability status: valid, invalid, accept-all, unknown, or disposable. | |
| Verification | Phone | Whether the line is Active, Inactive, or Unknown. |
| Verification | Address | Mail deliverability status, address type, and coordinates — latitude, longitude, and precision. |
| Threat | Whether the address is SAFE or UNSAFE to send to. | |
| Threat Type | The 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 Type | Phone | The 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
SAFEaddress is billed for Threat alone; anUNSAFEaddress 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.
| Function | What it does | Typical use |
|---|---|---|
| Prepare | Parses, 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. |
| Segment | Sorts 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. |
| Score | Applies 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.
| Function | Max records per request |
|---|---|
| Prepare | 30 |
| Segment | 25 |
| Score | 25 |
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.
| Operation | Uses Credits? |
|---|---|
| Parse, Validation, and Normalization | No |
| Custom Normalization | Yes |
| Address Verification — returns deliverability status, address type, and coordinates together | Yes |
| Email Verification | Yes |
| Email Threat | Yes |
Email Threat Type — returned only when Threat returns UNSAFE | Yes |
| Phone Line Type | Yes |
| Phone Verification | Yes |
| Job Title Classification | Yes |
| Segment run | Yes |
| Score run | Yes |
| Creating, reading, updating, or deleting a config | No |
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
| Capability | Available |
|---|---|
| API | Yes |
| MCP Server | No |
| CLI | Yes |
| SDKs | No |
Data Quality is in Beta, available with GTM.AI. Beta usage is billed at full rate; there is no introductory credit allowance.
Updated 5 days ago