API Version 1
See the following links for information on:
- API Overview & General Concepts
- API v1 (currently viewing)
- API v2
NEW! Check Out ArkVision
What is ArkVision?
ArkVision is a scoring and alerts system that shines a different perspective on ArkOwl data. This new view of ArkOwl data will make training and API implementations easier as well as help communicate new data features going forward.
Check out the documentation for ArkVision below!
Combined Query
The best endpoint to use to perform an ArkOwl query is the combined endpoint. This allows you to send multiple data points in one request. Another advantage is we are able to add some additional correlation data between the data points (if available).
Combined Endpoint
https://api.arkowl.com/v1/combined
Combined Request Parameters
All query endpoints support GET and POST requests. These are the available parameters:
| Key | Type | Description |
|---|---|---|
email |
string (Required*) |
Email address to query. |
phone |
string (Required*) |
Phone number to query. If sending international phone numbers, it is recommended that you use the E.164 international phone number format with the proceeding + followed by the international country code (example: for France, you would send +33 and the remaining digits of the number). |
ip |
string (Optional) |
IP address to query. Both IPv4 and IPv6 are supported. It must be a single IP address without a subnet mask or CIDR block (example: 77.7.777.175 is allowed but 123.123.123.100/32 is not). |
address_name |
string (Optional) |
Address name to query. |
address_line_1 |
string (Optional) |
Address first line to query. |
address_line_2 |
string (Optional) |
Address second line (this is less common) |
address_locality |
string (Optional) |
Address locality to query. For many addresses, this corresponds to the city. |
address_region |
string (Optional) |
Address region to query. For many addresses, this corresponds to the state or providence. |
address_postal_code |
string (Optional) |
Address postal code to query. |
address_country_code |
string (Optional) |
Address country code to query. This can be either the ISO2 or ISO3 code for the specific country (example: for the United States of America you could use US or USA) |
strict |
string (Optional) |
For email: If 'true', requires a correctly-formatted email address with no extra characters, if 'false', it will strip whitespace as well as the following characters prior to query: <>[]{}"'. Default behavior is 'false'. For phone: If 'false', it will use the default region of 'US'. If 'true', it will not assume a default region. Note: if a fully qualified E.164 phone number is passed in, this setting with have no effect. |
* For combined queries, at least one of the following is required: email or phone. A query will be rejected if missing both of these inputs.
Sending Parameters
Whether using GET or POST, all parameters need to be sent in the query parameters. A couple notes:
- The email address may need to be url-encoded if it contains unsafe characters such as
%,/,#, or?, however these are uncommon in email addresses. See thestrictoption for more information - If passing a phone number with the
+symbol in the query parameters, you will need to url-encoded the parameters. The reason is because query parameters interpret+as a blank space character. By encoding the parameters first, the+is converted to the URL encoded value of%2B.
Example parameters and request:
{
"email": "john.doe@example.com",
"phone": "+1-612-555-3333",
"ip": "77.7.777.175",
"address_name": "Prime BBQ",
"address_line_1": "403 Knightdale Station Run",
"address_line_2": "Suite 4",
"address_locality": "Knightdale",
"address_region": "NC",
"address_postal_code": "27545",
"address_country_code": "US"
}
$ curl https://api.arkowl.com/v1/combined?email=john.doe%40example.com&phone=%2B1-612-555-3333&ip=77.7.777.175&address_name=Prime%BBQ&address_line_1=403%Knightdale%20Station%20Run&address_line_2=Suitet%204&address_locality=Knightdale&address_region=NC&address_postal_code=27545&address_country_code=US \
-u YOUR_API_KEY:
Combined Example Response
Here is an example API response for version 1:
{
"email_phone_connection": true,
"deeplink": "https://arkowl.com/query?email=john.doe%40example.com&phone=%2B1-612-555-3333&ip=77.7.777.175&address_name=Prime%20BBQ&address_line_1=403%20Knightdale%20Station%20Run&address_line_2=&address_country_code=US&address_postal_code=27545&address_region=NC&address_locality=Knightdale",
"email_data": {
"handle": "test.example",
"query": "test.example@gmail.com",
"id": "test.example@gmail.com",
"exists": "yes",
"registrar": "google",
"no_data": false,
"known_aliases": [
"testexample@gmail.com"
],
"created": null,
"created_after": null,
"created_before": 1481436000,
"days_old": null,
"first_seen_anywhere": 1331154455,
"first_seen": 1331154455,
"last_seen": 1697839287,
"times_seen": 70,
"email_handle_to_email_name_match": 15.47,
"email_handle_to_email_name__char_match": false,
"data_breaches": [
{
"name": "Data Enrichment Exposure From PDL Customer",
"domain": "",
"breach_date": 1571202000,
"description": "In October 2019, <a href=\"https://www.troyhunt.com/data-enrichment-people-data-labs-and-another-622m-email-addresses\" target=\"_blank\" rel=\"noopener\">security researchers Vinny Troia and Bob Diachenko identified an unprotected Elasticsearch server holding 1.2 billion records of personal data</a>. The exposed data included an index indicating it was sourced from data enrichment company People Data Labs (PDL) and contained 622 million unique email addresses. The server was not owned by PDL and it's believed a customer failed to properly secure the database. Exposed information included email addresses, phone numbers, social media profiles and job history data.",
"data_classes": [
"email addresses",
"employers",
"geographic locations",
"job titles",
"names",
"phone numbers",
"social media profiles"
]
},
{
"name": "Gravatar",
"domain": "gravatar.com",
"breach_date": 1601701200,
"description": "In October 2020, <a href=\"https://www.bleepingcomputer.com/news/security/online-avatar-service-gravatar-allows-mass-collection-of-user-info/\" target=\"_blank\" rel=\"noopener\">a security researcher published a technique for scraping large volumes of data from Gravatar, the service for providing globally unique avatars </a>. 167 million names, usernames and MD5 hashes of email addresses used to reference users' avatars were subsequently scraped and distributed within the hacking community. 114 million of the MD5 hashes were cracked and distributed alongside the source hash, thus disclosing the original email address and accompanying data. Following the impacted email addresses being searchable in HIBP, <a href=\"https://en.gravatar.com/support/data-privacy\" target=\"_blank\" rel=\"noopener\">Gravatar release an FAQ detailing the incident</a>.",
"data_classes": [
"email addresses",
"names",
"usernames"
]
}
],
"data_breaches_error": false,
"accounts": {
"google": {
"status": "registered",
"metadata": {
"parsed": "testexample@gmail.com",
"handle": "test.example@gmail.com",
"account_id": "113779123123123123123123",
"profile_img": "https://lh3.googleusercontent.com/a-/ALV-UjVo7DrW0ifpvf5stsX998AHFSaIHoyravSKaGjc",
"full_name": "Johnny Doe",
"first_known_activity": 1481436000
}
},
"gravatar": {
"status": "registered",
"metadata": {
"profile_img": "https://www.gravatar.com/avatar/975810eefdf6a23b36f5b1c7a327a59c?r=r&s=280&d=404"
}
},
"microsoft": {
"status": "unregistered",
"metadata": {}
},
"skype": {
"status": "registered",
"metadata": {
"full_name": "John Doe",
"profile_img": "https://avatar.skype.com/v1/avatars/johndoe/public",
"city": null,
"state": null,
"country": "United States",
"country_code": "US",
"language": null,
"onedrive_exists": true,
"onedrive_created": 1399146370
}
},
"spotify": {
"status": "registered",
"metadata": {}
},
"twitter": {
"status": "unregistered",
"metadata": {}
},
"yahoo": {
"status": "registered",
"metadata": {
"temporary_email": false
}
}
},
"domain_registrations": {
"error": false,
"intelligence": {
"domains_registered": [
"some-example-domain.com"
],
"unique_domains_registered": 1,
"earliest_domain_registration": 1435276800,
"days_since_earliest_domain_registration": 3692,
"unique_phones_connected": 1,
"known_names": [
"John Doe"
]
}
},
"domain": {
"id": "gmail.com",
"suffix": "com",
"valid": true,
"exists": true,
"registrar": "MarkMonitor Inc.",
"registered": 808203600,
"updated": 1689051600,
"expires": 1723352400,
"first_seen": 1335853690,
"last_seen": 1702302316,
"known_disposable_email_provider": false,
"isp_provided_email": false,
"free_email_provide": false,
"parent_company": null,
"domain_description": null,
"favicon": "https://t0.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://arkowl.com&size=64",
"registrant": {
"name": null,
"organization": "Google LLC",
"street1": null,
"street2": null,
"street3": null,
"city": null,
"state": "CA",
"postal_code": null,
"country": "UNITED STATES",
"email": "abusecomplaints@markmonitor.com",
"phone": null,
"fax": null
},
"registration_history": [
{
"registered_date": "2013-10-08T00:00:00.000Z",
"registrar_name": "MarkMonitor, Inc.",
"registrar_website": "http://www.markmonitor.com",
"registrant_name": null,
"registrant_company": "Google LLC",
"registrant_email": "select request email form at https://domains.markmonitor.com/whois/gmail.com",
"registrant_address": null,
"registrant_city": null,
"registrant_state": "CA",
"registrant_country": "US",
"registrant_zip": null
},
{
"registered_date": "2010-08-12T00:00:00.000Z",
"registrar_name": "MarkMonitor, Inc.",
"registrar_website": "http://www.markmonitor.com",
"registrant_name": null,
"registrant_company": "Google LLC",
"registrant_email": null,
"registrant_address": null,
"registrant_city": null,
"registrant_state": "CA",
"registrant_country": "US",
"registrant_zip": null
}
],
"contacts": [
{
"type": "Technical",
"name": null,
"organization": "Google LLC",
"street1": null,
"street2": null,
"street3": null,
"city": null,
"state": "CA",
"postal_code": null,
"country": "UNITED STATES",
"email": null,
"phone": null,
"fax": null
},
{
"type": "Administrative",
"name": null,
"organization": "Google LLC",
"street1": null,
"street2": null,
"street3": null,
"city": null,
"state": "CA",
"postal_code": null,
"country": "UNITED STATES",
"email": null,
"phone": null,
"fax": null
}
],
"mail_servers": [
"05 gmail-smtp-in.l.google.com",
"10 alt1.gmail-smtp-in.l.google.com",
"20 alt2.gmail-smtp-in.l.google.com",
"30 alt3.gmail-smtp-in.l.google.com",
"40 alt4.gmail-smtp-in.l.google.com"
],
"name_servers": [
"ns1.google.com",
"ns2.google.com",
"ns3.google.com",
"ns4.google.com"
],
"bad_activity": {
"total_reports": 123,
"reports_last_24h": 3,
"reports_last_7d": 12,
"reports_last_30d": 40,
"first_report": 1336176000,
"last_report": 1715806831,
"seen_domains": [
"gmail.com",
"mail.gmail.com"
],
"unique_handles": 57,
"excluded": false,
"error": false
}
},
"bad_activity": {
"disposable_email": false,
"blacklisted": true,
"reports": 11,
"reports_last_24h": 0,
"reports_last_7d": 2,
"reports_last_30d": 5,
"first_report": 1715806831,
"last_report": 1715806831,
"error": false
}
},
"phone_data": {
"query": "16125553333",
"id": "+16125553333",
"formatted": "+1 612-555-3333",
"valid": true,
"exists": "unverified",
"first_seen_anywhere": 1570646136,
"first_seen": 1570646136,
"last_seen": 1697839288,
"times_seen": 33,
"name": "JOHN DOE",
"region": "US",
"carrier": "Cingular Wireless/2",
"linetype": "mobile",
"geo_location": "Minnesota",
"timezone": "America/Chicago",
"coordinates": "44.9708,-93.32084",
"data_breaches": [],
"data_breaches_error": false,
"accounts": {
"skype": {
"status": "registered",
"metadata": {
"full_name": "Johnny Carlson",
"profile_img": "https://avatar.skype.com/v1/avatars/johnnycarlson/public",
"city": null,
"state": null,
"country": "United States",
"country_code": "US",
"language": null
}
}
},
"domain_registrations": {
"error": false,
"intelligence": {
"domains_registered": [
"some-example-domain.com",
"another-example-domain.com"
],
"unique_domains_registered": 2,
"earliest_domain_registration": 1435276800,
"days_since_earliest_domain_registration": 3692,
"unique_emails_connected": 2,
"emails_connected": [
"test.example@gmail.com",
"another.test@gmail.com"
],
"known_names": [
"John Doe",
"Jonathan Doe"
]
}
}
},
"ip_data": {
"query": "77.7.777.175",
"id": "77.7.777.175",
"valid": true,
"ipv6": false,
"private": false,
"reserved": false,
"organization": "Comcast Cable",
"network": "77.7.777.175/32",
"country": "United States",
"country_code": "US",
"city": "Brooklyn Center",
"state": "MN",
"postal_code": "55429",
"timezone": "America/Chicago",
"location": "Brooklyn Center, Minnesota, United States",
"coordinates": "45.052,-93.336",
"accuracy_radius": 5,
"first_seen": 1665035754,
"last_seen": 1697839288,
"times_seen": 3
},
"address_data": {
"query": {
"formatted": "Prime Champ, 403 Knightdale Station Run, Knightdale, NC, 27545, US",
"name": "Prime CHAMP",
"line_1": "403 KNIGHTDALE STATION RUN",
"line_2": "Suite 4",
"locality": "KNIGHTDALE",
"region": "NC",
"postal_code": "27545",
"country_code": "US"
},
"name": "Prime CHAMP",
"line_1": "403 Knightdale Station Run",
"line_2": null,
"locality": "Knightdale",
"region": "NC",
"postal_code": "27545",
"country": "United States of America (the)",
"country_code": "USA",
"coordinates": "35.7968,-78.4713",
"place_id": "5150c293552a9e53c0124abee54140f00102f901ca58951c00000000c00203",
"place_name": null,
"place_category": null,
"county": "Wake County",
"result_type": "building",
"match_type": "full_match",
"confidence": 1,
"confidence_city_level": 1,
"confidence_street_level": 1,
"popularity": 2.4415236216901155,
"importance": 0.00000999999999995449,
"formatted": "403 Knightdale Station Run, Knightdale, NC 27545, United States of America",
"timezone": "America/New_York",
"timezone_alt": null
},
"meta_data": {
"email_phone_connection": true,
"email_phone_queried_together_first_seen": 1648265438,
"email_phone_queried_together_last_seen": 1681481490,
"email_phone_queried_together_times_seen": 8,
"email_phone_name_match": 76.92,
"email_handle_to_email_name_match": 15.47,
"email_handle_to_phone_name_match": 12.03,
"email_handle_to_email_name__char_match": false,
"email_handle_to_phone_name__char_match": false,
"address_email_name_match": 100,
"address_phone_name_match": 76.92,
"email_phone_social_match": true,
"email_phone_number_of_social_matches": 1,
"email_phone_full_mfa_match": null,
"email_phone_partial_mfa_match": true,
"email_phone_number_of_mfa_matches": 1,
"email_ip_country_match": true,
"email_phone_country_match": true,
"address_email_country_match": true,
"phone_ip_country_match": true,
"address_phone_country_match": true,
"address_ip_country_match": true,
"email_phone_timezone_match": true,
"email_ip_timezone_match": true,
"address_email_timezone_match": null,
"phone_ip_timezone_match": true,
"address_phone_timezone_match": null,
"address_ip_timezone_match": null,
"distances": {
"address_min_dist_to_email": 4.03,
"address_dist_to_ip": 12.01,
"address_dist_to_phone": 8.94,
"ip_min_dist_to_email": 9.63,
"ip_dist_to_phone": 5.66,
"phone_min_dist_to_email": 8.6,
"avg_distances": 8.145
}
},
"arkvision": {
"score": 35,
"min_possible": -64,
"max_possible": 160,
"rule_set_id": "8",
"rule_set_name": "ArkOwl's Base Ruleset",
"alert": "yellow",
"highest_triggered_rule_alert_message": "Potential bad actor using a disposable email",
"threshold_crossed": null,
"green_score_threshold": 65,
"yellow_score_threshold": 46,
"red_score_threshold": 36,
"green_score_message": "Low Risk",
"yellow_score_message": "Above Average Risk",
"red_score_message": "Super Risky!",
"scoring_rules": [
{
"rule_passed": false,
"output": "correlations.email__phone.name_match_percent",
"comparison": "gt",
"target_value": 90,
"actual_value": null,
"score_effect": 2,
"alert_color": "",
"alert_message": "",
"group_id": null,
"description": "Email and Phone Connection match via character matching of the name - 90% namematch or higher",
"output_title": "correlations.email__phone.name_match_percent",
"logic_description": "correlations.email__phone.name_match_percent > 90"
},
{
"rule_passed": true,
"output": "phone.accounts.teams.registered",
"comparison": "equal",
"target_value": true,
"actual_value": true,
"score_effect": 1,
"alert_color": "",
"alert_message": "",
"group_id": null,
"description": "Phone Number is associated with a Microsoft Teams account",
"output_title": "Phone Accounts Teams Registered",
"logic_description": "Phone Accounts Teams Registered = True"
},
{
"rule_passed": false,
"output": "email.domain.exists",
"comparison": "equal",
"target_value": false,
"actual_value": true,
"score_effect": -10,
"alert_color": "yellow",
"alert_message": "Domain does not exist, high likelihood for bad actor",
"group_id": null,
"description": "Email domain does not exist.",
"output_title": "Email Domain Exists",
"logic_description": "Email Domain Exists = False"
},
{
"rule_passed": true,
"output": "email.data_breaches.earliest",
"comparison": "gt",
"target_value": 720,
"actual_value": 1000,
"score_effect": -4,
"alert_color": "",
"alert_message": "",
"group_id": "12345",
"description": "Email was first seen in a data breach more than 2 years ago",
"output_title": "email.data_breaches.earliest",
"logic_description": "email.data_breaches.earliest > 720 Days"
},
{
"rule_passed": true,
"output": "email.domain.disposable",
"comparison": "equal",
"target_value": true,
"actual_value": true,
"score_effect": -10,
"alert_color": "yellow",
"alert_message": "Potential bad actor using a disposable email",
"group_id": "12345",
"description": "Email domain issues disposable emails",
"output_title": "Disposable Email",
"logic_description": "email.domain.disposable = True"
},
...
]
}
}
See Response Fields for details on this object.
Email Query
Note: it is recommended that the
/combinedendpoint be used over this endpoint.
Email Endpoint
https://api.arkowl.com/v1/email/{emailAddressToQuery}
Email Request Parameters
All query endpoints support GET and POST requests. These are the available parameters:
| Key | Type | Description |
|---|---|---|
emailAddressToQuery |
string (Required) |
Email address to query. |
Email Example Response
Here is a partial example of an API response for version 1 email only endpoint. The fields will be the exact same as the nested email_data object in the /combined endpoint response:
{
"id": "test@example.com",
"query": "TEST@example.com",
...
}
See Email Response Fields for details on this object.
Phone Number Query
Note: it is recommended that the
/combinedendpoint be used over this endpoint.
Phone Number Endpoint
https://api.arkowl.com/v1/phone/{phoneNumberToQuery}
Phone Number Request Parameters
All query endpoints support GET and POST requests. These are the available parameters:
| Key | Type | Description |
|---|---|---|
phoneNumberToQuery |
string (Required*) |
Phone number to query. If sending international phone numbers, it is recommended that you use the E.164 international phone number format with the proceeding + followed by the international country code (example: for France, you would send +33 and the remaining digits of the number). |
Example Phone Number Response
Here is a partial example of an API response for version 1 phone only endpoint. The fields will be the exact same as the nested phone_data object in the /combined endpoint response:
{
"query": "+1-612-220-3333",
"id": "+16125553333",
"formatted": "+1 612-220-3333"
...
}
See Phone Number Response Fields for details on this object.
Response Fields
Below are all response fields, their types, and a short description of each field.
Combined Response Fields
- For important information about social checks, please reference this documentation.
- Additionally, check out this reference for
nulldata types
| Field | Type | Description |
|---|---|---|
email_phone_connection |
boolean or null |
If a connection between the provided email and phone was found. (This is the same value found in the Metadata Response) |
deeplink |
string or null |
This is an URL reference to perform the same query in the ArkOwl UI. It can be very helpful when integrating the API into a custom user interface. |
email_data |
object or null |
Object containing all the data found for the provided email. See the Email Response Fields for more details. null will be returned if no email address was provided in the query. |
phone_data |
object or null |
Object containing all the data found for the provided phone. See the Phone Number Response Fields for more details. null will be returned if no phone number was provided in the query. |
ip_data |
object or null |
Object containing all the data found for the provided ip. See the IP Address Response Fields for more details. null will be returned if no IP address was provided in the query. |
address_data |
object |
Object containing all the data found for the provided address_* fields. See the Address Response Fields for more details. null will be returned if no address data was provided in the query. |
metadata_data |
object or null |
Object containing all the metadata fields. See the Metadata Response Fields for more details. |
arkvision |
object or null |
Object containing all the ArkVision fields. See the ArkVision for more details. null will be returned if ArkVision is not turned on or if there is not an active Rule Set selected for your account. |
Email Response Fields
- For important information about social checks, please reference this documentation.
- Additionally, check out this reference for
nulldata types- If using the
/combinedendpoint, this response object will be nested at the top levelemail_data. See the Combined Response Fields for more details.- If using the
| Field | Type | Description |
|---|---|---|
handle |
string |
The unique part of an email address that comes before the @ symbol after normalization. |
query |
string |
The raw email as queried |
id |
string |
The email after sanitization |
exists |
string |
Does the email exist with the email provider. Available values are: 'yes', 'no', and 'unverified' |
no_data |
boolean or null |
A boolean of true is returned if ArkOwl did not find any significant data on this given email (either from external or internal data). false is returned if there was at least one meaningful piece of data found. null is usually returned in the case of external errors where ArkOwl was unable to definitively determine if there is meaningful data for this email. |
registrar |
string |
The authoritative account provider for this email address which allows us to infer exists. This is the account for which this email originates (e.g. google for gmail.com addresses or yahoo for rocketmail.com addresses). This will only be set if a corresponding account.{name} object is present. |
known_aliases |
string[] |
List of any known variants for this email address (emails addresses which correspond to the same inbox). |
created |
integer or null |
An integer Unix timestamp for the creation time of this email address or null if unknown |
created_after |
integer or null |
An integer Unix timestamp for the earliest possible time this email could have existed. Often this is deduced from the time that the domain name was registered, or the date at which an email service was first known to offer account registration. If an exact created timestamp is known, then created, created_after, and created_before will be identical. |
created_before |
integer or null |
An integer Unix timestamp for the earliest known use of this email address or null if unknown. If an exact created timestamp is known, then created, created_after, and created_before will be identical. |
days_old |
integer or null |
(Deprecated) This will always be null |
first_seen_anywhere |
integer or null |
An integer Unix timestamp for the first time this email address was seen based on our data sources (null if it cannot be determined). |
first_seen |
integer or null |
An integer Unix timestamp for the first time this email address was checked by ArkOwl by any user (null if never seen before). |
last_seen |
integer or null |
An integer Unix timestamp for the most recent time this email address was checked by ArkOwl prior to this query (null if never seen before). |
times_seen |
integer |
The number of times this email address has been seen by an ArkOwl query (not including the present query) |
email_handle_to_email_name_match |
float or null |
Percent that the email name(s) match the email handle (note: this will be between 0-100; example 76.44 equals 76.44%). |
email_handle_to_email_name_char_match |
boolean or null |
If any 5-character chunk from the email handle appears exactly within the normalized or reversed email name. |
data_breaches_error |
boolean |
Indicator if there was an error loading the data breaches |
data_breaches |
object[] |
An array of objects corresponding to known data breaches that this email address was a part of. For instance, when dropbox.com was hacked and tens of millions of customer email addresses and password hashes were leaked. |
data_breaches[].name |
string |
Name of the data breach |
data_breaches[].domain |
string |
Domain that was breached |
data_breaches[].breach_date |
integer or null |
An integer Unix timestamp of when the breach occured |
data_breaches[].description |
string |
Description of the breach (Note: this often contains HTML) |
data_breaches[].data_classes |
string[] |
Array listing the kind of data that was exposed (names, passwords, website activity, etc) |
accounts |
object |
Object containing all the social checks and any found metadata associated with them (see note on social account checks for additional information) |
accounts.google |
object |
Object containing Google check data |
accounts.google.status |
string |
Registration status with Google (see information on account statuses) |
accounts.google.metadata |
object |
Object containing any Google data found (note: this will be an empty object if google.status !== "registered") |
accounts.google.metadata.parsed |
string or null |
The email address parsed by Google |
accounts.google.metadata.handle |
string or null |
The email address handle returned from Google |
accounts.google.metadata.account_id |
string or null |
The Google ID for this email address. |
accounts.google.metadata.profile_img |
string or null |
URL to the user’s Google profile image. |
accounts.google.metadata.full_name |
string or null |
The user’s full name as it appears on their Google profile. |
accounts.google.metadata.first_known_activity |
integer or null |
An integer Unix timestamp for the first known activity seen for this user’s Google account (if able to be determined from received data, otherwise it will be null). |
accounts.google.metadata.profile_url |
null |
(Deprecated) Google no longer provides this information. It will always be null |
accounts.google.metadata.tagline |
null |
(Deprecated) Google no longer provides this information. It will always be null |
accounts.google.metadata.circles |
null |
(Deprecated) Google no longer provides this information. It will always be null |
accounts.gravatar |
object |
Object containing Gravatar check data |
accounts.gravatar.status |
string |
Registration status with Gravatar (see information on account statuses) |
accounts.gravatar.metadata |
object |
Object containing any Gravatar data found (note: this will be an empty object if gravatar.status !== "registered") |
accounts.gravatar.metadata.profile_img |
string or null |
URL to the user’s Gravatar profile image. |
accounts.microsoft |
object |
Object containing Microsoft check data |
accounts.microsoft.status |
string |
Registration status with Microsoft (see information on account statuses) |
accounts.microsoft.metadata |
object |
There is no additional information provided from the Microsoft check. This will always be an empty object. |
accounts.skype |
object |
Object containing Skype check data |
accounts.skype.status |
string |
Registration status with Skype (see information on account statuses) |
accounts.skype.metadata |
object |
Object containing any Skype data found (note: this will be an empty object if skype.status !== "registered") |
accounts.skype.metadata.full_name |
string or null |
The user’s full name as it appears on their Skype profile. |
accounts.skype.metadata.profile_img |
string or null |
URL to the user’s Skype profile image. |
accounts.skype.metadata.city |
string or null |
The user’s city listed in their Skype profile. |
accounts.skype.metadata.state |
string or null |
The user’s state listed in their Skype profile. |
accounts.skype.metadata.country |
string or null |
The user’s country listed in their Skype profile. |
accounts.skype.metadata.country_code |
string or null |
The user’s country ISO code listed in their Skype profile. |
accounts.skype.metadata.language |
string or null |
The user’s preferred language listed in their Skype profile. |
accounts.skype.metadata.onedrive_exists |
boolean or null |
Indicator if the user has created an OneDrive account. null is returned if unknown. |
accounts.skype.metadata.onedrive_created |
integer or null |
An integer Unix timestamp for the creation time of this email address or null if unknown |
accounts.skype.metadata.gender |
null |
(Deprecated) Skype no longer provides this information. It will always be null |
accounts.skype.metadata.about |
null |
(Deprecated) Skype no longer provides this information. It will always be null |
accounts.skype.metadata.age |
null |
(Deprecated) Skype no longer provides this information. It will always be null. |
accounts.spotify |
object |
Object containing Spotify check data |
accounts.spotify.status |
string |
Registration status with Spotify (see information on account statuses) |
accounts.spotify.metadata |
object |
There is no additional information provided from the Spotify check. This will always be an empty object. |
accounts.twitter |
object |
Object containing Twitter (now known as “X”) check data |
accounts.twitter.status |
string |
Registration status with Twitter (see information on account statuses) |
accounts.twitter.metadata |
object |
There is no additional information provided from the Twitter check. This will always be an empty object. |
accounts.apple |
object |
Object containing Apple check data |
accounts.apple.status |
string |
Registration status with Apple (see information on account statuses) |
accounts.apple.metadata |
object |
There is no additional information provided from the Apple check. This will always be an empty object. |
accounts.yahoo |
object |
Object containing Yahoo check data |
accounts.yahoo.status |
string |
Registration status with Yahoo (see information on account statuses) |
accounts.yahoo.metadata |
object |
Object containing any Yahoo data found (note: this will be an empty object if yahoo.status !== "registered") |
accounts.yahoo.metadata.temporary_email |
boolean or null |
Indicator for whether this email address is a temporary email. Yahoo provides users with the ability to create multiple temporary email handles. This allows users the ability to keep their original email address hidden. |
accounts.yahoo.metadata.account_id |
null |
(Deprecated) Yahoo no longer provides this information. It will always be null |
accounts.yahoo.metadata.member_since |
null |
(Deprecated) Yahoo no longer provides this information. It will always be null |
accounts.yahoo.metadata.nickname |
null |
(Deprecated) Yahoo no longer provides this information. It will always be null |
accounts.yahoo.metadata.gender |
null |
(Deprecated) Yahoo no longer provides this information. It will always be null |
accounts.yahoo.metadata.language |
null |
(Deprecated) Yahoo no longer provides this information. It will always be null |
accounts.yahoo.metadata.profile_img |
null |
(Deprecated) Yahoo no longer provides this information. It will always be null |
domain_registrations |
object |
Object containing historical registration information about domains that have been registered using this email. |
domain_registrations.error |
boolean |
Indicator if there was an error loading the historical domain registrations. |
domain_registrations.intelligence |
object |
Object containing the historical information about the domains found for this email. |
domain_registrations.intelligence.domains_registered |
string[] |
An array of domains that have ties to the queried email at some point in the past. |
domain_registrations.intelligence.known_names |
string[] |
An array of known names that have been associated with this email and domain registrations. |
domain_registrations.intelligence.unique_domains_registered |
integer |
An integer count of the unique domains registered with this email. |
domain_registrations.intelligence.earliest_domain_registration |
integer |
An integer Unix timestamp for earliest domain registration date. |
domain_registrations.intelligence.days_since_earliest_domain_registration |
integer |
An integer of the number of days since the earliest domain registration (relative to today). |
domain_registrations.intelligence.unique_phones_connected |
integer |
An integer count of the unique phone numbers associated with all domain registrations with this email. |
domain |
object |
Object containing information about the domain host of the email address. |
domain.id |
string |
The full domain for the email address. This is the domain used to determine all the following information. |
domain.suffix |
string |
The top-level domain for the email domain (e.g. .com or .co.uk) |
domain.valid |
boolean |
Whether the top-level domain exists (e.g. domain.issuperawesome is not currently valid) |
domain.exists |
boolean |
Whether this domain name exists. |
domain.registrar |
string or null |
The name of the organization that manages this domain name’s registration. |
domain.registered |
integer or null |
A Unix timestamp for the registration date of this domain name (accurate to within 48 hours due to time zone differences). |
domain.updated |
integer or null |
A Unix timestamp for the date this domain name’s registry data was last updated (accurate to within 48 hours due to time zone differences). |
domain.expires |
integer or null |
A Unix timestamp for the date this domain name’s registry data will expire (accurate to within 48 hours due to time zone differences). |
domain.first_seen |
integer or null |
An integer Unix timestamp for the first time this domain was checked by ArkOwl by any user (null if never seen before). |
domain.last_seen |
integer or null |
An integer Unix timestamp for the most recent time this domain was checked by ArkOwl prior to this query (null if never seen before). |
domain.known_disposable_email_provider |
boolean or null |
true if the provided domain has been flagged as an email provider that is known for using disposable email addresses. |
domain.isp_provided_email |
boolean or null |
true if the provided domain has been flagged as an email provider that is known for providing email addresses with an internet service subscription, using the ISP’s domain name. |
domain.free_email_provider |
boolean or null |
true if the provided domain has been flagged as an email provider that is known for offering a web-based or app-based email address at no cost. |
domain.domain_description |
string or null |
A short summary of the domain’s service, features, and distinguishing characteristics. |
domain.parent_company |
string or null |
The company or organization that owns or operates the domain. |
domain.favicon |
string or null |
URL of the domain’s favicon. |
domain.registrant |
object |
Object containing the contact information for the individual or organization who registered this domain. |
domain.registrant.name |
string or null |
Name of the individual who registered this domain. |
domain.registrant.organization |
string or null |
Name of the organization who registered this domain. |
domain.registrant.street1 |
string or null |
Address of the individual or organization that registered this domain. |
domain.registrant.street2 |
string or null |
Second line of the address of the individual or organization that registered this domain. |
domain.registrant.street3 |
string or null |
Second line of the address of the individual or organization that registered this domain. |
domain.registrant.city |
string or null |
City of the individual or organization that registered this domain. |
domain.registrant.state |
string or null |
State of the individual or organization that registered this domain. |
domain.registrant.postal_code |
string or null |
Postal code of the individual or organization that registered this domain. |
domain.registrant.country |
string or null |
Country of the individual or organization that registered this domain (note: this is the full country. ie. "Unitied States") |
domain.registrant.email |
string or null |
Email address of the individual or organization that registered this domain. |
domain.registrant.phone |
string or null |
Phone number of the individual or organization that registered this domain. |
domain.registrant.fax |
string or null |
Fax number of the individual or organization that registered this domain. |
domain.registration_history |
object[] |
An array of objects containing historical registration information for the given domain. |
domain.registration_history[].registrar_name |
string or null |
The name of the registrar (if known). |
domain.registration_history[].registered_date |
string or null |
An ISO date string for the registration date for this historical record. |
domain.registration_history[].registrar_website |
string or null |
The website of the registrar (if known). |
domain.registration_history[].registrant_company |
string or null |
The company name of the registrar (if known). |
domain.registration_history[].registrant_email |
string or null |
The email of the registrar (if known). |
domain.registration_history[].registrant_address |
string or null |
The address of the registrar (if known). |
domain.registration_history[].registrant_city |
string or null |
The city of the registrar (if known). |
domain.registration_history[].registrar_state |
string or null |
The state of the registrar (if known). |
domain.registration_history[].registrar_country |
string or null |
The country of the registrar (if known). |
domain.registration_history[].registrar_zip |
string or null |
The zip of the registrar (if known). |
domain.registrant.contacts[] |
object[] |
An array of objects with auxiliary contacts for this domain. The nested contact objects have the exact same fields as the domain.registrant object with the addition of a type property that will indicate which kind of contact it is (example could be "Technical" or "Administrative"). |
domain.mail_servers |
string[] |
An array of strings, each corresponds to the mail server MX records of the domain (usually a number followed by a URL, e.g. 01 mta5.am.yahoodns.net). The number signifies priority. |
domain.name_servers |
string[] |
An array of strings, each corresponds to an domain name server host for this domain. These are the authorities used when converting a domain like yahoo.com into an network IP address. |
domain.bad_activity |
object |
Object containing bad activity rolled up across every email address seen at this domain. |
domain.bad_activity.total_reports |
integer or null |
Number of times email addresses at this domain have been reported as bad actors. |
domain.bad_activity.reports_last_24h |
integer or null |
Number of times email addresses at this domain have been reported as bad actors in the last 24 hours. |
domain.bad_activity.reports_last_7d |
integer or null |
Number of times email addresses at this domain have been reported as bad actors in the last 7 days. |
domain.bad_activity.reports_last_30d |
integer or null |
Number of times email addresses at this domain have been reported as bad actors in the last 30 days. |
domain.bad_activity.first_report |
integer or null |
An integer Unix timestamp for the first time an email address at this domain was reported. |
domain.bad_activity.last_report |
integer or null |
An integer Unix timestamp for the last time the bad activity for this domain was updated. |
domain.bad_activity.seen_domains |
string[] |
Every domain (including subdomains) seen under this root domain in reported email addresses. |
domain.bad_activity.unique_handles |
integer or null |
Number of distinct email addresses ever seen under this root domain in reported activity. |
domain.bad_activity.excluded |
boolean or null |
Indicator if this root domain is on our exclude lists (consumer mailbox providers, ISP domains, and free email services). |
domain.bad_activity.error |
boolean or null |
Indicator if there was an error loading the domain bad activity check. |
bad_activity |
object |
Object containing data that has been flagged as “bad activity” for the given email. Bad activity can be very useful for flagging potential Account Take Overs (ATOs) and other potentially fraudulent activity. This data represents a combined effort from multiple sources to identify bad actor email addresses. |
bad_activity.disposable_email |
boolean or null |
true if this email address is a disposable email. |
bad_activity.blacklisted |
boolean or null |
true if this email address shows up on the blacklist of bad actor emails. |
bad_activity.reports |
integer |
Number of times this email address has been reported as a bad actor. |
bad_activity.reports_last_24h |
integer |
Number of times this email address has been reported as a bad actor in the last 24 hours. |
bad_activity.reports_last_7d |
integer or null |
Number of times this email address has been reported as a bad actor in the last 7 days. |
bad_activity.reports_last_30d |
integer or null |
Number of times this email address has been reported as a bad actor in the last 30 days. |
bad_activity.first_report |
integer or null |
An integer Unix timestamp for the first time this email has been reported (Note: that an email may have an first_report date but not be flagged as a blacklisted email). |
bad_activity.last_report |
integer or null |
An integer Unix timestamp for the last time this email has been reported. |
bad_activity.error |
boolean |
Indicator if there was an error loading the bad activity check. |
Phone Number Response Fields
- For important information about social checks, please reference this documentation.
- Additionally, check out this reference for
nulldata types- If using the
/combinedendpoint, this response object will be nested at the top levelphone_data. See the Combined Response Fields for more details.- If using the
/phoneendpoint, this response will be the body of the response.
| Field | Type | Description |
|---|---|---|
query |
string |
The verbatim phone number provided in the query. |
id |
string |
The normalized phone number formatted in the E.164 international standard (e.g. +18005550000). |
formatted |
string |
The phone number formatted in a more readable way (e.g. +1 800-555-0000). |
error |
boolean |
true if the phone number provided is invalid or formatted incorrectly |
valid |
boolean |
true if the phone number is valid, false otherwise |
exists |
string |
Whether the phone number exists. One of "yes", "no", or "unverified" |
first_seen_anywhere |
integer or null |
An integer Unix timestamp for the first time this phoen number was seen based on our data sources (null if it cannot be determined). |
first_seen |
integer or null |
An integer Unix timestamp for the first time this phone number was checked by ArkOwl by any user (null if never seen before). |
last_seen |
integer or null |
An integer Unix timestamp for the most recent time this phone number was checked by ArkOwl prior to this query (null if never seen before). |
times_seen |
integer or null |
The number of times this phone number has been seen by an ArkOwl query (not including the present query) |
name |
string |
The name of the holder of this phone number (caller ID or Skype profile name) |
region |
string |
The phone number region (e.g. "US") |
carrier |
string |
The phone number’s carrier (e.g. "T-Mobile") |
linetype |
string |
The type of line of this phone number (e.g. "landline", "mobile", "VoIP", "unknown") |
geo_location |
string |
Location of the phone number (e.g. the area code, state, or other geo-location identifier). |
timezone |
string |
Timezone of the phone number’s registered location (e.g. "America/New_York") |
carrier_original |
null |
(Deprecated) This data is no longer available and will always be null |
carrier_ported |
null |
(Deprecated) This data is no longer available and will always be null |
data_breaches_error |
boolean |
Indicator if there was an error loading the data breaches |
data_breaches |
object[] |
An array of objects corresponding to known data breaches that this phone number was a part of. |
data_breaches[].name |
string |
Name of the data breach |
data_breaches[].domain |
string |
Domain that was breached |
data_breaches[].breach_date |
integer or null |
An integer Unix timestamp of when the breach occured |
data_breaches[].description |
string |
Description of the breach (Note: this often contains HTML) |
data_breaches[].data_classes |
string[] |
Array listing the kind of data that was exposed (names, passwords, website activity, etc) |
accounts |
object |
Object containing all the social checks and any found metadata associated with them (see note on social account checks for additional information) |
accounts.twitter |
object |
Object containing Twitter (now known as “X”) check data |
accounts.twitter.status |
string |
Registration status with Twitter (see information on account statuses) |
accounts.twitter.metadata |
object |
There is no additional information provided from the Twitter check. This will always be an empty object. |
accounts.skype |
object |
Object containing Skype check data |
accounts.skype.status |
string |
Registration status with Skype (see information on account statuses) |
accounts.skype.metadata |
object |
Object containing any Skype data found (note: this will be an empty object if skype.status !== "registered") |
accounts.skype.metadata.full_name |
string or null |
The user’s full name as it appears on their Skype profile. |
accounts.skype.metadata.profile_img |
string or null |
URL to the user’s Skype profile image. |
accounts.skype.metadata.city |
string or null |
The user’s city listed in their Skype profile. |
accounts.skype.metadata.state |
string or null |
The user’s state listed in their Skype profile. |
accounts.skype.metadata.country |
string or null |
The user’s country listed in their Skype profile. |
accounts.skype.metadata.country_code |
string or null |
The user’s country ISO code listed in their Skype profile. |
accounts.skype.metadata.language |
string or null |
The user’s preferred language listed in their Skype profile. |
accounts.skype.metadata.gender |
null |
(Deprecated) Skype no longer provides this information. It will always be null |
accounts.skype.metadata.about |
null |
(Deprecated) Skype no longer provides this information. It will always be null |
accounts.skype.metadata.age |
null |
(Deprecated) Skype no longer provides this information. It will always be null. |
domain_registrations |
object |
Object containing historical registration information about domains that have been registered using this phone number. |
domain_registrations.error |
boolean |
Indicator if there was an error loading the historical domain registrations. |
domain_registrations.intelligence |
object |
Object containing the historical information about the domains found for this phone number. |
domain_registrations.intelligence.domains_registered |
string[] |
An array of domains that have ties to the queried phone number at some point in the past. |
domain_registrations.intelligence.known_names |
string[] |
An array of known names that have been associated with this phone number and domain registrations. |
domain_registrations.intelligence.unique_domains_registered |
integer |
An integer count of the unique domains registered with this phone number. |
domain_registrations.intelligence.earliest_domain_registration |
integer |
An integer Unix timestamp for earliest domain registration date. |
domain_registrations.intelligence.days_since_earliest_domain_registration |
integer |
An integer of the number of days since the earliest domain registration (relative to today). |
domain_registrations.intelligence.unique_emails_connected |
integer |
An integer count of the unique phone numbers associated with all domain registrations with this phone number. |
domain_registrations.intelligence.emails_connected |
string[] |
An integer count of the unique phone numbers associated with all domain registrations with this phone number. |
IP Address Response Fields
- Check out this reference for
nulldata types- IP data is only available when using the
/combinedendpoint. This response object will be nested at the top levelip_data. See the Combined Response Fields for more details.
| Field | Type | Description |
|---|---|---|
query |
string |
The verbatim IP address provided in the query. |
id |
string |
The IP address as a sanitized string representation. |
valid |
boolean |
true if the IP address is valid, false otherwise |
ipv6 |
boolean |
true if the IP address is an IPv6 address. |
private |
boolean |
true if the IP address is a private address |
reserved |
boolean |
true if the IP address is a reserved address |
first_seen |
integer or null |
An integer Unix timestamp for the first time this IP address was checked by ArkOwl by any user (null if never seen before). |
last_seen |
integer or null |
An integer Unix timestamp for the most recent time this IP address was checked by ArkOwl prior to this query (null if never seen before). |
times_seen |
integer or null |
The number of times this IP address has been seen by an ArkOwl query (not including the present query) |
organization |
string or null |
Organization that owns and/or manages this IP address |
network |
string or null |
CIDR block this IP address belongs to |
country |
string or null |
Country of this IP address |
country_code |
string or null |
Country code of this IP address (e.g. "US") |
city |
string or null |
City of this IP address |
state |
string or null |
State or region of this IP address |
postal_code |
string or null |
Postal code of this IP address |
timezone |
string or null |
TimeZone of this IP address (e.g. "America/New_York") |
location |
string or null |
String representation of the city, state, and country of this IP address (e.g. "Brooklyn Center, Minnesota, United States") |
coordinates |
string or null |
The combined latitude and longitude of where the device using this IP address resideds (e.g. "45.052,-93.336". See location for more information). |
accuracy_radius |
string or null |
The approximate accuracy radius in kilometers around the latitude and longitude for the IP address. There is a 67% confidence that the device the IP address resides within the circle centered at the latitude and longitude with the provided radius. |
Address Response Fields
- Check out this reference for
nulldata types- Address data is only available when using the
/combinedendpoint. This response object will be nested at the top leveladdress_data. See the Combined Response Fields for more details.
| Field | Type | Description |
|---|---|---|
query |
object |
Object containing the original address queried. |
query.formatted |
string |
This is a combined string of all the address pieces used in the query |
query.name |
string or null |
The queried name. |
query.line_1 |
string or null |
The queried first line of the address. |
query.line_2 |
string or null |
The queried second line of the address. |
query.locality |
string or null |
The queried locality of the address. (This is usually the city). |
query.region |
string or null |
The queried region of the address. (This is usually the state). |
query.postal_code |
string or null |
The queried postal code of the address. |
query.country_code |
string or null |
The queried country code of the address. |
formatted |
string or null |
This is the formatted string of the address. If place_id is present, this will be a standardize string from the advanced lookup. Otherwise, it will appear very similar to the formatted string for query |
name |
string or null |
The name provided in the address query. |
line_1 |
string or null |
The first line of the address. If the advanced lookup succeed, this will be the standardized address line 1, otherwise it will be the line 1 provided in the query. |
line_2 |
string or null |
The second line of the address. If the advanced lookup succeed, this will be the standardized address line 2, otherwise it will be the line 2 provided in the query. |
locality |
string or null |
The locality of the address. If the advanced lookup succeed, this will be the standardized locality, otherwise it will be the locality provided in the query. For many addresses, this corresponds to the city. |
region |
string or null |
The region of the address. If the advanced lookup succeed, this will be the standardized region, otherwise it will be the region provided in the query. For many addresses, this corresponds to the state or providence. |
postal_code |
string or null |
The postal code of the address. If the advanced lookup succeed, this will be the standardized postal code, otherwise it will be the postal code provided in the query. |
country |
string or null |
The full country name determined by the provided country code provided in the query (e.g. "United States of America (the)") |
country_code |
string or null |
The ISO country of the address. If the advanced lookup succeed, this will be the standardized code, otherwise it will be the code provided in the query. Due to variants, this could be the ISO-2 or ISO-3 country code (e.g. "USA" or "US"). |
county |
string or null |
The county of the address. If the advanced lookup succeed, this will be the standardized county (if any), otherwise it will be null. |
coordinates |
string or null |
The combined latitude and longitude of the address deteremined by the provided postal code (e.g. "45.052,-93.336"). |
place_id |
string or null |
A unique ID for this address. This will only be present if the advanced lookup functionality succeed and found a matching address. |
place_name |
string or null |
A possible name associated with the given address. |
place_category |
string or null |
A category for the given address. |
result_type |
string or null |
The type of result for the given address (this is usually "building"). |
match_type |
string or null |
The match type for the advanced address lookup. This will usually be "full_match" or null (meaning advanced lookup did not succeed). |
confidence |
float or null |
The confidence level of the advanced lookup for the entire given address. Ranges from 0 to 1 |
confidence_city_level |
float or null |
The confidence level of the advanced lookup for the entire given city. Ranges from 0 to 1 |
confidence_street_level |
float or null |
The confidence level of the advanced lookup for the entire given street. Ranges from 0 to 1 |
confidence |
float or null |
The confidence level of the advanced lookup for the entire given address. Ranges from 0 to 1 |
popularity |
float or null |
The popularity of the given address. This number can exceed 1 |
importance |
float or null |
The importance of the given address. Ranges from 0 to 1 |
timezone |
string or null |
The timezone associated with this address (ie. "America/New_York"). |
timezone_alt |
string or null |
The alternate name for the timezone associated with this address if one exists. |
Metadata Response Fields
- Check out this reference for
nulldata types- Address data is only available when using the
/combinedendpoint. This response object will be nested at the top leveladdress_data. See the Combined Response Fields for more details.nullwill be returned if there is not enough information to determine a match.
| Field | Type | Description |
|---|---|---|
email_phone_connection |
boolean or null |
If a connection between the provided email and phone was found. |
email_phone_queried_together_first_seen |
integer or null |
An integer Unix timestamp for the first time this email address and phone number was checked by ArkOwl in the same query by any user (null if the combination has never been seen before). |
email_phone_queried_together_last_seen |
integer or null |
An integer Unix timestamp for the most recent time this email address and phone number was checked by ArkOwl in the same query by any user (null if the combination has never been seen before). |
email_phone_queried_together_times_seen |
integer |
The number of times this email address and phone number have been seen by an ArkOwl query (not including the present query). |
email_phone_number_social_match |
boolean or null |
If a connection between the provided email and phone was found through social accounts. |
email_phone_number_of_social_matches |
number |
Number of connections found between the provided email and phone through social accounts. |
email_phone_full_mfa_match |
boolean or null |
If a connection between the provided email and phone was found through the same multi-factor authentication (MFA) account. |
email_phone_partial_mfa_match |
boolean or null |
If a connection between the provided email and phone was indicated by MFA-related data, such as matching phone number fragments or associated identifiers. |
email_phone_number_of_mfa_matches |
number |
Number of connections found between the provided email and phone through Multi-factor authentication (MFA). |
email_phone_name_match |
float or null |
Percent that the email name(s) match the phone name(s) (note: this will be between 0-100; example 76.44 equals 76.44%). |
email_handle_to_email_name_match |
float or null |
Percent that the email name(s) match the email handle (note: this will be between 0-100; example 76.44 equals 76.44%). |
email_handle_to_phone_name_match |
float or null |
Percent that the phone name(s) match the email handle (note: this will be between 0-100; example 76.44 equals 76.44%). |
email_handle_to_email_name_char_match |
boolean or null |
If any 5-character chunk from the email handle appears exactly within the normalized or reversed email name. |
email_handle_to_phone_name_char_match |
boolean or null |
If any 5-character chunk from the email handle appears exactly within the normalized or reversed phone name. |
address_email_name_match |
float or null |
Percent that the address name matches the email name(s) (note: this will be between 0-100; example 76.44 equals 76.44%). |
address_phone_name_match |
float or null |
Percent that the address name matches the phone name(s) (note: this will be between 0-100; example 76.44 equals 76.44%). |
email_phone_country_match |
boolean or null |
true if the email address and phone number have a same country match. |
ip_hostname_match |
boolean or null |
true if the email domain name and internet service provider (ISP) match. |
ip_phonecarrier_match |
boolean or null |
true if the phone carrier name and internet service provider (ISP) match. |
email_ip_country_match |
boolean or null |
true if the email address and IP address have a same country match. |
address_email_country_match |
boolean or null |
true if the email address and physical address have a same country match. |
phone_ip_country_match |
boolean or null |
true if the phone number and IP address have a same country match. |
address_phone_country_match |
boolean or null |
true if the phone number and physical address have a same country match. |
address_ip_country_match |
boolean or null |
true if the IP address and physical address have a same country match. |
address_hostname_match |
boolean or null |
true if the email domain name and address name (usually a business name) match. |
email_phone_timezone_match |
boolean or null |
true if the email address and phone number have a same TimeZone match. |
email_ip_timezone_match |
boolean or null |
true if the email address and IP address have a same TimeZone match. |
address_email_timezone_match |
boolean or null |
true if the email address and physical address have a same TimeZone match. |
phone_ip_timezone_match |
boolean or null |
true if the phone number and IP address have a same TimeZone match. |
address_phone_timezone_match |
boolean or null |
true if the phone number and physical address have a same TimeZone match. |
address_ip_timezone_match |
boolean or null |
true if the IP address and physical address have a same TimeZone match. |
distances |
object |
Object containing distance correlations between provided data points. |
distances.address_min_dist_to_email |
float or null |
Minimum distance in miles found between the email address and physical address. |
distances.address_dist_to_ip |
float or null |
Minimum distance in miles found between the email address and IP address. |
distances.address_dist_to_phone |
float or null |
Minimum distance in miles found between the phone number and physcial address. |
distances.ip_min_dist_to_email |
float or null |
Minimum distance in miles found between the email address and IP address. |
distances.ip_dist_to_phone |
float or null |
Minimum distance in miles found between the phone number and IP address. |
distances.phone_min_dist_to_email |
float or null |
Minimum distance in miles found between the phone number and email address. |
distances.avg_distances |
float or null |
Average of the minimum distances in miles found between the all the other minimum distances. |
ArkVision
ArkVision is a scoring and alerts system that shines a different perspective on ArkOwl data. This new view of ArkOwl data will make training and API implementations easier as well as help communicate new data features going forward.
- ArkVision is only available when using the
/combinedendpoint. This response object will be nested at the top levelarkvision. See the Combined Response Fields for more details.
The top level "arkvision": {...} object will only appear in the query response if the feature is enabled for your account.
If the feature is enabled, but the manager of the account has turned if off or does not have a selected ArkVision Rule Set, then it will return as null. Example:
{
"email_data": {...},
"phone_data": {...},
"ip_data": {...},
"address_data": {...},
"meta_data": {...},
"arkvision": null
}
When the ArkVision is present, it will have the following object schema:
| Field | Type | Description |
|---|---|---|
score |
number or null |
The calculated ArkVision score for this query. |
min_possible |
number |
The minimum possible score for this Rule Set (which is calculated by the sum of all the negative score effect rules). |
max_possible |
number |
The maximum possible score for this Rule Set (which is calculated by the sum of all the positive score effect rules). |
rule_set_id |
string or null |
The unique id for this Rule Set. null if no active Rule Set in use. |
rule_set_name |
string or null |
The name of the ArkVision Rule Set used. null if no active Rule Set in use. |
alert |
'green', 'yellow', 'red', or null |
The color of the alert triggered for this query. null if no alert was trigger. |
highest_triggered_rule_alert_message |
string or null |
This will be the alert_message for the Rule triggered with the highest level alert. |
threshold_crossed |
'green', 'yellow', 'red', or null |
The color of the score threshold crossed for this query. null if no threshold was crossed. |
green_score_threshold |
number or null |
The scoring threshold for a green score. null if no threshold is set. |
yellow_score_threshold |
number or null |
The scoring threshold for a yellow score. null if no threshold is set. |
red_score_threshold |
number or null |
The scoring threshold for a red score. null if no threshold is set. |
green_score_message |
string or null |
The Rule Set message for when a green threshold is crossed or a green alert is triggered. |
yellow_score_message |
string or null |
The Rule Set message for when a yellow threshold is crossed or a yellow alert is triggered. |
red_score_message |
string or null |
The Rule Set message for when a red threshold is crossed or a red alert is triggered. |
scoring_rules |
object[] |
An array of ArkVision rules from the Rule Set that apply to this query. |
scoring_rules[].rule_passed |
boolean |
true if this rule passed and was used in the ArkVision score calculation. The Rule should be ignored in most implementations if it did not pass. |
scoring_rules[].output |
string |
A unique string identifier primary key for this Rule. |
scoring_rules[].comparison |
string |
The comparison type used for logic for this Rule. These types may change overtime. Current values are: 'equal', 'not_equal', 'contains', 'contains_list', 'not_contains', 'not_contains_list', 'gt', 'gte', 'lt', 'lte'. |
scoring_rules[].target_value |
boolean, number, string, string[], Date, null, undefined |
The desired value to check for this Rule. |
scoring_rules[].actual_value |
boolean, number, string, string[], Date, null, undefined |
The computed value from the query used to check against the target_value from this Rule. |
scoring_rules[].score_effect |
number |
The score effect for this Rule if the Rule passes. |
scoring_rules[].alert_color |
'green', 'yellow', 'red', or null |
The alert level for this Rule. |
scoring_rules[].alert_message |
string or null |
The alert message for this Rule to be used if this Rule passes. |
scoring_rules[].group_id |
string or null |
If this rule is a part of a combination rule (ie. a rule with multiple rules tied together with AND logic), then it will share the same group_id with the other rule(s) in the group. If a rule is in a group, they will also all share the same values for rule_passed, score_effect, alert_color, alert_message, and description. |
scoring_rules[].description |
string or null |
The description for this Rule. This is controlled by the manager inside the ArkVision Rule Set configuration. It will be the primary text to present to analysts for ArkVision results on the query page. If no description is configured, logic_description will be used as a fallback. |
scoring_rules[].output_title |
string |
The ArkVision field name for this Rule (ex. “Email Google Registered”). This corresponds to the “Field” dropdown in the ArkVision manager’s Rule Set view. It is subject to change and should only be used for presentation purposes. Use output for a unique identifier. |
scoring_rules[].logic_description |
string or null |
The string representation of the logic for this rule. If there is no description configured for this Rule, the logic_description will be the fallback text presented to analysts for ArkVision results on the query page. |
Feedback
Let us know if you have any questions or comments about the documentation!