Journalists
Search journalists using broad search attributes. Our database contains over 230,000 journalists from around the world and is refreshed frequently.
Query parameters
String Array. Filter by unique journalist identifiers. Multiple values create an OR filter to find journalists matching any of the specified IDs.
String. Primary search query for filtering journalists based on their name, title, and Twitter bio. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
String. Search specifically within journalist names. Supports Boolean operators (AND, OR, NOT), exact phrases with quotes, and wildcards (* and ?) for flexible searching.
String. Filter journalists by their exact Twitter handle, without the @ symbol.
Integer. The number of journalists to return per page in the paginated response.
Integer. The specific page of results to retrieve in the paginated response. Starts at 0.
String Array. Filter journalists by the publisher domains they write for. Supports wildcards (* and ?) for pattern matching (e.g., *.cnn.com). Multiple values create an OR filter.
String Array. Filter journalists by the top topics they cover. Topics are more specific themes that the article is about. Examples of topics: 'Economy', 'Real Estate', 'Cryptocurrency'. If multiple parameters are passed, they will be applied as OR operations. (Searches inside the topCategories data field.)
String Array. Filter journalists by the top categories they cover. Categories are general themes that the article is about. Examples of categories: Tech, Politics, etc. If multiple parameters are passed, they will be applied as OR operations. (Searches inside the topCategories data field.)
String Array. Filter journalists by the most common label tagged to the articles they publish. This accepts labels like 'Opinion' or 'Pop Culture'. (Searches the topLabels data field.)
Integer. Filter for journalists who publish at least this many articles per month. Used to identify more active journalists.
Integer. Filter for journalists who publish no more than this many articles per month.
String Array. Filter journalists by countries they commonly cover in their reporting. Uses ISO 3166-1 alpha-2 two-letter country codes in lowercase (e.g., us, gb, jp). Multiple values create an OR filter.
Date. Filter for journalist profiles updated on or after this date. Accepts ISO 8601 format (e.g., 2023-03-01T00:00:00) or yyyy-mm-dd format.
Date. Filter for journalist profiles updated on or before this date. Accepts ISO 8601 format (e.g., 2023-03-01T23:59:59) or yyyy-mm-dd format.
Boolean. Controls whether to return the exact result count. When false (default), counts are capped at 10,000 for performance reasons. Set to true for precise counts in smaller result sets.
Response
200 - Success
Example response
{
"status": 200,
"numResults": 10000,
"results": [
{
"id": "dd9518041aa146e8bb46bedd30a5d985",
"name": "Matt Levine",
"fullName": "Matt Levine",
"headline": "Columnist at Bloomberg Opinion",
"description": "I do not read or respond to LinkedIn messages.",
"title": "Columnist",
"locations": [],
"updatedAt": "2025-08-03T05:58:29.174946+00:00",
"topTopics": [
{
"name": "NHL",
"count": 629
},
{
"name": "NBA",
"count": 599
},
{
"name": "Basketball",
"count": 432
},
{
"name": "Sports Figures",
"count": 300
},
{
"name": "Hockey",
"count": 165
},
{
"name": "Edmonton Oilers",
"count": 140
},
{
"name": "Los Angeles Lakers",
"count": 120
},
{
"name": "New York Knicks",
"count": 54
},
{
"name": "Stanley Cup",
"count": 53
},
{
"name": "MLB",
"count": 50
}
],
"topSources": [
{
"name": "yardbarker.com",
"count": 411
},
{
"name": "athlonsports.com",
"count": 395
},
{
"name": "sports.yahoo.com",
"count": 189
},
{
"name": "newsweek.com",
"count": 188
},
{
"name": "twsn.net",
"count": 185
},
{
"name": "si.com",
"count": 174
},
{
"name": "wenatcheeworld.com",
"count": 63
},
{
"name": "bloomberg.com",
"count": 50
},
{
"name": "news.bloomberglaw.com",
"count": 50
},
{
"name": "dodgersnation.com",
"count": 4
}
],
"topCategories": [
{
"name": "Sports",
"count": 1530
},
{
"name": "Finance",
"count": 30
},
{
"name": "Tech",
"count": 11
},
{
"name": "Entertainment",
"count": 10
},
{
"name": "Politics",
"count": 9
},
{
"name": "Business",
"count": 6
},
{
"name": "Auto",
"count": 3
},
{
"name": "Health",
"count": 3
},
{
"name": "General",
"count": 2
},
{
"name": "Lifestyle",
"count": 1
}
],
"topLabels": [
{
"name": "Non-news",
"count": 447
},
{
"name": "Low Content",
"count": 67
},
{
"name": "Opinion",
"count": 53
},
{
"name": "Roundup",
"count": 3
},
{
"name": "Pop Culture",
"count": 2
}
],
"topCountries": [
{
"name": "us",
"count": 1550
},
{
"name": "si",
"count": 162
}
],
"avgMonthlyPosts": 570,
"twitterHandle": "matt_levine",
"twitterBio": "lunch valuation analyst",
"imageUrl": "https://journalists-api-assets.s3.amazonaws.com/images/dd9518041aa146e8bb46bedd30a5d985.jpg",
"linkedinUrl": "https://linkedin.com/in/mattlevine2",
"linkedinConnections": 1291,
"linkedinFollowers": 10197,
"facebookUrl": "https://www.facebook.com/mslevine",
"instagramUrl": "https://www.instagram.com/matt_levine_51/",
"websiteUrl": "https://t.co/QdrnCc9VfL",
"blogUrl": null,
"tumblrUrl": "http://itsathingandyoucandoit.tumblr.com",
"youtubeUrl": null
}
]
}