API Reference
1. Parsing the Response Correctly
The Problem
["string_value", "another_string", [{ "title": "...", ... }, { "title": "...", ... }]]The Solution
const response = await fetch(url);
const data = await response.json();
if (!Array.isArray(data)) {
throw new Error('Unexpected response format');
}
// Find the nested array containing job objects
let jobs = data.find(item => Array.isArray(item));
// Fallback: if every element is an object, the root array IS the jobs array
if (!jobs && data.length > 0 && typeof data[0] === 'object' && data[0] !== null) {
jobs = data;
}
if (!jobs || !Array.isArray(jobs)) {
throw new Error('Could not locate jobs array in response');
}Python Equivalent
2. Handling HTML in Descriptions
Strip HTML for Plain Text
Truncate Long Descriptions
When to Disable Descriptions
3. Caching
Simple In-Memory Cache
Cache Key Strategy
When to Cache More Aggressively
4. Rate Limiting and Retry Logic
Exponential Backoff with Jitter
What to Retry
Error
Retry?
Why
Recommended Retry Config
Setting
Value
Rationale
5. Input Validation
Validate Tags
Validate Country Slugs
Common Mistakes to Catch
User Input
Problem
Correct Value
6. Handling Optional Fields
Extra Fields
7. Efficient Multi-Tag Searching
Parallel Fetching with Deduplication
8. Optimising Payload Size
9. Error Handling Checklist
10. Link Attribution (Mandatory)
Rules
Implementation
Framework-Specific Notes
For MCP / AI Agent Use Cases
11. Using the RSS XML Endpoint
12. Security Considerations
Last updated