careerlm
v1.0.2
Published
Official JavaScript SDK for the CareerLM API — world's first career intelligence API
Maintainers
Readme
CareerLM JavaScript / TypeScript SDK
Official client for the CareerLM API — world's first career intelligence API.
Install
npm install careerlmQuickstart
const { CareerLM } = require('careerlm');
// or: import { CareerLM } from 'careerlm';
const client = new CareerLM('csk_live_v1_your_key_here');
const score = await client.cv.score(cvText, jobDescription);
console.log(score.ats_score); // 87
console.log(score.grade); // "B+"What you can do
| Method | Description |
|---|---|
| client.cv.score(cvText, jobDescription) | Score a CV against a job description |
| client.cv.optimise(cvText, jobDescription) | Rewrite and optimise a CV for a target role |
| client.salary.benchmark(role, country) | Salary benchmarking across 196 countries, PPP-adjusted |
| client.coverLetter.generate(cvText, jobDescription, { mode }) | Generate a cover letter in one of 15 professional modes |
| client.job.match(candidate, job) | Score how well a candidate matches a job |
| client.interview.questions(role) | Tailored interview questions with model answers |
| client.skills.gap(currentSkills, targetRole) | Skill-gap analysis with learning ROI and timeline |
| client.chat.completions.create({ messages }) | OpenAI-compatible career chat completions |
| client.context.save(profile) / .get(id) / .delete(id) | Persistent career context across calls |
Example: salary benchmark
const salary = await client.salary.benchmark('Data Engineer', 'NG', { city: 'Lagos', currency: 'NGN' });
console.log(salary.salary_range.median); // 6800000Errors
All errors throw CareerLMError (message, code, status).
const { CareerLM, CareerLMError } = require('careerlm');
try {
await client.cv.score(cvText, jobDescription);
} catch (e) {
if (e instanceof CareerLMError) console.error(e.code, e.status, e.message);
}Full endpoint reference: careerstudiomax.com/api/docs
