Skip to main content

List Articles

NL EN

Updated April 22, 2026

GET /api/v1/articles
curl -X GET \
  "https://app.recruitsome.com/api/v1/articles" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://app.recruitsome.com/api/v1/articles', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Accept': 'application/json',
  },
});

const data = await response.json();
console.log(data);
use Illuminate\Support\Facades\Http;

$response = Http::withToken('YOUR_API_KEY')
    ->acceptJson()
    ->get('https://app.recruitsome.com/api/v1/articles');

$data = $response->json();

List Articles

Retrieve a paginated list of published articles available on the website channel.

Endpoint

GET /api/v1/articles

Query Parameters

ParameterTypeDefaultDescription
pageinteger1Page number for pagination
per_pageinteger20Items per page (max: 100)
languagestring-ISO 639-1 language code (e.g., nl, en). Filters articles that have content in this language and sets the response locale.
typestring-Filter by article type: news, company_update, event, blog_post
searchstring-Search in title and excerpt (case-insensitive)
tags[]array-Filter by tag IDs (main tags cascade to include sub-tags)
is_featuredboolean-Filter featured articles only
sortstringpublished_atSort field: published_at, title, created_at, views_count
sort_directionstringdescSort direction: asc or desc
include_mediabooleanfalseInclude featured image URLs

Response Fields

FieldTypeDescription
idintegerUnique article ID
slugstringURL-friendly identifier
typestringArticle type: news, company_update, event, blog_post
titlestringArticle title
excerptstring\nullBrief summary/teaser text
languagestringLanguage code of the returned content
published_atstringISO 8601 publication date
expires_atstring\nullISO 8601 expiration date
views_countintegerNumber of times viewed
is_featuredbooleanWhether the article is featured
estimated_reading_timeintegerEstimated reading time in minutes
featured_imageobject\nullFeatured image URLs (only when include_media=true)
tagsarrayArticle tags
authorobject\nullArticle author information
available_languagesarrayList of available language codes
metadataobjectAdditional article metadata

Featured Image Object

{

"original": "https://cdn.example.com/images/article-original.jpg",

"thumb": "https://cdn.example.com/images/article-thumb.jpg",

"medium": "https://cdn.example.com/images/article-medium.jpg"

}

Tag Object

{

"id": 5,

"name": "Company Culture",

"type": "sub",

"parent_id": 1

}

Author Object

{

"given_name": "Jane",

"family_name": "Smith",

"full_name": "Jane Smith",

"avatar": null

}

Metadata Object

{

"type_label": "News",

"channels": ["website", "employee_self_service"]

}

Possible channel values: website, employee_self_service, approver_self_service.

Example Request

curl -X GET "https://app.recruitsome.com/api/v1/articles?language=nl&type=news&include_media=true" \

-H "Authorization: Bearer YOUR_API_KEY" \

-H "Accept: application/json"

Example Response

{

"data": [

{

"id": 1,

"slug": "welkom-bij-ons-team-nl",

"type": "news",

"title": "Welkom bij ons team",

"excerpt": "Een warm welkom aan onze nieuwe collega's die deze maand zijn gestart.",

"language": "nl",

"published_at": "2026-02-01T09:00:00+00:00",

"expires_at": null,

"views_count": 150,

"is_featured": true,

"estimated_reading_time": 3,

"featured_image": {

"original": "https://cdn.example.com/images/welcome.jpg",

"thumb": "https://cdn.example.com/images/welcome-thumb.jpg",

"medium": "https://cdn.example.com/images/welcome-medium.jpg"

},

"tags": [

{

"id": 1,

"name": "Bedrijfsnieuws",

"type": "main",

"parent_id": null

}

],

"author": {

"given_name": "Jane",

"family_name": "Smith",

"full_name": "Jane Smith",

"avatar": null

},

"available_languages": ["nl", "en"],

"metadata": {

"type_label": "Nieuws",

"channels": ["website", "employee_self_service"]

}

}

],

"links": {

"first": "...?page=1",

"last": "...?page=1",

"prev": null,

"next": null

},

"meta": {

"current_page": 1,

"from": 1,

"last_page": 1,

"per_page": 20,

"to": 1,

"total": 1

}

}

Notes

  • Only articles with status published, channel website, and valid date range are returned
  • Scheduled articles (with publish_at in the future) are excluded
  • Expired articles (with expires_at in the past) are excluded
  • Soft-deleted articles are automatically excluded
  • The search parameter performs case-insensitive matching across title and excerpt
  • Main tags in the tags[] filter automatically include their sub-tags