
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
@sharpapi/sharpapi-node-job-description
Advanced tools
SharpAPI.com Node.js SDK for generating job descriptions

SharpAPI Job Description Generator creates comprehensive, professional job descriptions based on position details, requirements, and company information. Perfect for HR departments, recruitment agencies, and job boards.
npm install @sharpapi/sharpapi-node-job-description
Visit SharpAPI.com to get your API key.
const { SharpApiJobDescriptionService, JobDescriptionParameters } = require('@sharpapi/sharpapi-node-job-description');
const apiKey = process.env.SHARP_API_KEY;
const service = new SharpApiJobDescriptionService(apiKey);
const params = new JobDescriptionParameters(
'Senior Software Engineer', // name
'Tech Innovators Inc', // company_name
'5+ years', // minimum_work_experience
"Bachelor's Degree", // minimum_education
'Full-time', // employment_type
['JavaScript', 'Node.js', 'React'], // required_skills
['TypeScript', 'Docker'], // optional_skills
'United States', // country
true, // remote
false, // visa_sponsored
'Professional', // voice_tone
null, // context
'English' // language
);
async function generateJobDescription() {
try {
const statusUrl = await service.generateJobDescription(params);
console.log('Job submitted. Status URL:', statusUrl);
const result = await service.fetchResults(statusUrl);
console.log('Job description:', result.getResultJson());
} catch (error) {
console.error('Error:', error.message);
}
}
generateJobDescription();
generateJobDescription(params: JobDescriptionParameters): Promise<string>Generates a comprehensive job description based on the provided parameters.
Parameters (JobDescriptionParameters):
name (string, required): Job position namecompany_name (string, optional): Company nameminimum_work_experience (string, optional): Required experience (e.g., "3-5 years")minimum_education (string, optional): Required education levelemployment_type (string, optional): Full-time, part-time, contract, etc.required_skills (array, optional): List of required skillsoptional_skills (array, optional): List of nice-to-have skillscountry (string, optional): Job location countryremote (boolean, optional): Whether remote work is allowedvisa_sponsored (boolean, optional): Whether visa sponsorship is availablevoice_tone (string, optional): Tone of the description (e.g., 'Professional', 'Casual')context (string, optional): Additional custom requirementslanguage (string, optional): Output language (default: 'English')Returns:
The API returns a structured job description with three main sections:
{
"data": {
"type": "api_job_result",
"id": "3c4e887a-0dfd-49b6-8edb-9280e468c210",
"attributes": {
"status": "success",
"type": "hr_job_description",
"result": {
"job_position": "Senior PHP Software Engineer",
"company_name": "Apple Inc",
"job_short_description": "We are seeking an experienced Senior PHP Software Engineer to join our dynamic team at Apple Inc. This is a full-time, remote position based in the United Kingdom with visa sponsorship available for qualified candidates.",
"job_requirements": [
"Bachelor's Degree in Computer Science or related field",
"Minimum 5 years of professional PHP development experience",
"Expert knowledge of PHP8 and modern PHP practices",
"Strong experience with Laravel framework",
"Proficiency in MySQL database design and optimization",
"Valid C-class driving license",
"Excellent problem-solving and analytical skills",
"Strong communication skills in English"
],
"job_responsibilities": [
"Design, develop, and maintain complex PHP applications using Laravel framework",
"Write clean, maintainable, and efficient code following best practices",
"Optimize database queries and ensure high performance of MySQL databases",
"Collaborate with cross-functional teams to define and implement new features",
"Participate in code reviews and provide constructive feedback",
"Mentor junior developers and share knowledge with the team",
"Stay updated with the latest PHP and Laravel developments",
"Troubleshoot and resolve technical issues in production environments"
],
"optional_skills": [
"Experience with AWS RDS and AWS Aurora",
"Familiarity with GitFlow workflow",
"Knowledge of microservices architecture",
"Experience with CI/CD pipelines"
]
}
}
}
}
const { SharpApiJobDescriptionService, JobDescriptionParameters } = require('@sharpapi/sharpapi-node-job-description');
const service = new SharpApiJobDescriptionService(process.env.SHARP_API_KEY);
const params = new JobDescriptionParameters(
'Marketing Manager',
'Acme Corp',
'3-5 years',
"Bachelor's Degree in Marketing",
'Full-time',
['Digital Marketing', 'SEO', 'Content Strategy'],
['Google Analytics', 'HubSpot'],
'Canada',
false,
false,
'Professional',
null,
'English'
);
service.generateJobDescription(params)
.then(statusUrl => service.fetchResults(statusUrl))
.then(result => {
const jobDesc = result.getResultJson().result;
console.log('Position:', jobDesc.job_position);
console.log('\nDescription:', jobDesc.job_short_description);
console.log('\nRequirements:');
jobDesc.job_requirements.forEach((req, i) => console.log(`${i + 1}. ${req}`));
})
.catch(error => console.error('Generation failed:', error));
const service = new SharpApiJobDescriptionService(process.env.SHARP_API_KEY);
const positions = [
{ title: 'Frontend Developer', skills: ['React', 'TypeScript', 'CSS'] },
{ title: 'Backend Developer', skills: ['Node.js', 'PostgreSQL', 'Docker'] },
{ title: 'Full Stack Developer', skills: ['JavaScript', 'MongoDB', 'Express'] }
];
async function generateMultipleDescriptions(positions) {
const descriptions = [];
for (const position of positions) {
const params = new JobDescriptionParameters(
position.title,
'TechCorp',
'2+ years',
"Bachelor's Degree",
'Full-time',
position.skills,
[],
'United States',
true,
false,
'Professional',
null,
'English'
);
const statusUrl = await service.generateJobDescription(params);
const result = await service.fetchResults(statusUrl);
descriptions.push(result.getResultJson().result);
}
return descriptions;
}
const allDescriptions = await generateMultipleDescriptions(positions);
console.log(`Generated ${allDescriptions.length} job descriptions`);
const service = new SharpApiJobDescriptionService(process.env.SHARP_API_KEY);
const params = new JobDescriptionParameters(
'DevOps Engineer',
'CloudTech Solutions',
'4+ years',
"Bachelor's in Computer Science",
'Full-time',
['Kubernetes', 'AWS', 'Terraform', 'CI/CD'],
['Prometheus', 'Grafana', 'Helm'],
'Germany',
true,
true,
'Professional',
'Must have experience with financial services industry and German language skills',
'English'
);
const statusUrl = await service.generateJobDescription(params);
const result = await service.fetchResults(statusUrl);
const jobDesc = result.getResultJson().result;
// Format for posting
console.log('='.repeat(60));
console.log(`${jobDesc.job_position} at ${jobDesc.company_name}`);
console.log('='.repeat(60));
console.log('\n' + jobDesc.job_short_description);
console.log('\n**Requirements:**');
jobDesc.job_requirements.forEach(req => console.log(`• ${req}`));
console.log('\n**Responsibilities:**');
jobDesc.job_responsibilities.forEach(resp => console.log(`• ${resp}`));
POST /hr/job_description
For detailed API specifications, refer to:
This project is licensed under the MIT License. See the LICENSE.md file for details.
Powered by SharpAPI - AI-Powered API Workflow Automation
FAQs
SharpAPI.com Node.js SDK for generating job descriptions
We found that @sharpapi/sharpapi-node-job-description demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.