Executive Summary
The PyjamaHR Career-site JSON/XML Feed API empowers you to display live job listings from your PyjamaHR account directly on your own website, with full control over the design and user experience. This integration is ideal for organizations that want to maintain their unique employer branding, ensure seamless candidate application flow, and automate job data updates—without being limited by the default PyjamaHR careers page or iframe embed.
Detailed Overview
What Is the Career-site JSON/XML Feed API?
The Career-site JSON/XML Feed API is a secure, programmatic interface that allows you to fetch all open job listings from your PyjamaHR account in real time. You can use this API to:
Display jobs on your custom careers page with your own layout and styling.
Keep job listings automatically updated—no manual copy-pasting required.
Control the candidate application flow (e.g., redirect to your own form or use PyjamaHR’s application process).
Integrate with other tools or workflows (e.g., analytics, custom filters).
Key Benefits:
- Maintain your website’s look and feel.
- Automate job updates—no double entry.
- Improve candidate experience and employer branding.
When Should You Use the API?
You want to fully customize how jobs appear on your website.
You need to apply custom CSS or JavaScript for branding or UX.
The default PyjamaHR careers page or iframe embed does not meet your needs.
You want to automate job data sync between PyjamaHR and your website.
How Does It Work with Other PyjamaHR Features?
Job Management: All jobs you publish as “Open” in PyjamaHR are available via the API.
Candidate Flow: You can choose to direct candidates to PyjamaHR’s application form or your own.
Integrations: Use the API output to feed other systems (e.g., job boards, analytics).
Step-by-Step Guide: Integrating the PyjamaHR Career-site JSON/XML Feed API
Prerequisites
PyjamaHR account with API access (check your plan or contact support if unsure).
API Token (provided by PyjamaHR support or your account admin).
Developer resources to implement API calls and render job data on your website.
1. Obtain Your API Documentation and Token
API Documentation:
PyjamaHR Career-site API Docs (Postman)API Token:
Request from PyjamaHR support or your account admin. Example:81ee3eba0ddabf93b7cf91727ee929db4194fa44
Screenshot suggestion: Show where to request/find the API token in the PyjamaHR dashboard or via support.
2. Fetch Job Listings from the API
Use the endpoint provided in the documentation to fetch jobs in JSON or XML format.
Example (GET request):
GET https://api.pyjamahr.com/v1/jobs Headers: Authorization: Bearer <YOUR_API_TOKEN>
The response will include all open jobs with details such as title, location, description, and application URL.
Screenshot suggestion: Example API response in JSON format.
3. Render Jobs on Your Website
Parse the API response and display jobs using your preferred front-end framework (React, Vue, plain HTML/CSS, etc.).
Apply your own CSS for full branding control.
Optionally, add filters (e.g., by location, department) using the data fields from the API.
Screenshot suggestion: Example of a custom-styled job list on a customer’s website.
4. Configure the Application Flow
Option 1: Link the “Apply” button to the PyjamaHR application URL provided in the API response.
Option 2: Redirect to your own application form, then manually or programmatically add candidates to PyjamaHR (note: direct candidate push via API is not currently supported per conversations).
5. Keep Job Listings Updated
Set up a scheduled task (e.g., cron job) or use client-side fetching to refresh job data regularly (e.g., every hour or on page load).
Advanced Usage & Best Practices
Power User Tips
Custom Filtering: Use API fields to create advanced filters (e.g., by job type, location).
Localization: Display only relevant countries/locations by filtering API results before rendering.
SEO Optimization: Render job listings server-side for better search engine indexing.
Integration Strategies
Analytics: Track clicks and applications using your own analytics tools.
Multi-language Support: Use API data to power multiple localized career pages.
Do’s and Don’ts
Do:
- Secure your API token—never expose it in public repositories.
- Cache API responses if you expect high traffic.
- Test API responses for changes in structure after PyjamaHR updates.
Don’t:
- Don’t attempt to POST new jobs or candidates via this API—only fetching (GET) is supported.
- Don’t expose sensitive data from the API response on your public site.
Troubleshooting & Common Issues
1. CORS Errors When Fetching API from Front-End
Issue:
“CORS Error” when making API calls directly from browser JavaScript.
Solution:
- Prefer server-side fetching (Node.js, PHP, etc.) to avoid CORS issues.
- If you must fetch from the front-end, contact PyjamaHR support to whitelist your domain.
2. API Token Not Working
Issue:
“Unauthorized” or “Invalid token” error.
Solution:
- Double-check the token value and header format.
- Ensure your PyjamaHR plan includes API access.
- Contact support for a new token if needed.
3. Job Locations or Filters Not Matching Your Data
Issue:
Location filter includes countries you don’t use (e.g., “India” appears, but all jobs are in Thailand).
Solution:
- The API returns all possible countries for global use; filter the job data client-side to show only relevant locations.
4. Unable to Style the Default Embed
Issue:
Iframe/embed code cannot be styled to match your website.
Solution:
- Use the API integration for full control over styling and layout.
5. Candidate Data Push from Website Form to PyjamaHR
Issue:
You want to push candidate applications from your own form to PyjamaHR.
Solution:
- Currently, the API only supports fetching jobs, not posting candidates. Use PyjamaHR’s application URLs or contact support for possible workarounds.
Comprehensive FAQ
1. Where do I find the API documentation and my token?
Request from PyjamaHR support or your account admin. Docs: API Docs
2. Can I use the API to post new jobs or candidates into PyjamaHR?
No, the API only supports fetching (GET) job listings, not posting (POST) jobs or candidates.
3. How do I style the job listings to match my website?
Fetch job data via the API and render it using your own HTML/CSS.
4. I’m getting a CORS error—how do I fix it?
Fetch jobs server-side or request PyjamaHR to whitelist your domain.
5. Why do I see countries/locations in the filter that I don’t use?
The API returns all possible locations; filter them client-side as needed.
6. Can I filter jobs by department, location, or other fields?
Yes, use the relevant fields from the API response to build custom filters.
7. How often should I refresh the job data?
At least once per hour, or on every page load, depending on your needs.
8. Can I use the API if I’m on a basic plan?
API access depends on your subscription; check with support.
9. Is there a way to push candidate applications from my own form into PyjamaHR?
Not directly via this API. Use PyjamaHR’s application URLs or consult support for possible integration options.
10. What if my API token is lost or compromised?
Contact PyjamaHR support immediately to revoke and reissue your token.
Related Features & Next Steps
PyjamaHR Careers Page Embed: For quick setup, but limited styling.
Application Form Customization: Use PyjamaHR’s built-in forms or redirect to your own.
Job Board Integrations: Manage where jobs are published from within PyjamaHR.
Candidate Export: Download candidate data as CSV for further processing.
Recommended Articles:
- How to Embed the PyjamaHR Careers Page on Your Website
- Managing Job Visibility and Application Sources in PyjamaHR
- Customizing the Candidate Application Experience
Still have questions?
Contact PyjamaHR Support for personalized assistance or to request API access.
This article is based on real customer scenarios and is updated regularly to reflect the latest PyjamaHR capabilities and best practices.