Legitimate Universal Bio API
Version 1.0
Last updated
Version 1.0
Last updated
This API allows users to verify articles and domains; extracting information about them. The main endpoint is:
'https://www.legitimate.net/api/verify_article'
- Verifies an article and retrieves detailed information about it.
More endpoints will be launching in the coming weeks.
To be able to make API calls you need to have a Legitimate profile. After creating a Legitimate profile visit https://www.legitimate.net/apis.html (available in the footer) where you can sign up for an API account.
Once you sign up for an account your API credentials will be available in your settings area under "API Settings" tab.
To authenticate your call you need to use a Bearer Token made up from your API key and secret.
POST
https://www.legitimate.io/api/verify_article
Name | Type | Description |
---|---|---|
url | string | The url of the article or post you wish to verify |
Name | Type | Description |
---|---|---|
Authentication | Bearer Token | Authentication is based on a bearer token comprised of your API key and API secret separated with a colon. |
Field Name | Description | Example | Type |
---|---|---|---|
verified | Indicates if the profile is verified | true | boolean |
type | The "type" field can help you determine the way to handle the response. There are 4 main response types: Article Verified, Domain Verified Plus, Domain Verified, Unverified. | Unverified | String |
profile_first_name | First name of the profile owner | Gerard | string |
profile_last_name | Last name of the profile owner | Donnelly | string |
profile_title | Title of the profile owner | Founder | string |
profile_created_at | Timestamp when the profile was created | 2020-04-08T19:52:31.704Z | string (ISO 8601 datetime) |
profile_bio | Biography of the profile owner | I am passionate about journalism and the fight against disinformation... | string |
profile_employer | Employer of the profile owner | Legitimate | string |
profile_residing | Places where the profile owner resides | Belfast, London | string |
profile_slug | Unique identifier for the profile | gerard-donnelly | string |
profile_image | URL to the profile image | https://www.legitimate.net/.../Screenshot%202022-07-29%20at%2019.29.49.png | string (URL) |
profile_social_profiles | Social media profiles of the profile owner | { "twitter": "gdonnelly82", "linkedin": "gerard-donnelly", "instagram": "gdonnelly82" } | object |
user_location | Location of the user | United Kingdom | string |
user_city | City of the user | Belfast | string |
follower_count | Number of followers | 11 | integer |
article_count | Number of articles written by the profile owner | 18 | integer |
awards | Awards received by the profile owner | "" | string |
memberships | Memberships of the profile owner | "" | string |
articles | List of articles written by the profile owner | [ {...}, {...}, {...} ] | array of objects |
domain_info | Information about the domain | {} | object |
For the nested articles
array, each object within it has the following fields:
Field Name | Description | Example | Type |
---|---|---|---|
id | Unique identifier for the article | 1747781 | integer |
title | Title of the article | The role of Local News in countering misinformation | string |
description | Description of the article | Local newspapers are crucial in combating misinformation by providing verified... | string |
link | URL to the article | https://blog.legitimate.net/.../the-role-of-local-news-in-countering-misinformation/ | string (URL) |
og_image | URL to the Open Graph image for the article | https://blog.legitimate.net/.../local-news-misinformation.jpg | string (URL) |
icon_path | URL to the icon image for the article | string (URL) | |
published_at | Timestamp when the article was published | 2024-04-23T23:47:00.000Z | string (ISO 8601 datetime) |
tag_list | List of tags associated with the article | [ "Legitimate" ] | array of strings |
For the nested domain_info
object, the table is as follows:
Field Name | Description | Example | Type |
---|---|---|---|
publication_name | Name of the publication | Advocate Media - Dallas | string |
domain | The domain name | advocatemag.com | string |
description | Description of the publication. This is a max of 200 characters. | A local publication delivering neighborhood news, culture, and events... | string |
year_founded | Year the publication was founded | 1991 | integer |
bodies_associations | List of associations and bodies the domain is part of | [ { "accrnym": "LION", "name": "Local Independent Online Media", ... }, { "accrnym": "INN", ... } ] | array of objects |
publisher | Publisher of the publication | null | null |
publisher_description | Description of the publisher. This is a max of 200 characters. | null | null |
country | Country where the publication is based | USA | string |
city | City where the publication is based | Dallas | string |
state | State where the publication is based | TX | string |
logo_path | URL to the logo image of the publication | string (URL) | |
registration_data | Information about the domain registration | { "registrant_name": "REDACTED FOR PRIVACY", "registrant_country": "UNITED STATES", ... } | object |
For the nested bodies_associations
array within domain_info
, each object has the following fields:
Field Name | Description | Example | Type |
---|---|---|---|
acronym | Acronym of the body or association | LION | string |
name | Name of the body or association | Local Independent Online Media | string |
description | Description of the body or association. This is a max of 200 characters. | Lion provides great stuff | string |
profile_image_url | URL to the profile image of the body or association | string (URL) |
For the nested registration_data
object within domain_info
, the table is as follows:
Field Name | Description | Example | Type |
---|---|---|---|
registrant_name | Name of the domain registrant | REDACTED FOR PRIVACY | string |
registrant_country | Country of the domain registrant | UNITED STATES | string |
registrar_company | Registrar company of the domain | ENOM, INC. | string |
domain_created | Date when the domain was created | 1996-07-29 | string (ISO date) |
domain_updated | Date when the domain was last updated | 2023-07-23 | string (ISO date) |
Always try to include https:// or http:// in the query string.
The "type" field can help you determine what way to handle the response.
There are 4 main response types:
Article Verified: The article and author are verified.
Domain Verified Plus: The article is not verified but the domain is verified and additional information is supplied such as other journalists (up to 3) that write for that publication and the latest articles (3).
Domain Verified: The article is not verified but we can verify the domain and provide domain information.
Unverified: Both the article and the domain are not verified. We will then supply additional context and details regarding the domain.
When an article is verified a design similar to the image above could be created to represent the article's author. Additional domain information will also be sent if you wanted to display that as well.
This is an example of what is possible using the Domain Verified Plus response data.
An example of using the Domain Verified response. For the associations sub section. The API will supply the image, acronym, full name and description. In the example above we have shown the logos however you could add hover effects to show more information from the API.
See the sub section code below:
This is an example of what could be displayed using the unverified response.