/jobs has 25 endpoints, and the three you actually need for a basic job board are /search, /salary-estimate, and /resume-score. The rest — categories, by-company, by-location, by-tag, remote-companies, visa-work-permit, market-demand — are filters and enrichment on top of the same underlying data.
Search
fetch("https://aplicious.com/api/v1/jobs/search?q=backend+engineer&limit=20", {
headers: { "X-API-Key": "lapi_live_••••" },
});Free-text query, capped limit of 50 per call. Combine with /by-location or /remote if your board only wants remote-eligible roles — they filter the same underlying listing set rather than requiring a separate query language.
Salary estimate
/salary-estimate and /compare-salariesgive you a number to show next to a listing even when the listing itself doesn't disclose pay — useful for boards aggregating postings that don't include a salary range.
Resume scoring — the interesting endpoint
/resume-score takes a resume_text string (and optionally a job_descriptionto score against) and returns a structured, per-section breakdown rather than one opaque number. It separately scores contact info (does it find an email, phone number, LinkedIn URL, GitHub/portfolio link via regex), experience (bullet-point count, whether dates and company names are detectable), education, action verb usage against a list of 58 strong resume verbs (“architected,” “spearheaded,” “reduced”), quantified achievements (does the text contain numbers, percentages, or dollar amounts next to accomplishments), overall length, and — when a job description is provided — keyword density overlap between the resume and the posting.
Each section comes back with its own score and specific notes — “No LinkedIn URL found — add it,” “Only 3 quantified achievements found — add metrics (%, $, user counts, time saved)” — so the response is actionable feedback, not just a grade.
const res = await fetch("https://aplicious.com/api/v1/jobs/resume-score", {
method: "POST",
headers: {
"X-API-Key": "lapi_live_••••",
"Content-Type": "application/json",
},
body: JSON.stringify({
resume_text: rawResumeText,
job_description: postingText, // optional
}),
});This is the endpoint we'd actually recommend leading with if you're building a career-coaching product rather than a plain listing board — “upload your resume, get a score and specific section-by-section feedback” converts better than a generic job search, because it gives the user something actionable on their first visit.
Putting it together
async function jobBoardSearch(query: string) {
const headers = { "X-API-Key": process.env.APLICIOUS_KEY! };
const listings = await fetch(
`https://aplicious.com/api/v1/jobs/search?q=${encodeURIComponent(query)}&limit=20`,
{ headers }
).then(r => r.json());
return listings.data;
}One key covers search, salary tools, and resume scoring — no separate vendor relationship for the career-coaching half of the product versus the listings half.