Désolé, une erreur s'est produite et le serveur n'a pas pu traiter votre demande pour le moment. Réessayez dans quelques minutes.
Sur la page d'accueil Pour commencer Exemple Testez API

Essayez Jooble REST API

Si vous êtes le webmaster d'un portail Web ou d'un moteur de recherche, Jooble vous offre la possibilité d'étendre les fonctionnalités de votre site.

Nous avons spécialement développé REST API pour cela. Avec ce service vous pouvez publier des offres sur votre site avec votre design. Grâce à ce mécanisme vous donnez la possibilité à vos utilisateurs de chercher un emploi sur Internet.

Comment il fonctionne ?

Pour commencer à travailler avec Jooble API REST veuillez remplir le formulaire suivant. C'est nécessaire pour recevoir la clé.

Nous nous réjouissons de notre coopération

Nom*
Poste*
Site *
Téléphone*
Email*

Merci pour votre collaboration!

Aller à la page principale

Exemples d'intégration

Utilisez n'importe quel code à votre convenance. Il suffit de montrer cette partie à votre programmeur.

Сhoisissez les options

JSON
C# (.NET 4 or later)
Javascript
Php
Python 2.7
Python 3.5
Ruby

Pour utiliser REST API vous devez envoyer une requête HTTP POST à https://be.jooble.org/api/<API KEY>

Exemple d'une requête JSON:
 {
		"keywords": "account manager",
		"location": "London",
		"radius": "40",
		"salary": "8000",
		"page": "1"
 }

Description
keywords - (obligatoirement) – les mots-clés pour la recherche
location - nom de ville pour la recherche
radius - rayon de recherche (0, 8, 16, 24, 40) kilomètres
salary - salaire. 20000 - 8000 (€)
page - numéro de la page 
searchMode - mode de recherche
	1 - Afficher les offres d'emploi recommandées + *JDP (L'aperçu de la description complète des offres de Jooble améliore l'expérience de l'interaction des utilisateurs sur votre site)
	2 - Afficher les offres d'emploi recommandées
	3 - Afficher toutes les offres d'emploi (est à déconseiller)

Exemple de la réponse JSON:
{
	"totalCount":651,

	"jobs": [
		"job": {
			"title": "Account manager",
			"location": "London",
			"snippet": "... are looking for account manager in London, greate opportunity to ...",
			"salary": "8000 €",
			"source": "barclays.co.uk",
"type": "Tout",
			"link": "https://be.jooble.org/away/...",
			"company": "Jooble",
			"id": 8240559805230395300,
			"updated": "2016-05-26T10:51:51.4720673+03:00"
		},
		"job": ...
	]
}

Description des champs de la réponse 
 totalCount - Nombre total de résultats selon la requête

Structure "job"
title - poste
location - nom de ville pour la recherche
snippet - une petite partie de la description 
salary - salaire
source - site-source
type - Type d'offre d’emploi (Tout, Temps plein, Intérimaire, Temps partiel, Stage, null)
link - lien vers une offre d'emploi
updated - La date de publication des offres d'emploi sur le site (format: ISO8601)

Quand vous faites une requête nous montrons toujours le nombre total de résultats mais les résultats eux-memes s’affichent par 20 offres d’emploi par page.
var url = "https://be.jooble.org/api/";
var key = "<YOUR_API_KEY>";

//create request object
WebRequest request = HttpWebRequest.Create(url + key);
//set http method
request.Method = "POST";
//set content type
request.ContentType = "application/x-www-form-urlencoded";
//create request writer
var writer = new StreamWriter(request.GetRequestStream());
//write request body
writer.Write("{ keywords: 'it', location: 'Bern'}");
//close writer
writer.Close();
//get response reader
var response = request.GetResponse();
var reader = new StreamReader(response.GetResponseStream());
//read response
while (!reader.EndOfStream)
{
    Console.WriteLine(reader.ReadLine());
}    
var url = "https://be.jooble.org/api/";
var key = "<YOUR_API_KEY>";
var params = "{ keywords: 'it', location: 'Bern'}"

//create xmlHttpRequest object
var http = new XMLHttpRequest();
//open connection. true - asynchronous, false - synchronous
http.open("POST", url + key, true);

//Send the proper header information
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	
//Callback when the state changes
http.onreadystatechange = function() {
	if(http.readyState == 4 && http.status == 200) {
		alert(http.responseText);
	}
}
//Send request to the server
http.send(params);
<?php
$url = "https://be.jooble.org/api/";
$key = "<YOUR_API_KEY>";

//create request object
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url."".$key);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{ "keywords": "it", "location": "Bern"}');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));

// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);
curl_close ($ch);

//print response
print_r($server_output);

?>
import httplib

host = 'be.jooble.org'
key = '<YOUR_API_KEY>'

connection = httplib.HTTPConnection(host)
#request headers
headers = {"Content-type": "application/x-www-form-urlencoded"}
#json query
body = '{ "keywords": "it", "location": "Bern"}'
connection.request('POST','/api/' + key, body, headers)
response = connection.getresponse()
print(response.status, response.reason)
print(response.read())
import http.client

host = 'be.jooble.org'
key = '<YOUR_API_KEY>'

connection = http.client.HTTPConnection(host)
#request headers
headers = {"Content-type": "application/x-www-form-urlencoded"}
#json query
body = '{ "keywords": "it", "location": "Bern"}'
connection.request('POST','/api/' + key, body, headers)
response = connection.getresponse()
print(response.status, response.reason)
print(response.read())
require 'net/http'
url = 'https://be.jooble.org/api/'
key = '<YOUR_API_KEY>'
#create uri for request
uri = URI.parse(url + key)
#prepare post data
post_args = {
	'content' => "{ keywords: 'it', location: 'Bern'}"
}
#send request to the server
resp, data = Net::HTTP.post_form(uri, post_args)