Bijgewerkt 22 april 2026
/api/v1/vacancies/{slug}
curl -X GET \
"https://app.recruitsome.com/api/v1/vacancies/{slug}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://app.recruitsome.com/api/v1/vacancies/{slug}', {
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/vacancies/{slug}');
$data = $response->json();
Vacaturedetails
Haal volledige details op voor een specifieke vacaturepublicatie.
Endpoint
GET /api/v1/vacancies/{slug}
Padparameters
| Parameter | Type | Beschrijving |
|---|---|---|
slug | string | De publicatie-slug (URL-vriendelijke identifier) |
Queryparameters
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
language | string | - | ISO 639-1-taalcode (bijv. nl, en). Stelt de locale in voor vertaalde velden zoals opleidingsniveaus, functietypes en afdelingsnamen. |
include_compensation | boolean | false | Salarisdetails meenemen |
include_media | boolean | true | Headerafbeelding en media-URL's meenemen |
include_company_name | boolean | false | Bedrijfsnaam opnemen in het company_location-object (opt-in vanwege privacy) |
Antwoordvelden
Het detail-endpoint retourneert de volgende structuur:
| Veld | Type | Beschrijving | |
|---|---|---|---|
id | integer | Uniek vacaturepublicatie-ID | |
slug | string | URL-vriendelijke identifier | |
title | string | Vacaturetitel | |
summary | string | Korte beschrijving (HTML) | |
language | string | Taalcode (ISO 639-1) | |
published_at | string | ISO 8601 publicatiedatum | |
ends_at | string\ | null | ISO 8601 vervaldatum |
views_count | integer | Aantal keer bekeken (wordt bij elk verzoek opgehoogd) | |
header_image | object\ | null | Header-afbeelding-URL's in meerdere formaten (Legacy, gekoppeld aan 'default' crop) |
images | object | Overzicht van alle geconfigureerde afbeeldingscrops (gegroepeerd op configuratie-ID) | |
job_description | string | Volledige functiebeschrijving (HTML) | |
job_requirements | string | Functie-eisen (HTML) | |
job_offer | string | Wat het bedrijf biedt (HTML) | |
company_description | string\ | null | Bedrijfsbeschrijving in de taal van de vacature (valt terug op de eerst beschikbare taal) |
location | object\ | null | Locatiegegevens (kantoor-/vestigingslocatie) |
company_location | object\ | null | Bedrijfslocatiegegevens (daadwerkelijke werklocatie, voor uitzendbureaus) |
department | object\ | null | Afdelingsgegevens |
hiring_manager | object\ | null | Informatie over de hiring manager |
education_levels | array | Vereiste opleidingsniveaus | |
job_types | array | Dienstverbandtypen | |
experience_levels | array | Ervarings-/senioriteitsniveaus (bijv. Junior, Medior, Senior, Lead) | |
work_arrangement | object\ | null | Werkmodel: op locatie, hybride of remote |
tags | array | Functiecategorietags (hoofd- en subcategorieën) | |
language_proficiencies | array | Vereiste taalvaardigheden | |
application_url | string | URL om te solliciteren op deze functie | |
metadata | object | Aanvullende vacaturemetadata | |
compensation | object | Beloningsgegevens (alleen wanneer include_compensation=true) |
Objectstructuren
Images Object (Nieuw)
Retourneert een overzicht van alle geconfigureerde afbeeldingscrops. De 'default'-sleutel komt overeen met de legacy header_image-URL.
{
"default": {
"url": "https://...",
"width": 1200,
"height": 675,
"mime_type": "image/jpeg"
},
"narrow_casting": {
"url": "https://...",
"width": 1080,
"height": 1920,
"mime_type": "image/jpeg"
}
}
Header Image Object (Legacy)
{
"small": "https://...",
"medium": "https://...",
"large": "https://...",
"xlarge": "https://...",
"original": "https://..."
}
Location Object
{
"id": 123,
"name": "Amsterdam Office",
"city": "Amsterdam",
"country_code": "NL",
"country_name": "Netherlands"
}
Company Location Object
De werklocatie voor uitzendbureaus. Retourneert null voor niet-uitzendbureau-tenants of wanneer er geen bedrijfslocatie is toegewezen.
{
"id": 789,
"name": "Shell Pernis Refinery",
"city": "Rotterdam",
"country_code": "NL",
"country_name": "Netherlands",
"company_name": "Shell Nederland B.V."
}
Het veld company_name wordt alleen meegestuurd wanneer include_company_name=true wordt meegegeven. Dit is opt-in om te voorkomen dat per ongeluk wordt onthuld voor welk opdrachtgeversbedrijf een uitzendbureau werft.
Department Object
{
"id": 456,
"name": "Engineering Department"
}
Hiring Manager Object
{
"given_name": "John",
"family_name": "Doe",
"full_name": "John Doe",
"job_title": "Engineering Manager",
"email": "[email protected]",
"avatar": {
"small": "https://...",
"medium": "https://...",
"large": "https://...",
"xlarge": "https://...",
"original": "https://..."
}
}
Education Level Object
{
"id": 1,
"name": "Bachelor"
}
Job Type Object
{
"id": 1,
"name": "Full-time"
}
Experience Level Object
{
"id": 3,
"name": "Senior"
}
Mogelijke waarden: Junior, Medior, Senior, Lead. Retourneert een lege array wanneer er geen ervaringsniveau is toegewezen.
Work Arrangement Object
{
"value": "Hybrid remote",
"label": "Hybride"
}
Het veld value bevat de canonieke identifier (on-site, Fully remote, Hybrid remote). Het label is de gelokaliseerde weergavenaam (respecteert de language queryparameter).
Tag Object
{
"id": 5,
"name": "Software Engineer",
"type": "sub",
"parent_id": 1
}
Het veld type geeft aan of de tag een main-categorie of een sub-categorie is. Hoofdtags hebben parent_id: null.
Language Proficiency Object
{
"language_code": "en",
"speaking_level": "Professional",
"reading_level": "Professional",
"writing_level": "Professional"
}
Metadata Object
{
"status": "active"
}
Compensation Object (wanneer include_compensation=true)
Het compensation-object bevat informatie over salaris, uren en vakantiedagen. De gegevens worden bepaald via een prioriteitsketen:
- Salaris: uit de eigen velden van de vacature (salary_min_cents, salary_max_cents)
- Uren: uit de eigen velden van de vacature, met terugval op de gekoppelde arbeidsvoorwaarden (CompanyRemuneration) en vervolgens de bedrijfsstandaarden
- Vakantiedagen: uit de gekoppelde arbeidsvoorwaarden (CompanyRemuneration), met terugval op de bedrijfsstandaarden
{
"salary": {
"min": 3500,
"max": 5000,
"currency": "EUR",
"period": "monthly"
},
"hours": {
"min_per_week": 32,
"max_per_week": 40
},
"holidays": {
"total_days": 38,
"breakdown": {
"statutory": 20,
"non_statutory": 5,
"adv": 13
}
}
}
Elke sectie wordt weggelaten wanneer er geen gegevens beschikbaar zijn. Een vacature zonder ingesteld salaris bevat bijvoorbeeld geen salary-sleutel in het compensation-object.
Het compensation-object bevat uitsluitend salaris, uren en vakantiedagen. Secundaire arbeidsvoorwaarden zoals pensioen, vakantiegeld, dertiende maand, reiskostenvergoeding, thuiswerkvergoeding en overige arbeidsvoorwaarden worden niet via de API ontsloten.
Voorbeeldverzoek
Basisverzoek
curl -X GET https://api.example.com/api/v1/vacancies/senior-developer-position \
-H "Authorization: Bearer YOUR_API_TOKEN"
Met taal (Nederlands)
curl -X GET "https://api.example.com/api/v1/vacancies/senior-developer-position?language=nl" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Met compensatie
curl -X GET "https://api.example.com/api/v1/vacancies/senior-developer-position?include_compensation=true&language=nl" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Voorbeeldrespons
Zonder compensatie
{
"data": {
"id": 123,
"slug": "senior-developer-position",
"title": "Senior Software Developer",
"summary": "Join our team to build innovative solutions...",
"language": "en",
"published_at": "2024-01-15T09:00:00+00:00",
"ends_at": "2024-02-15T23:59:59+00:00",
"views_count": 42,
"header_image": {
"small": "https://cdn.example.com/images/header-small.jpg",
"medium": "https://cdn.example.com/images/header-medium.jpg",
"large": "https://cdn.example.com/images/header-large.jpg",
"xlarge": "https://cdn.example.com/images/header-xlarge.jpg",
"original": "https://cdn.example.com/images/header.jpg"
},
"images": {
"default": {
"url": "https://cdn.example.com/images/header-large.jpg",
"width": 1200,
"height": 675,
"mime_type": "image/jpeg"
}
},
"job_description": "<h2>About the Role</h2><p>We are looking for a Senior Software Developer...</p>",
"job_requirements": "<h2>Requirements</h2><ul><li>5+ years experience</li><li>PHP expertise</li></ul>",
"job_offer": "<h2>What We Offer</h2><ul><li>Competitive salary</li><li>Great benefits</li></ul>",
"company_description": "<p>We are a leading technology company focused on innovative solutions...</p>",
"location": {
"id": 1,
"name": "Amsterdam Office",
"city": "Amsterdam",
"country_code": "NL",
"country_name": "Netherlands"
},
"company_location": null,
"department": {
"id": 5,
"name": "Engineering"
},
"hiring_manager": {
"given_name": "John",
"family_name": "Doe",
"full_name": "John Doe",
"job_title": "Engineering Manager",
"email": "[email protected]",
"avatar": null
},
"education_levels": [
{
"id": 1,
"name": "Bachelor"
},
{
"id": 2,
"name": "Master"
}
],
"job_types": [
{
"id": 1,
"name": "Full-time"
}
],
"experience_levels": [
{
"id": 3,
"name": "Senior"
}
],
"work_arrangement": {
"value": "Hybrid remote",
"label": "Hybrid"
},
"tags": [
{
"id": 1,
"name": "Engineering",
"type": "main",
"parent_id": null
},
{
"id": 5,
"name": "Software Engineer",
"type": "sub",
"parent_id": 1
}
],
"language_proficiencies": [
{
"language_code": "en",
"speaking_level": "Professional",
"reading_level": "Professional",
"writing_level": "Professional"
}
],
"application_url": "https://careers.example.com/senior-developer-position",
"metadata": {
"status": "active"
}
}
}
Met compensatie
De respons bevat alle bovenstaande velden, plus een compensation-object met de structuur zoals beschreven in de sectie Compensatie-object.
Opmerkingen
- De
views_countwordt bij elk verzoek naar dit endpoint opgehoogd - Het veld
header_imagewordt standaard meegeleverd (stelinclude_media=falsein om het uit te sluiten) - Kernrelatievelden (
location,company_location,department,hiring_manager) worden altijd meegeleverd, ook wanneer zenullzijn - Het veld
compensationwordt alleen meegeleverd wanneerinclude_compensation=trueis opgegeven - Arrays voor opleidingsniveaus, dienstverbandtypes en tags kunnen leeg zijn als er geen zijn opgegeven
- Salarisbedragen zijn in de basisvaluta-eenheid (bijv. 3500 = €3.500)
- Compensatie maakt gebruik van een prioriteitsketen: vacaturevelden → arbeidsvoorwaarden (CompanyRemuneration) → bedrijfsstandaarden
- Lege compensatiesecties (salaris, uren, vakantiedagen) worden weggelaten uit de response
Lokalisatie
Wanneer de parameter language wordt meegegeven, worden de volgende velden in de opgegeven taal geretourneerd:
education_levels[].name- Vertaalde namen van opleidingsniveaus (bijv. "Middelbaar onderwijs" voor Nederlands)job_types[].name- Vertaalde namen van dienstverbandtypes (bijv. "Voltijd" voor Nederlands)department.name- Afdelingsnaam (indien vertalingen beschikbaar zijn)
Als er geen language-parameter wordt meegegeven, retourneert de API waarden in de standaardtaal van de applicatie.