Create a complete job posting on LinkedIn with customizable fields, including job title, description, location, and screening questions. The job will be created in draft state.
This endpoint costs 5 credits per job posting.
Body Parameters
LinkedIn authentication cookie obtained from the login/verify process
Job title (e.g., “Senior Software Engineer”)
Job location (e.g., “Paris, France”)
Job description in HTML format. Supports basic HTML formatting (bold, lists, paragraphs)
employment_status
string
default:"FULL_TIME"
Employment type. Options: FULL_TIME, PART_TIME, CONTRACT, TEMPORARY, VOLUNTEER, INTERNSHIP
Workplace type. Options: “1” (on-site), “2” (remote), “3” (hybrid)
List of skills required for the job (e.g., [“Python”, “Django”])
List of screening question objects. Each object in this array should contain the properties described below.
Template message for automatic rejections
Contact email for the job posting
Country code for proxy selection. Available: (US, UK, FR)
Screening Question Object Properties
Each object in the screening_questions
array should have the following properties:
Template message for automatic rejections
Contact email for the job posting
Country code for proxy selection. Available: (US, UK, FR)
Response
Request status (success/error/partial_success)
Response data container (on success)
LinkedIn job posting ID that can be used for other operations
data.screening_questions_added
Whether screening questions were successfully added
Additional error details (in case of error)
{
"status": "success",
"message": "Job posting created successfully",
"data": {
"job_posting_id": "4219038884",
"screening_questions_added": true
}
}
{
"status": "error",
"message": "Impossible de récupérer les informations de l'entreprise"
}
{
"status": "partial_success",
"message": "Offre créée mais erreur lors de l'ajout des questions: 400",
"job_posting_id": "4219038884",
"details": "Invalid question format"
}
Predefined Screening Question Types
You can use the following predefined question types in your screening_questions
array:
Yes/No Questions
WORK_AUTHORIZATION
: Verify if candidates are authorized to work
URGENT_HIRING
: Indicate urgent hiring needs
REMOTE_WORK
: Confirm if candidate can work remotely
HYBRID_WORK
: Confirm if candidate can work in hybrid mode
ONSITE_WORK
: Confirm if candidate can work on-site
DRUG_SCREENING
: Verify willingness to undergo drug screening
DRIVERS_LICENSE
: Verify if candidate has a driver’s license
BACKGROUND_CHECK
: Verify willingness to undergo background checks
VISA_STATUS
: Verify visa status
Numerical Questions
Education & Language
EDUCATION
: Education level (requires parameterValue
with education level)
LANGUAGE
: Language proficiency (requires parameterValue
with language name and optional languageLevel
)
Location
LOCATION
: Location preference (requires parameterValue
)
Example - Creating a Job with Custom Questions
Here’s a complete example of creating a job with both custom and predefined questions:
{
"login_token": "AQEDATQBr-0K3AA...",
"company_url": "https://www.linkedin.com/company/acme-corporation/",
"title": "Senior Software Developer",
"place": "Paris, France",
"html_description": "<p>We are seeking a <strong>talented developer</strong> to join our team.</p><ul><li>5+ years of experience with Python</li><li>Experience with cloud technologies</li><li>Strong problem-solving skills</li></ul>",
"employment_status": "FULL_TIME",
"workplace": "3",
"contact_email": "[email protected]",
"country": "FR",
"skills": ["Python", "Django", "AWS"],
"screening_questions": [
{
"type": "CUSTOM_QUESTION",
"questionText": "Are you comfortable with at least weekly travel to client sites?",
"format": "MULTIPLE_CHOICE",
"required": True
},
{
"type": "PROFESSIONAL_EXPERIENCE",
"parameterValue": "Python development",
"parameterDisplayText": "Python development",
"required": True,
"experienceYears": 3
},
{
"type": "LANGUAGE",
"parameterValue": "fr",
"parameterDisplayText": "French",
"languageLevel": "Professional"
},
{
"type": "SKILL_COMPETENCE",
"parameterValue": "Docker",
"parameterDisplayText": "Docker",
"favorableFloor": 2
},
{
"type": "EDUCATION",
"parameterValue": "BTS, DUT (ou diplôme de niveau Bac+2)",
"parameterDisplayText": "BTS, DUT (ou diplôme de niveau Bac+2)",
"required": true
},
{
"type": "DRUG_SCREENING",
"required": True
},
{
"type": "WORK_AUTHORIZATION",
"required": True
},
{
"type": "URGENT_HIRING",
"required": True
},
],
"auto_rejection_template": "Thank you for your interest in our position. After careful consideration, we've decided to pursue other candidates whose qualifications better match our current needs."
}