Developer guide · 2026
A job board lives or dies on fresh listings — and importing them by hand doesn’t scale. This guide walks through using eJobsite’s RESTful API to pull jobs automatically from aggregators like Careerjet, Adzuna, and RapidAPI, schedule them with cron, map the fields, and keep duplicates out. Practical, step by step, with the screens and code you’ll actually use.
One of the biggest headaches for a job board administrator is keeping listings fresh across multiple sources without drowning in manual work. Boards thrive on fresh, relevant jobs — and that’s exactly what the API is built to automate. eJobsite is customizable job board software for launching niche portals, and its API is designed to automate workflows, especially job imports from career pages, job feeds, and third-party aggregators.
Manual job posting is a treadmill. The API turns it into a pipeline that runs while you sleep.
The basics
What is the eJobsite API?
An API (Application Programming Interface) lets different applications talk to each other. eJobsite offers a RESTful API that lets developers and admins securely access, manage, and manipulate job data.
Manage jobs
Create, update, or delete job posts programmatically.
Manage users
Handle employers and recruiters via the API.
Schedule imports
Run cron jobs for regular, automated imports.
Secure auth
Supports OAuth2 and API key-based authentication.
The payoff
Why automate job imports?
Manual uploading is slow, error-prone, and caps how far you can scale. Automation flips all three.
Save time
Pull hundreds of listings in seconds and free admins for strategic work.
Real-time updates
Always show the latest jobs; expired ones are removed or updated automatically.
Eliminate errors
Fewer typos, formatting mistakes, and duplicates.
Better UX
More relevant, current listings improve the job seeker experience.
More organic traffic
Search engines reward frequently updated content with better rankings.
JSON feed support
JSON APIs are ideal for modern platforms, custom CRMs, and aggregators.
Modular architecture
Separate modules for each source
Each provider is handled by its own module, so credentials, field mappings, campaigns, and fetch schedules stay independent. Test, edit, disable, or remove any module without affecting the others.
Each module supports its own campaigns, field mappings, and fetch schedules — so adding a new source never destabilises the ones already running.
The walkthrough
Set up automated imports in five steps
Get API access
Log into your admin panel and go to Settings > API. Add a provider by entering its API base URL, authentication, and required details, then add campaigns to pull jobs by keyword, location, or recruiter tag. Click Fetch to import manually or trigger via cron.


Identify your job sources
Decide where jobs come from. Common sources are employer career pages, aggregators (Careerjet, Adzuna, RapidAPI), and niche XML or JSON job files.
Enter API details and test
Save the API details in the admin panel and test the connection before going further — confirming credentials and the feed respond correctly now saves debugging later.
Schedule an automated cron job
Use cron on Linux (or Task Scheduler on Windows) to run imports on a schedule — for example, every day at midnight — so the board refreshes itself without anyone lifting a finger.
Map your data fields
Map external fields (title, location, company, and so on) to your platform’s schema so imported jobs land in the right place with the right structure.

For developers
Sample code
Illustrative snippets for a custom integration via the Master API module. Adjust endpoints, field names, and auth to match your setup.
# Run the import script every day at midnight 0 0 * * * /usr/bin/php /var/www/ejobsite/cron/import_jobs.php >> /var/log/job_import.log 2>&1
curl -X GET "https://api.example-jobfeed.com/v1/jobs?keyword=developer&location=remote" \ -H "Authorization: Bearer $API_KEY" \ -H "Accept: application/json"
{
"title": "Senior PHP Developer",
"company": "Acme Corp",
"location": "Remote",
"category": "Software Development",
"job_id": "acme-9921", // used for deduplication
"url": "https://acme.com/jobs/9921",
"description": "..."
}
These examples are illustrative. Use the exact endpoints, field names, and authentication provided for your chosen module.
In the wild
Real-world use cases
Niche CRM job board
SupportCRM.com uses multiple modules (Careerjet, RapidAPI) to auto-import CRM-related listings, keeping a specialist board consistently full without manual posting.
Enterprise employer posting
An enterprise auto-publishes jobs from its internal HR system to the job board through a private API module — one pipeline, zero double-entry.
Do it right
Best practices for API-based imports
Validate before import
Ensure title, description, and URL exist; discard entries missing essential fields.
Log & monitor
Track import success and failure so feed issues surface quickly.
Respect rate limits
Follow each external provider’s API usage limits to avoid blocks.
Avoid duplicates
Check existing listings by job ID or URL before importing.
Categorize properly
Assign categories, industries, and tags to improve search and filtering.
Test each module
Validate a new module on a small campaign before scaling its schedule.
Why it helps rankings
SEO benefits of automated imports
Beyond convenience, a steady job feed is quietly one of the best SEO engines a job board has.
Fresh content
Regularly updated jobs read as fresh content, improving crawl frequency.
Keyword diversity
Each job adds new titles and descriptions, widening your search footprint.
Lower bounce rate
Relevant, current listings keep visitors engaged, signalling quality to Google.
When something breaks
Common issues & fixes
| Issue | Likely cause & fix |
|---|---|
| Authentication failed | Check the API key or token validity and re-save credentials. |
| Incorrect data format | Validate the JSON/XML response structure from the provider. |
| Duplicate jobs | Deduplicate by job_id or url before inserting. |
| Feed not updating | Verify the cron setup and that the feed is reachable. |
| Jobs missing categories | Confirm category mapping is configured in the module. |
On the roadmap
Future modules in development
The integration layer keeps expanding. In the pipeline: AI-powered job parsing to enrich imported listings, identify skills, and auto-categorize jobs; chatbot job-feed interfaces to trigger imports with simple commands; and smart deduplication that uses machine-learning to spot duplicate jobs by semantic similarity, not just a matching ID.

A board that keeps itself fresh, accurate, and de-duplicated isn’t just easier to run — it’s easier to rank.
Answers
Frequently asked questions
What is the eJobsite API?
Which job sources and providers does it support?
Can I import jobs from LinkedIn or Indeed?
How many jobs can I import daily?
Does the API support webhook-based updates?
How do I avoid importing duplicate jobs?
How does automated importing help SEO?
Do I need to be a developer to use it?
Keep reading
Resources & related tools
Put your job feed on autopilot
Automate imports, keep listings fresh, and let your board rank itself. See the API and admin panel in the live demo, or talk to us about your integration.