API Version 2
API Version 2 is known as the “flat” API. The reason being that the returned JSON response only has top level object keys and no nested objects or arrays.
See the following links for information on:
- API Overview & General Concepts
- API v1
- API v2 (currently viewing)
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/v2/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 77.7.777.175/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/v2/combined?email=john.doe%40example.com&phone=%2B1-612-555-3333&ip=77.7.777.175&address_name=John%20Doe&address_line_1=700%20Fake%20St.&address_line_2=Apt%20333&address_locality=Kings%20City&address_region=California&address_postal_code=12345&address_country_code=US \
-u YOUR_API_KEY:
Combined Example Response
Here is an example API response for version 2:
{
"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.handle" : "test.example",
"email.query": "test.example@gmail.com",
"email.error": false,
"email.normalized": "test.example@gmail.com",
"email.exists": "yes",
"email.no_data": false,
"email.registrar": "google",
"email.known_aliases": "testexample@gmail.com, testexample+fb@gmail.com",
"email.created": null,
"email.created_after": null,
"email.created_before": "2016-12-18T00:00:00-06:00",
"email.first_seen_anywhere": "2012-03-22T00:00:00-05:00",
"email.first_seen": "2023-01-03T10:13:32-06:00",
"email.last_seen": "2023-12-13T05:29:08-06:00",
"email.times_seen": 694,
"email.email_handle_to_email_name_match": 15.47,
"email.email_handle_to_email_name__char_match": false,
"email.data_breaches.known": 13,
"email.data_breaches.earliest": "2012-03-22T00:00:00-05:00",
"email.data_breaches.latest": "2021-04-08T00:00:00-05:00",
"email.data_breaches.error": false,
"email.bad_activity.disposable_email": false,
"email.bad_activity.blacklisted": false,
"email.bad_activity.reports": 0,
"email.bad_activity.reports_last_24h": null,
"email.bad_activity.reports_last_7d": null,
"email.bad_activity.reports_last_30d": null,
"email.bad_activity.first_report": null,
"email.bad_activity.last_report": null,
"email.bad_activity.error": false,
"email.domain.isp_provided_email": false,
"email.domain.free_email_provide": false,
"email.domain.parent_company": null,
"email.domain_description": null,
"email.domain.favicon": "https://t0.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://arkowl.com&size=64",
"email.domain.bad_activity.total_reports": 123,
"email.domain.bad_activity.reports_last_24h": 3,
"email.domain.bad_activity.reports_last_7d": 12,
"email.domain.bad_activity.reports_last_30d": 40,
"email.domain.bad_activity.first_report": 1336176000,
"email.domain.bad_activity.last_report": 1715806831,
"email.domain.bad_activity.seen_domains": 1,
"email.domain.bad_activity.unique_handles": 57,
"email.domain.bad_activity.excluded": false,
"email.domain.bad_activity.error": false,
"email.domain_registrations.error": false,
"email.domain_registrations.unique_domains_registered": 1,
"email.domain_registrations.earliest_domain_registration": 1435276800,
"email.domain_registrations.days_since_earliest_domain_registration": 3692,
"email.domain_registrations.unique_phones_connected": 1,
"email.registered_accounts": 5,
"email.accounts.google.registered": true,
"email.accounts.google.parsed_email": "test.example@gmail.com",
"email.accounts.google.actual_email": "test.example@gmail.com",
"email.accounts.google.account_id": "113779482880962429075",
"email.accounts.google.profile_img": "https://lh3.googleusercontent.com/a-/ALV-UjVo7DrW0ifpvf5stsX99whny8AHFSaIHoXeKyravSKaGjc",
"email.accounts.google.full_name": "Johnny Doe",
"email.accounts.google.first_known_activity": "2016-12-18T00:00:00-06:00",
"email.accounts.gravatar.registered": true,
"email.accounts.gravatar.profile_img": "https://www.gravatar.com/avatar/975810eefdf6a23b36f5b1c7a327a59c?r=r&s=280&d=404",
"email.accounts.microsoft.registered": false,
"email.accounts.skype.registered": true,
"email.accounts.skype.full_name": "John Doe",
"email.accounts.skype.profile_img": "https://avatar.skype.com/v1/avatars/johndoe/public",
"email.accounts.skype.city": "New York",
"email.accounts.skype.state": "NY",
"email.accounts.skype.country": "United States",
"email.accounts.skype.country_code": "US",
"email.accounts.skype.language": null,
"email.accounts.skype.onedrive_exists": true,
"email.accounts.skype.onedrive_created": "2021-12-13T07:20:08-06:00",
"email.accounts.spotify.registered": true,
"email.accounts.twitter.registered": true,
"email.accounts.yahoo.registered": true,
"email.accounts.yahoo.temp_email": false,
"email.accounts.yahoo.temporary_email": false,
"email.domain.hostname": "gmail.com",
"email.domain.suffix": "com",
"email.domain.valid": true,
"email.domain.exists": true,
"email.domain.registrar": "MarkMonitor Inc.",
"email.domain.registered": "1995-08-13",
"email.domain.updated": "2023-07-11",
"email.domain.expires": "2024-08-12",
"email.domain.first_seen": "2023-11-01T10:26:52-05:00",
"email.domain.last_seen": "2023-12-13T05:29:05-06:00",
"email.domain.registrant.name": null,
"email.domain.registrant.organization": "Google LLC",
"email.domain.registrant.address": "100 Fake Google Street",
"email.domain.registrant.city": "San Google",
"email.domain.registrant.state": "CA",
"email.domain.registrant.postal_code": "12345",
"email.domain.registrant.country": "UNITED STATES",
"email.domain.registrant.email": "abusecomplaints@markmonitor.com",
"email.domain.registrant.phone": "+1 800-555-0000",
"phone.query": "16125553333",
"phone.error": false,
"phone.normalized": "+16125553333",
"phone.formatted": "+1 612-555-3333",
"phone.valid": true,
"phone.exists": "unverified",
"phone.first_seen_anywhere": "2022-12-08T12:48:32-06:00",
"phone.first_seen": "2022-12-08T12:48:32-06:00",
"phone.last_seen": "2023-12-14T12:36:08-06:00",
"phone.times_seen": 173,
"phone.name": "JOHN DOE",
"phone.region": "US",
"phone.carrier": "AERIAL COMMUNICATIONS",
"phone.linetype": "mobile",
"phone.geo_location": "Minnesota",
"phone.timezone": "America/Chicago",
"phone.coordinates": "44.9708,-93.32084",
"phone.data_breaches.known": 0,
"phone.data_breaches.earliest": null,
"phone.data_breaches.latest": null,
"phone.data_breaches.error": false,
"phone.registered_accounts": 1,
"phone.accounts.twitter.registered": true,
"phone.accounts.skype.registered": true,
"phone.accounts.skype.full_name": "Johnny Carlson",
"phone.accounts.skype.profile_img": "https://avatar.skype.com/v1/avatars/johnnycarlson/public",
"phone.accounts.skype.city": "Wendel",
"phone.accounts.skype.state": "CA",
"phone.accounts.skype.country": "United States",
"phone.accounts.skype.country_code": "US",
"phone.accounts.skype.language": "EN",
"phone.domain_registrations.error": false,
"phone.domain_registrations.unique_domains_registered": 2,
"phone.domain_registrations.earliest_domain_registration": 1435276800,
"phone.domain_registrations.days_since_earliest_domain_registration": 3692,
"phone.domain_registrations.unique_emails_connected": 2,
"ip.query": "77.7.777.175",
"ip.normalized": "77.7.777.175",
"ip.error": false,
"ip.valid": true,
"ip.ipv6": false,
"ip.private": false,
"ip.reserved": false,
"ip.first_seen": "2022-12-08T12:48:32-06:00",
"ip.last_seen": "2023-12-14T12:36:08-06:00",
"ip.times_seen": 157,
"ip.organization": "Comcast Cable",
"ip.network": "77.7.777.175/32",
"ip.location": "Brooklyn Center, Minnesota, United States",
"ip.coordinates": "45.052,-93.336",
"ip.accuracy_radius": 5,
"address.query": "Prime Champ, 403 Knightdale Station Run, Knightdale, NC, 27545, US",
"address.formatted": "403 Knightdale Station Run, Knightdale, NC 27545, United States of America",
"address.name": "Prime CHAMP",
"address.line_1": "403 Knightdale Station Run",
"address.line_2": null,
"address.locality": "Knightdale",
"address.region": "NC",
"address.postal_code": "27545",
"address.country": "United States of America (the)",
"address.country_code": "USA",
"address.county": "Wake County",
"address.coordinates": "35.7968,-78.4713",
"address.place_id": "5150c293552a9e53c0124abee54140f00102f901ca58951c00000000c00203",
"address.place_name": null,
"address.place_category": null,
"address.result_type": "building",
"address.match_type": "full_match",
"address.confidence": 1,
"address.confidence_city_level": 1,
"address.confidence_street_level": 1,
"address.popularity": 2.4415236216901155,
"address.importance": 0.00000999999999995449,
"address.timezone": "America/New_York",
"address.timezone_alt": null,
"meta.email_phone_connection": true,
"meta.email_phone_queried_together_first_seen": "2022-12-08T12:48:32-06:00",
"meta.email_phone_queried_together_last_seen": "2023-12-13T05:29:09-06:00",
"meta.email_phone_queried_together_times_seen": 114,
"meta.address_email_name_match": null,
"meta.address_phone_name_match": null,
"meta.email_phone_name_match": 76.92,
"meta.email_handle_to_email_name_match": 15.47,
"meta.email_handle_to_phone_name_match": 12.03,
"meta.email_handle_to_email_name__char_match": false,
"meta.email_handle_to_phone_name__char_match": false,
"meta.email_phone_social_match": true,
"meta.email_phone_number_of_social_matches": 1,
"meta.email_phone_full_mfa_match": null,
"meta.email_phone_partial_mfa_match": true,
"meta.email_phone_number_of_mfa_matches": 1,
"meta.email_phone_country_match": true,
"meta.email_ip_country_match": true,
"meta.address_email_country_match": true,
"meta.phone_ip_country_match": true,
"meta.address_phone_country_match": true,
"meta.address_ip_country_match": true,
"meta.email_phone_timezone_match": true,
"meta.email_ip_timezone_match": true,
"meta.address_email_timezone_match": null,
"meta.phone_ip_timezone_match": true,
"meta.address_phone_timezone_match": null,
"meta.address_ip_timezone_match": null,
"meta.distances.address_min_dist_to_email": 4.03,
"meta.distances.address_dist_to_ip": 12.01,
"meta.distances.address_dist_to_phone": 8.94,
"meta.distances.ip_min_dist_to_email": 9.63,
"meta.distances.ip_dist_to_phone": 5.66,
"meta.distances.phone_min_dist_to_email": 8.6,
"meta.distances.avg_distances": 8.145,
"arkvision.score": 50,
"arkvision.min_possible": 47,
"arkvision.max_possible": 57,
"arkvision.rule_set_name": "ArkVision Custom Rules",
"arkvision.alert": "yellow",
"arkvision.threshold_crossed": null,
"arkvision.highest_triggered_rule_alert_message": "Email domain registered within the last 21 days",
"arkvision.alert_message": "Review This Closely"
}
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/v2/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 2 email only endpoint. The fields will be the exact same as the email.* keys returned in the /combined endpoint response:
{
"email.query": "TEST@example.com",
"email.normalized": "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/v2/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 2 phone number only endpoint. The fields will be the exact same as the phone.* keys returned in the /combined endpoint response:
{
"phone.query": "+1-612-220-3333",
"phone.normalized": "+16125553333",
"phone.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.* |
assorted | Keys containing all the data found for the provided email. See the Email Response Fields for more details. |
phone.* |
assorted | Keys containing all the data found for the provided phone. See the Phone Number Response Fields for more details. |
ip.* |
assorted | Keys containing all the data found for the provided ip. See the IP Address Response Fields for more details. |
address.* |
assorted | Keys containing all the data found for the provided address_* fields. See the Address Response Fields for more details. |
meta.* |
assorted | Keys containing all the metadata fields. See the Metadata Response Fields for more details. |
Email Response Fields
- For important information about social checks, please reference this documentation.
- Additionally, check out this reference for
nulldata types.- All date fields are returned in the ATOM string representation which cooresponds to the “Date and Time with Offset” ISO 8601 standard. Example:
2021-04-08T00:00:00-05:00.
| Field | Type | Description |
|---|---|---|
"email.handle" |
string or null |
The unique part of an email address that comes before the @ symbol after normalization. |
"email.query" |
string |
The raw email as queried |
"email.normalized" |
string |
The email after sanitization |
"email.exists" |
string |
Does the email exist with the email provider. Available values are: 'yes', 'no', and 'unverified' |
"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. |
"email.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. |
"email.known_aliases" |
string |
A comma-separated list of any known variants for this email address (emails addresses which correspond to the same inbox). |
"email.created" |
string or null |
A string timestamp for the creation time of this email address or null if unknown. |
"email.created_after" |
string or null |
A string 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. |
"email.created_before" |
string or null |
A string 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. |
"email.first_seen_anywhere" |
string or null |
A string timestamp for the first time this email address was seen based on our data sources (null if it cannot be determined). |
"email.first_seen" |
string or null |
A string timestamp for the first time this email address was checked by ArkOwl by any user (null if never seen before). |
"email.last_seen" |
integer or null |
A string timestamp for the most recent time this email address was checked by ArkOwl prior to this query (null if never seen before). |
"email.times_seen" |
integer |
The number of times this email address has been seen by an ArkOwl query (not including the present query) |
"email.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.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.data_breaches_error" |
boolean |
Indicator if there was an error loading the data breaches. |
"email.data_breaches.known" |
integer or null |
The number of known data breaches which contained this email address. |
"email.data_breaches.earliest" |
string or null |
A string timestamp of the earliest known data breach which contained this email address. |
"email.data_breaches.latest" |
string or null |
A string timestamp of the most recent known data breach which contained this email address. |
"email.data_breaches.error" |
boolean or null |
Indicate for if an error was encounted loading the knew data breaches. |
"email.bad_activity.disposable_email" |
boolean or null |
true if this email address is a disposable email. |
"email.bad_activity.blacklisted" |
boolean or null |
true if this email address shows up on the blacklist of bad actor emails. |
"email.bad_activity.reports" |
integer |
Number of times this email address has been reported as a bad actor. |
"email.bad_activity.reports_last_24h" |
integer |
Number of times this email address has been reported as a bad actor in the last 24 hours. |
"email.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. |
"email.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. |
"email.bad_activity.first_report" |
string or null |
A string 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). |
"email.bad_activity.last_report" |
string or null |
A string timestamp for the last time this email has been reported. |
"email.bad_activity.error" |
boolean |
Indicator if there was an error loading the bad activity check. |
"email.domain_registrations.error" |
boolean |
Indicator if there was an error loading the historical domain registrations. |
"email.domain_registrations.unique_domains_registered" |
integer |
An integer count of the unique domains registered with this email. |
"email.domain_registrations.earliest_domain_registration" |
string or null |
A string timestamp for earliest domain registration date. |
"email.domain_registrations.days_since_earliest_domain_registration" |
integer |
An integer of the number of days since the earliest domain registration (relative to today). |
"email.domain_registrations.unique_phones_connected" |
integer |
An integer count of the unique phone numbers associated with all domain registrations with this email. |
"email.registered_accounts" |
integer |
The number of detected online accounts associated with this email address. |
"email.accounts.google.registered" |
boolean or null |
Indicator for whether this email address is registered with Google (see information on account statuses) |
"email.accounts.google.parsed" |
string or null |
The email address parsed by Google |
"email.accounts.google.handle" |
string or null |
The email address handle returned from Google |
"email.accounts.google.account_id" |
string or null |
The Google ID for this email address. |
"email.accounts.google.profile_img" |
string or null |
URL to the user’s Google profile image. |
"email.accounts.google.full_name" |
string or null |
The user’s full name as it appears on their Google profile. |
"email.accounts.google.first_known_activity" |
string or null |
A string 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). |
"email.accounts.gravatar.registered" |
boolean or null |
Indicator for whether this email address is registered with Gravatar (see information on account statuses) |
"email.accounts.gravatar.profile_img" |
string or null |
URL to the user’s Gravatar profile image. |
"email.accounts.microsoft.registered" |
boolean or null |
Indicator for whether this email address is registered with Microsoft (see information on account statuses) |
"email.accounts.skype.registered" |
boolean or null |
Indicator for whether this email address is registered with Skype (see information on account statuses) |
"email.accounts.skype.full_name" |
string or null |
The user’s full name as it appears on their Skype profile. |
"email.accounts.skype.profile_img" |
string or null |
URL to the user’s Skype profile image. |
"email.accounts.skype.city" |
string or null |
The user’s city listed in their Skype profile. |
"email.accounts.skype.state" |
string or null |
The user’s state listed in their Skype profile. |
"email.accounts.skype.country" |
string or null |
The user’s country listed in their Skype profile. |
"email.accounts.skype.country_code" |
string or null |
The user’s country ISO code listed in their Skype profile. |
"email.accounts.skype.language" |
string or null |
The user’s preferred language listed in their Skype profile. |
"email.accounts.skype.onedrive_exists" |
boolean or null |
Indicator if the user has created an OneDrive account. null is returned if unknown. |
"email.accounts.skype.onedrive_created" |
string or null |
A string timestamp for the creation time of this email address or null if unknown |
"email.accounts.skype.gender" |
null |
(Deprecated) Skype no longer provides this information. It will always be null |
"email.accounts.skype.about" |
null |
(Deprecated) Skype no longer provides this information. It will always be null |
"email.accounts.skype.age" |
null |
(Deprecated) Skype no longer provides this information. It will always be null. |
"email.accounts.spotify.registered" |
boolean or null |
Indicator for whether this email address is registered with Spotify (see information on account statuses) |
"email.accounts.twitter.registered" |
boolean or null |
Indicator for whether this email address is registered with Twitter (see information on account statuses) |
"email.accounts.yahoo.registered" |
boolean or null |
Indicator for whether this email address is registered with Yahoo (see information on account statuses) |
"email.accounts.yahoo.temp_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. |
"email.accounts.yahoo.temporary_email" |
boolean or null |
Yahoo provides users with the ability to create multiple temporary email handles. This allows users the ability to keep their original email address hidden. |
"email.domain.hostname" |
string |
The full domain for the email address. This is the domain used to determine all the following information. |
"email.domain.suffix" |
string |
The top-level domain for the email domain (e.g. .com or .co.uk) |
"email.domain.valid" |
boolean |
Whether the top-level domain exists (e.g. domain.issuperawesome is not currently valid) |
"email.domain.exists" |
boolean |
Whether this domain name exists. |
"email.domain.registrar" |
string or null |
The name of the organization that manages this domain name’s registration. |
"email.domain.registered" |
string or null |
A date string (format: YYYY-MM-DD) for the registration date of this domain name (accurate to within 48 hours due to time zone differences). |
"email.domain.updated" |
string or null |
A date string (format: YYYY-MM-DD) for the date this domain name’s registry data was last updated (accurate to within 48 hours due to time zone differences). |
"email.domain.expires" |
string or null |
A date string (format: YYYY-MM-DD) for the date this domain name’s registry data will expire (accurate to within 48 hours due to time zone differences). |
"email.domain.first_seen" |
string or null |
A string timestamp for the first time this domain was checked by ArkOwl by any user (null if never seen before). |
"email.domain.last_seen" |
string or null |
A string timestamp for the most recent time this domain was checked by ArkOwl prior to this query (null if never seen before). |
"email.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. |
"email.domain.registrant.name" |
string or null |
Name of the individual who registered this domain. |
"email.domain.registrant.organization" |
string or null |
Name of the organization who registered this domain. |
"email.domain.registrant.address" |
string or null |
Address of the individual or organization that registered this domain. |
"email.domain.registrant.city" |
string or null |
City of the individual or organization that registered this domain. |
"email.domain.registrant.state" |
string or null |
State of the individual or organization that registered this domain. |
"email.domain.registrant.postal_code" |
string or null |
Postal code of the individual or organization that registered this domain. |
"email.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") |
"email.domain.registrant.email" |
string or null |
Email address of the individual or organization that registered this domain. |
"email.domain.registrant.phone" |
string or null |
Phone number of the individual or organization that registered this domain. |
"email.domain.registrant.fax" |
string or null |
Fax number of the individual or organization that registered this domain. |
"email.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. |
"email.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. |
"email.domain.domain_description" |
string or null |
A short summary of the domain’s service, features, and distinguishing characteristics. |
"email.domain.parent_company" |
string or null |
The company or organization that owns or operates the domain. |
"email.domain.favicon" |
string or null |
URL of the domain’s favicon. |
"email.domain.bad_activity.*" |
assorted | Keys containing bad activity rolled up across every email address seen at this domain. |
"email.domain.bad_activity.total_reports" |
integer or null |
Number of times email addresses at this domain have been reported as bad actors. |
"email.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. |
"email.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. |
"email.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. |
"email.domain.bad_activity.first_report" |
integer or null |
An integer Unix timestamp for the first time an email address at this domain was reported. |
"email.domain.bad_activity.last_report" |
integer or null |
An integer Unix timestamp for the last time the bad activity for this domain was updated. |
"email.domain.bad_activity.seen_domains" |
integer or null |
Number of subdomains seen under this root domain in reported email addresses. |
"email.domain.bad_activity.unique_handles" |
integer or null |
Number of distinct email addresses ever seen under this root domain in reported activity. |
"email.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). |
"email.domain.bad_activity.error" |
boolean or null |
Indicator if there was an error loading the domain bad activity check. |
"email.bad_activity.*" |
assorted | Keys 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. |
"email.bad_activity.disposable_email" |
boolean or null |
true if this email address is a disposable email. |
"email.bad_activity.blacklisted" |
boolean or null |
true if this email address shows up on the blacklist of bad actor emails. |
"email.bad_activity.reports" |
integer |
Number of times this email address has been reported as a bad actor. |
"email.bad_activity.reports_last_24h" |
integer |
Number of times this email address has been reported as a bad actor in the last 24 hours. |
"email.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. |
"email.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. |
"email.bad_activity.first_report" |
string or null |
A string 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). |
"email.bad_activity.last_report" |
string or null |
A string timestamp for the last time this email has been reported. |
"email.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.- All date fields are returned in the ATOM string representation which cooresponds to the “Date and Time with Offset” ISO 8601 standard. Example:
2021-04-08T00:00:00-05:00.
| Field | Type | Description |
|---|---|---|
"phone.query" |
string |
The verbatim phone number provided in the query. |
"phone.normalized" |
string |
The normalized phone number formatted in the E.164 international standard (e.g. +18005550000). |
"phone.formatted" |
string |
The phone number formatted in a more readable way (e.g. +1 800-555-0000). |
"phone.error" |
boolean |
true if the phone number provided is invalid or formatted incorrectly |
"phone.valid" |
boolean |
true if the phone number is valid, false otherwise |
"phone.exists" |
string |
Whether the phone number exists. One of "yes", "no", or "unverified" |
"phone.first_seen_anywhere" |
string or null |
A string timestamp for the first time this phoen number was seen based on our data sources (null if it cannot be determined). |
"phone.first_seen" |
string or null |
A string timestamp for the first time this phone number was checked by ArkOwl by any user (null if never seen before). |
"phone.last_seen" |
string or null |
A string timestamp for the most recent time this phone number was checked by ArkOwl prior to this query (null if never seen before). |
"phone.times_seen" |
integer or null |
The number of times this phone number has been seen by an ArkOwl query (not including the present query) |
"phone.name" |
string |
The name of the holder of this phone number (caller ID or Skype profile name) |
"phone.region" |
string |
The phone number region (e.g. "US") |
"phone.carrier" |
string |
The phone number’s carrier (e.g. "T-Mobile") |
"phone.linetype" |
string |
The type of line of this phone number (e.g. "landline", "mobile", "VoIP", "unknown") |
"phone.geo_location" |
string |
Location of the phone number (e.g. the area code, state, or other geo-location identifier). |
"phone.timezone" |
string |
Timezone of the phone number’s registered location (e.g. "America/New_York") |
"phone.carrier_original" |
null |
(Deprecated) This data is no longer available and will always be null |
"phone.carrier_ported" |
null |
(Deprecated) This data is no longer available and will always be null |
"phone.data_breaches_error" |
boolean |
Indicator if there was an error loading the data breaches |
"phone.data_breaches.known" |
integer or null |
The number of known data breaches which contained this phone number |
"phone.data_breaches.earliest" |
string or null |
A string timestamp of the earliest known data breach which contained this phone number. |
"phone.data_breaches.latest" |
string or null |
A string timestamp of the most recent known data breach which contained this phone number. |
"phone.data_breaches.error" |
boolean or null |
Indicate for if an error was encounted loading the knew data breaches. |
"phone.domain_registrations.error" |
boolean |
Indicator if there was an error loading the historical domain registrations. |
"phone.domain_registrations.unique_domains_registered" |
integer |
An integer count of the unique domains registered with this phone number. |
"phone.domain_registrations.earliest_domain_registration" |
integer |
An string timestamp for earliest domain registration date. |
"phone.domain_registrations.days_since_earliest_domain_registration" |
integer |
An integer of the number of days since the earliest domain registration (relative to today). |
"phone.domain_registrations.unique_emails_connected" |
integer |
An integer count of the unique phone numbers associated with all domain registrations with this phone number. |
"phone.registered_accounts" |
integer |
The number of detected online accounts associated with this phone number. |
"phone.accounts.skype.registered" |
boolean or null |
Indicator for whether this phone address is registered with Skype (see information on account statuses) |
"phone.accounts.skype.full_name" |
string or null |
The user’s full name as it appears on their Skype profile. |
"phone.accounts.skype.profile_img" |
string or null |
URL to the user’s Skype profile image. |
"phone.accounts.skype.city" |
string or null |
The user’s city listed in their Skype profile. |
"phone.accounts.skype.state" |
string or null |
The user’s state listed in their Skype profile. |
"phone.accounts.skype.country" |
string or null |
The user’s country listed in their Skype profile. |
"phone.accounts.skype.country_code" |
string or null |
The user’s country ISO code listed in their Skype profile. |
"phone.accounts.skype.language" |
string or null |
The user’s preferred language listed in their Skype profile. |
"phone.accounts.skype.onedrive_exists" |
boolean or null |
(Deprecated) Skype no longer provides this information on phone queries. It will always be null. |
"phone.accounts.skype.onedrive_created" |
string or null |
(Deprecated) Skype no longer provides this information on phone queries. It will always be null. |
"phone.accounts.skype.gender" |
null |
(Deprecated) Skype no longer provides this information. It will always be null |
"phone.accounts.skype.about" |
null |
(Deprecated) Skype no longer provides this information. It will always be null |
"phone.accounts.skype.age" |
null |
(Deprecated) Skype no longer provides this information. It will always be null. |
IP Address Response Fields
- Check out this reference for
nulldata types.- IP data is only available when using the
/combinedendpoint.- All date fields are returned in the ATOM string representation which cooresponds to the “Date and Time with Offset” ISO 8601 standard. Example:
2021-04-08T00:00:00-05:00.
| Field | Type | Description |
|---|---|---|
"ip.query" |
string |
The verbatim IP address provided in the query. |
"ip.normalized" |
string |
The IP address as a sanitized string representation. |
"ip.valid" |
boolean |
true if the IP address is valid, false otherwise |
"ip.ipv6" |
boolean |
true if the IP address is an IPv6 address. |
"ip.private" |
boolean |
true if the IP address is a private address |
"ip.reserved" |
boolean |
true if the IP address is a reserved address |
"ip.first_seen" |
string or null |
A string timestamp for the first time this IP address was checked by ArkOwl by any user (null if never seen before). |
"ip.last_seen" |
string or null |
A string timestamp for the most recent time this IP address was checked by ArkOwl prior to this query (null if never seen before). |
"ip.times_seen" |
integer or null |
The number of times this IP address has been seen by an ArkOwl query (not including the present query) |
"ip.organization" |
string or null |
Organization that owns and/or manages this IP address |
"ip.network" |
string or null |
CIDR block this IP address belongs to |
"ip.country" |
string or null |
Country of this IP address |
"ip.country_code" |
string or null |
Country code of this IP address (e.g. "US") |
"ip.city" |
string or null |
City of this IP address |
"ip.state" |
string or null |
State or region of this IP address |
"ip.postal_code" |
string or null |
Postal code of this IP address |
"ip.timezone" |
string or null |
TimeZone of this IP address (e.g. "America/New_York") |
"ip.location" |
string or null |
String representation of the city, state, and country of this IP address (e.g. "Brooklyn Center, Minnesota, United States") |
"ip.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). |
"ip.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.
| Field | Type | Description |
|---|---|---|
"address.query" |
string or null |
This is a combined string of all the address pieces used in the query |
"address.name" |
string or null |
The name provided in the address query. |
"address.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. |
"address.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. |
"address.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. |
"address.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. |
"address.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. |
"address.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)") |
"address.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"). |
"address.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. |
"address.coordinates" |
string or null |
The combined latitude and longitude of the address deteremined by the provided postal code (e.g. "45.052,-93.336"). |
"address.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. |
"address.place_name" |
string or null |
A possible name associated with the given address. |
"address.place_category" |
string or null |
A category for the given address. |
"address.result_type" |
string or null |
The type of result for the given address (this is usually "building"). |
"address.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). |
"address.confidence" |
float or null |
The confidence level of the advanced lookup for the entire given address. Ranges from 0 to 1 |
"address.confidence_city_level" |
float or null |
The confidence level of the advanced lookup for the entire given city. Ranges from 0 to 1 |
"address.confidence_street_level" |
float or null |
The confidence level of the advanced lookup for the entire given street. Ranges from 0 to 1 |
"address.confidence" |
float or null |
The confidence level of the advanced lookup for the entire given address. Ranges from 0 to 1 |
"address.popularity" |
float or null |
The popularity of the given address. This number can exceed 1 |
"address.importance" |
float or null |
The importance of the given address. Ranges from 0 to 1 |
"address.timezone" |
string or null |
The timezone associated with this address (ie. "America/New_York"). |
"address.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.nullwill be returned if there is not enough information to determine a match.
| Field | Type | Description |
|---|---|---|
"meta.email_phone_connection" |
boolean or null |
If a connection between the provided email and phone was found. |
"meta.email_phone_queried_together_first_seen" |
string or null |
A string 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). |
"meta.email_phone_queried_together_last_seen" |
string or null |
A string 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). |
"meta.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). |
"meta.email_phone_number_social_match" |
boolean or null |
If a connection between the provided email and phone was found through social accounts. |
"meta.email_phone_number_of_social_matches" |
number or null |
Number of connections found between the provided email and phone through social accounts. |
"meta.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. |
"meta.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. |
"meta.email_phone_number_of_mfa_matches" |
number or null |
Number of connections found between the provided email and phone through Multi-factor authentication (MFA). |
"meta.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%). |
"meta.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%). |
"meta.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%). |
"meta.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. |
"meta.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. |
"meta.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%). |
"meta.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%). |
"meta.email_phone_country_match" |
boolean or null |
true if the email address and phone number have a same country match. |
"meta.ip_hostname_match" |
boolean or null |
true if the email domain name and internet service provider (ISP) match. |
"meta.ip_phonecarrier_match" |
boolean or null |
true if the phone carrier name and internet service provider (ISP) match. |
"meta.email_ip_country_match" |
boolean or null |
true if the email address and IP address have a same country match. |
"meta.address_email_country_match" |
boolean or null |
true if the email address and physical address have a same country match. |
"meta.phone_ip_country_match" |
boolean or null |
true if the phone number and IP address have a same country match. |
"meta.address_phone_country_match" |
boolean or null |
true if the phone number and physical address have a same country match. |
"meta.address_hostname_match" |
boolean or null |
true if the email domain name and address name (usually a business name) match. |
"meta.address_ip_country_match" |
boolean or null |
true if the IP address and physical address have a same country match. |
"meta.email_phone_timezone_match" |
boolean or null |
true if the email address and phone number have a same TimeZone match. |
"meta.email_ip_timezone_match" |
boolean or null |
true if the email address and IP address have a same TimeZone match. |
"meta.address_email_timezone_match" |
boolean or null |
true if the email address and physical address have a same TimeZone match. |
"meta.phone_ip_timezone_match" |
boolean or null |
true if the phone number and IP address have a same TimeZone match. |
"meta.address_phone_timezone_match" |
boolean or null |
true if the phone number and physical address have a same TimeZone match. |
"meta.address_ip_timezone_match" |
boolean or null |
true if the IP address and physical address have a same TimeZone match. |
"meta.distances.address_min_dist_to_email" |
float or null |
Minimum distance in miles found between the email address and physical address. |
"meta.distances.address_dist_to_ip" |
float or null |
Minimum distance in miles found between the email address and IP address. |
"meta.distances.address_dist_to_phone" |
float or null |
Minimum distance in miles found between the phone number and physcial address. |
"meta.distances.ip_min_dist_to_email" |
float or null |
Minimum distance in miles found between the email address and IP address. |
"meta.distances.ip_dist_to_phone" |
float or null |
Minimum distance in miles found between the phone number and IP address. |
"meta.distances.phone_min_dist_to_email" |
float or null |
Minimum distance in miles found between the phone number and email address. |
"meta.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.- ArkVision fields 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 all the fields will return as
null.- See API v1 ArkVision if more detailed ArkVision data is needed.
| Field | Type | Description |
|---|---|---|
'arkvision.score' |
number or null |
The calculated ArkVision score for this query. |
'arkvision.min_possible' |
number |
The minimum possible score for this Rule Set (which is calculated by the sum of all the negative score effect rules). |
'arkvision.max_possible' |
number |
The maximum possible score for this Rule Set (which is calculated by the sum of all the positive score effect rules). |
'arkvision.rule_set_name' |
string or null |
The name of the ArkVision Rule Set used. |
'arkvision.alert' |
'green', 'yellow', 'red', or null |
The color of the alert triggered for this query. null if no alert was trigger. |
'arkvision.threshold_crossed' |
'green', 'yellow', 'red', or null |
The color of the score threshold crossed for this query. null if no threshold was crossed. |
'arkvision.alert_message' |
string, or null |
The Rule Set message for the alert level that was crossed. null if no alert was trigger. |
'arkvision.highest_triggered_rule_alert_message' |
string or null |
This will be the alert_message for the Rule triggered with the highest level alert. |
Feedback
Let us know if you have any questions or comments about the documentation!