API Reference
Jobs API
v1The Prodigio Jobs API lets you display your active job listings on any website or application. It is a read-only, public REST API - no authentication required. Responses are JSON.
BASE URL
https://hire.prodigio.ioEndpoint
Returns a list of all currently active job postings.
GET
/api/v1/jobsQuery parameters
departmentstring - optional
Filter results to a specific department. Case-insensitive. Example: ?department=Engineering
HTTP status codes
200OKRequest succeeded. Returns a list object.500Server ErrorSomething went wrong on our end. Try again shortly.Response schema
The response is a list object with a count and a data array of job objects.
Job object fields
idstringUnique identifier for the job postingtitlestringJob titledepartmentstringTeam or department the role sits inlocationstringOffice location or "Remote"type"full-time" | "part-time" | "contract"Employment typesalaryRangeobject | nullSalary range with min, max, currency (GHS or USD), and period (monthly or yearly). Null if not disclosedapplicationDeadlinestring | nullISO 8601 deadline. Null means rolling applicationspostedAtstringISO 8601 date the job was publishedurlstringDirect link to the job application pageExample response
json
{
"object": "list",
"count": 2,
"data": [
{
"id": "abc123",
"title": "Frontend Engineer",
"department": "Engineering",
"location": "London, UK",
"type": "full-time",
"salaryRange": {
"min": 60000,
"max": 85000,
"currency": "GBP",
"period": "yearly"
},
"applicationDeadline": "2026-05-31T23:59:59.000Z",
"postedAt": "2026-04-01T09:00:00.000Z",
"url": "https://hire.prodigio.io/jobs/abc123"
},
{
"id": "def456",
"title": "Product Designer",
"department": "Design",
"location": "Remote - Europe",
"type": "contract",
"salaryRange": null,
"applicationDeadline": null,
"postedAt": "2026-03-28T14:30:00.000Z",
"url": "https://hire.prodigio.io/jobs/def456"
}
]
}
Code examples
Replace YOUR_BASE_URL with https://hire.prodigio.io.
JavaScript
// Fetch all active job listings from the Prodigio API
const response = await fetch('YOUR_BASE_URL/api/v1/jobs');
const { data: jobs } = await response.json();
// Each job includes: id, title, department, location, type, url, and more
jobs.forEach(job => {
console.log(job.title, job.location, job.url);
});
// Optional: filter by department using a query parameter
const engineering = await fetch('YOUR_BASE_URL/api/v1/jobs?department=Engineering');
const { data: engJobs } = await engineering.json();
Embed widget
Drop this snippet into any HTML page - no framework or build step required. It fetches your live job listings and renders them automatically.
HTML
<!-- Container where job listings will be rendered -->
<div id="prodigio-jobs"></div>
<script>
// No dependencies or build step needed — works in any browser
fetch('https://hire.prodigio.io/api/v1/jobs')
.then(r => r.json())
.then(({ data: jobs }) => {
const el = document.getElementById('prodigio-jobs');
// Show a fallback message if there are no open roles
if (!jobs.length) {
el.innerHTML = '<p>No open positions at this time.</p>';
return;
}
// Render each job as a simple linked card
el.innerHTML = jobs.map(job => `
<div style="padding:16px 0;border-bottom:1px solid #e5e5e5">
<a href="${job.url}" style="font-weight:600;color:#111;text-decoration:none">
${job.title}
</a>
<p style="margin:4px 0 0;color:#666;font-size:14px">
${job.department} · ${job.location} · ${job.type}
</p>
${job.applicationDeadline
? `<p style="margin:4px 0 0;color:#999;font-size:12px">
Apply by ${new Date(job.applicationDeadline).toLocaleDateString('en-GB')}
</p>`
: ''}
</div>
`).join('');
});
</script>
Changelog
v1April 2026Initial release.
GET /api/v1/jobs with optional department filter.