Online Presence: Response Reference
Match values, match sources, and response shape by integration path.
This reference covers the structural elements shared across all Online Presence products — match values, match sources, how data is organized differently across integration paths, and how to distinguish the various website-related fields in a response.
For field-level documentation of individual sub-products, see the product guides:
- Website Analysis —
website_analysis,input_website_analysis,ssl_validity,whois_record - Industry Prediction —
industry_prediction,mcc_codes[],sic_codes[] - Social Profiles —
found_social_profiles[], platform metadata,social_profiles_match[] - Reviews —
found_reviews[],reviews[],metadata - Directory Listings —
found_directory_listings[]
Match values
These fields appear at the top level of both POST /searches and POST /web_presence_requests responses. They summarize how well the submitted data aligns with what Baselayer independently discovered online.
| Field | Possible values | Notes |
|---|---|---|
business_address_match | EXACT, SIMILAR, CITY, STATE, NO_MATCH | SIMILAR = address fields match but some are missing — most often city or ZIP, common when the source is a Google review. |
business_website_match | true, false, null | null when no website was submitted in the request or no website was found. |
business_website_redirect_match | true, false, null | Whether the submitted website redirects to the discovered website. |
email_match | EXACT, DOMAIN, NO_MATCH, null | DOMAIN = different local-part but same domain as discovered email (e.g., [email protected] vs. [email protected]). null when no email was submitted. |
phone_number_match | EXACT, AREA_CODE, NO_MATCH, null | AREA_CODE = same area code but different number. null when no phone was submitted. |
people_match | true, false, null | Whether any submitted officer names were found and matched online. null when no officer_names were submitted. |
Match sources
Every *_match field has a paired *_match_sources array that lists where Baselayer found the matching data. Use these to understand the strength and provenance of each match — a phone number confirmed across FOUND_WEBSITE, REVIEW, and DIRECTORY is a much stronger signal than one sourced from a single location.
| Value | Meaning |
|---|---|
FOUND_WEBSITE | Found on the website Baselayer independently discovered |
INPUT_WEBSITE | Found on the website submitted in the request |
SOCIAL_PROFILE | Found on a social media profile |
INPUT_SOCIAL_PROFILE | Found on a social media profile submitted in the request |
REVIEW | Found on a review platform (Google, Yelp, etc.) |
DIRECTORY | Found on an online directory |
Fields with a paired *_sources array: business_address_match_sources, business_website_match_sources, email_match_sources, phone_number_match_sources, people_match_sources.
Response shape by integration path
The underlying field structures are identical across both paths — a website_analysis object looks the same regardless of how you requested it. What changes is where data sits and how you access it.
| Data | Via POST /searches | Via POST /web_presence_requests |
|---|---|---|
| Match flags | Top level | Top level |
*_match_sources arrays | Top level | Top level |
found_website | business.website | Top level — the URL Baselayer discovered |
website_analysis | Not inline. Retrieved via GET /website_analysis_requests/{id} using the orderable tracking object in orderables[] | Inline at top level |
input_website_analysis | Not a named field. When a website is submitted and a different domain is discovered, a second WebsiteAnalysisRequest orderable is returned in orderables[]. GET each to identify which domain was analyzed. | Top level inline when website was submitted; null otherwise |
industry_prediction | Not inline. Retrieved via GET /naics_prediction_requests/{id} | Inline at top level |
| Social profiles | business.social_profiles[] (requires Order.Enhanced) | found_social_profiles[] at top level (requires Order.SocialMedia) |
| Reviews | business.reviews[] (requires Order.Enhanced); individual review text not available | found_reviews[] at top level (requires Order.ReviewSummary or Order.ReviewFull) |
| Directory listings | Not available | found_directory_listings[] at top level (requires Order.DirectoryListing) |
input_social_profiles[] | Not available | Top level — scraped profiles derived from social_profiles input |
social_profiles_match[] | Not available | Top level — verification result per submitted profile |
| Discovered addresses | Merged into business.addresses[] via Order.Enhanced | Nested inside website_analysis.addresses[], found_social_profiles[i], found_reviews[i]. No unified list. |
| Discovered officers/people | Merged into business.business_officers[] via Order.Enhanced | Nested inside website_analysis.people[]. No unified list. |
| PEP screening | Top level (via Order.Pep) | Not available |
orderables[] | Top level — tracking objects for Website Analysis and Industry Prediction | Not applicable |
The website fields, demystified
Several fields relate to websites and it is easy to confuse them. Here is what each one is:
| Field | Path | What it is |
|---|---|---|
website | Both | The website URL you submitted in the request. null if none was provided. |
found_website or business.website | Both (different name per path) | The website URL Baselayer independently discovered for the business. |
website_analysis.url | Both (inline on /web_presence_requests; via GET on /searches) | The URL that was actually analyzed. Equal to found_website for the discovered analysis. |
input_website_analysis.url | /web_presence_requests (inline); /searches (second orderable via GET) | The URL analyzed for the submitted domain. Only present when website was submitted. |
business_website | Both | Website found within a social profile, review, or directory listing record — platform-reported, not Baselayer-discovered. |
When do you get two website analyses? When a website is submitted and Baselayer discovers a different domain, both are analyzed. On /web_presence_requests this produces both website_analysis and input_website_analysis inline. On /searches it produces two WebsiteAnalysisRequest entries in orderables[] — indistinguishable in the array; call GET on each to identify which domain was analyzed via website_analysis.url.
Request states
| State | Meaning |
|---|---|
COMPLETED | All requested sub-products have finished processing. Results are available. |
EXECUTING | The request is still in progress. Poll the status endpoint or wait for the webhook. |
FAILED | The request could not be completed. On /searches, this typically means no registration record matched the submitted inputs — orderables will be empty even if options were provided. On /web_presence_requests, check the error field for details. |
Related guides
- Online Presence: Basics — integration path decision guide
- Online Presence: Best Practices — how to use these fields for onboarding decisions
- Website Analysis
- Industry Prediction
- Social Profiles
- Reviews
- Directory Listings
Updated 1 day ago
