> ## Documentation Index
> Fetch the complete documentation index at: https://www.mapsdata.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Data fields

> Reference for search jobs, result pages, businesses, contacts, and verification.

## Result envelope

`GET /searches/{search_id}/results` and `GET /enrichments/{job_id}/results` return the same business shape. Search results appear as discovery imports them; enrichment jobs contain every submitted business immediately.

| Field | Type | Description |
| - | - | - |
| `job_id` | string | Search UUID. |
| `status` | string | Current search lifecycle status. |
| `items` | array | Businesses in this page. |
| `total` | integer | Businesses available at the time of the request. |
| `page` | integer | Current one-based page. |
| `page_size` | integer | Requested page size. |
| `has_more` | boolean | Whether another page exists in this snapshot. |

## Business identity and rank

| Field | Type | Description |
| - | - | - |
| `id` | string | Mapsdata lead UUID. |
| `search_id` | string | Parent search or enrichment-job UUID. |
| `position` | integer | Import position in the provider result set. |
| `rank` | integer | Stable alias of `position`. |
| `title` | string | Business name. |
| `category` | string \| null | Primary category label. |
| `categories` | string\[] | All available category labels. |
| `category_id` | string \| null | Provider category identifier when available. |
| `place_id` | string \| null | Google Place ID or equivalent provider ID. |
| `cid` | string \| null | Google CID when available. |
| `claimed` | boolean \| null | Whether the Google Business Profile appears claimed. |
| `business_status` | string \| null | Provider business status such as `OPERATIONAL`. |

Standalone enrichment begins with only `title` and `website`. Maps-only location, rank, reputation, and place-identity fields remain `null` unless later sources establish them. `position` and `rank` preserve the submitted array order.

## Location and reputation

| Field | Type | Description |
| - | - | - |
| `address` | string \| null | Formatted business address. |
| `street` | string \| null | Street address when supplied separately. |
| `city` | string \| null | City. |
| `state` | string \| null | Region or state. |
| `postal_code` | string \| null | Postal or ZIP code. |
| `country_code` | string \| null | ISO two-letter country code. |
| `rating` | number \| null | Aggregate Google rating. |
| `review_count` | integer \| null | Aggregate review count. |
| `google_maps_url` | string \| null | Direct Maps listing URL. |
| `image_url` | string \| null | Business image URL. |
| `logo_url` | string \| null | Business logo or profile image URL. |

## Website, phones, and socials

| Field | Type | Description |
| - | - | - |
| `website` | string \| null | Canonical HTTP(S) website. |
| `website_display` | string \| null | Provider display form or domain. |
| `phone` | string \| null | Primary normalized business phone. |
| `additional_phones` | string\[] | Additional unique phones. |
| `phone_types` | object | Phone number to inferred type mapping. |
| `phone_verifications` | object | Verified phone evidence keyed by number. |
| `socials` | object | Arrays keyed by network, including `facebooks`, `instagrams`, `linkedIns`, `twitters`, `youtubes`, `tiktoks`, `pinterests`, `whatsapps`, `tripadvisors`, `yelps`, `foursquares`, and `telegrams`. |

## People and emails

| Field | Type | Description |
| - | - | - |
| `owner_name` | string \| null | First discovered owner, or first decision maker when no owner is available. |
| `owner_names` | string\[] | Discovered owner names. |
| `decision_maker_names` | string\[] | Discovered decision-maker names. |
| `verified_owner_names` | string\[] | Owner names supported by a verification source. |
| `verified_decision_maker_names` | string\[] | Decision makers supported by a verification source. |
| `owner_reasoning` | string \| null | Supporting explanation when available. |
| `emails` | string\[] | All discovered business and direct emails. |
| `owner_emails` | string\[] | Emails associated with owners. |
| `decision_maker_emails` | string\[] | Emails associated with decision makers. |
| `email_verifications` | object | Per-address verification payload keyed by canonical lowercase email. |
| `email_verification_status` | string | Overall stage: typically `waiting`, `pending`, `processing`, `completed`, `failed`, or `skipped`. |
| `key_contacts` | object\[] | Structured contacts collected from supporting public sources. |

## Enrichment states

The result exposes separate status fields because different sources can finish independently:

* `enrichment_status`
* `owner_enrichment_status`
* `facebook_enrichment_status`
* `bbb_enrichment_status`
* `yelp_enrichment_status`
* `brave_owner_status`
* `anymail_enrichment_status`

Possible values depend on the stage and include `waiting`, `pending`, `processing`, `completed`, `failed`, `skipped`, and `not_requested`.

<div className="callout mint-my-5 mint-rounded-xl mint-border mint-border-[#656c2e]/30 mint-bg-[#656c2e]/10 mint-px-5 mint-py-4 mint-text-sm mint-text-[#4d5321]">
  Arrays are returned as arrays even when empty. Optional scalar values use <code>null</code>. Do not substitute guessed field names: parse <code>owner\_emails</code>, <code>decision\_maker\_emails</code>, and <code>emails</code> separately.
</div>

## Interpret email verification

Look up each address in `email_verifications`. A result of `ok` with quality `good` is presented by Mapsdata as safe; catch-all, unknown, and lower-quality responses require caution. `invalid` should not be used. If the address has no terminal payload and the overall status is still active, wait for verification to finish.
