It returns current job data without requiring an account.
I built this because job data ingestion tends to become the same maintenance problem repeatedly:
- scraping HTML pages
- fixing parsers after frontend changes
- mapping inconsistent fields
- deduplicating the same postings across sources
Trace takes a different approach.
It ingests public machine-readable job feeds, translates them into a consistent format, and exposes the records through an API.
The core idea is: do not guess.
If a source provides a structured field, we normalize it where the mapping is clear. If a field is ambiguous or unavailable, the original value is preserved.
The goal is clean, predictable data without forcing our own interpretation layer into the pipeline.
No scraping.
No LLM extraction.
No inferred metadata.
No rewriting upstream intent.
I’d appreciate feedback from anyone interested in the problem and especially people who have built:
- job boards and aggregators
- labor market analytics tools
- search/RAG systems
- data ingestion pipelines
Especially interested in how others approach source reliability, normalization, and preserving meaning when upstream data is inconsistent.
A note of thanks: this project exists because of the support of my family and friends, the people I've learned from in IRC communities, and the broader open source community. I am grateful to everyone who builds, maintains, documents, and shares the tools and standards that make projects like this possible.
I built Trace Jobs Core API, a data API for querying job postings from structured machine-readable sources.
You can try it immediately with the sandbox command: https://kaleh.net/trace/#trynow
It returns current job data without requiring an account.
I built this because job data ingestion tends to become the same maintenance problem repeatedly:
- scraping HTML pages
- fixing parsers after frontend changes
- mapping inconsistent fields
- deduplicating the same postings across sources
Trace takes a different approach.
It ingests public machine-readable job feeds, translates them into a consistent format, and exposes the records through an API.
The core idea is: do not guess.
If a source provides a structured field, we normalize it where the mapping is clear. If a field is ambiguous or unavailable, the original value is preserved.
The goal is clean, predictable data without forcing our own interpretation layer into the pipeline.
No scraping. No LLM extraction. No inferred metadata. No rewriting upstream intent.
Current index:
- 9,800+ structured feeds
- ~13k new postings/day
- daily refresh at 06:00 UTC
- Schema.org JobPosting records
- SHA-256 deduplication
- RFC 8785 canonicalization
Examples with real daily-refreshed HTML and JSON responses: https://kaleh.net/trace/examples.html
API documentation: https://kaleh.net/trace/docs.html
I’d appreciate feedback from anyone interested in the problem and especially people who have built:
- job boards and aggregators
- labor market analytics tools
- search/RAG systems
- data ingestion pipelines
Especially interested in how others approach source reliability, normalization, and preserving meaning when upstream data is inconsistent.
A note of thanks: this project exists because of the support of my family and friends, the people I've learned from in IRC communities, and the broader open source community. I am grateful to everyone who builds, maintains, documents, and shares the tools and standards that make projects like this possible.
I’ll be around to answer questions.