Input
Samples:
Supports Greenhouse, Lever, Ashby, Workday, Indeed, and most public job boards. LinkedIn requires login — paste text instead.
Each section between --- is parsed independently. Up to 20 per batch.
0 detected
0
Output
Paste a job description and click Parse
Returns structured JSON with every field present
API Usage
# Single parse — from text curl -X POST https://parsejd.run/v1/parse \ -H "Content-Type: application/json" \ -H "X-RapidAPI-Key: YOUR_API_KEY" \ -d '{"text": "Senior Engineer at Acme..."}' # Single parse — from URL curl -X POST https://parsejd.run/v1/parse \ -H "Content-Type: application/json" \ -H "X-RapidAPI-Key: YOUR_API_KEY" \ -d '{"url": "https://boards.greenhouse.io/company/jobs/12345"}' # Batch parse — up to 20 items curl -X POST https://parsejd.run/v1/parse-batch \ -H "Content-Type: application/json" \ -H "X-RapidAPI-Key: YOUR_API_KEY" \ -d '{"items": [{"text": "JD one..."}, {"url": "https://..."}]}'
import httpx API_KEY = "YOUR_API_KEY" BASE = "https://parsejd.run/v1" HEADERS = {"X-RapidAPI-Key": API_KEY, "Content-Type": "application/json"} # Parse from text result = httpx.post(f"{BASE}/parse", headers=HEADERS, json={"text": jd_text}).json() # Parse from URL result = httpx.post(f"{BASE}/parse", headers=HEADERS, json={"url": "https://boards.greenhouse.io/..."}).json() # Check confidence if result["meta"]["confidence"] < 0.75: print("Low confidence:", result["meta"]["confidence_flags"]) # Batch parse batch = httpx.post(f"{BASE}/parse-batch", headers=HEADERS, json={ "items": [{"text": jd1}, {"text": jd2}, {"url": "https://..."}] }).json() for item in batch["results"]: if item["success"]: process(item["result"]) else: print(f"Item {item['index']} failed: {item['error']}")
const API_KEY = "YOUR_API_KEY"; const BASE = "https://parsejd.run/v1"; const headers = { "X-RapidAPI-Key": API_KEY, "Content-Type": "application/json" }; // Parse from text const result = await fetch(`${BASE}/parse`, { method: "POST", headers, body: JSON.stringify({ text: jdText }) }).then(r => r.json()); // Parse from URL const urlResult = await fetch(`${BASE}/parse`, { method: "POST", headers, body: JSON.stringify({ url: "https://boards.greenhouse.io/..." }) }).then(r => r.json()); // Batch parse const batch = await fetch(`${BASE}/parse-batch`, { method: "POST", headers, body: JSON.stringify({ items: [{ text: jd1 }, { text: jd2 }, { url: "https://..." }] }) }).then(r => r.json()); batch.results.forEach(item => { if (item.success) process(item.result); else console.error(`Item ${item.index}: ${item.error}`); });