langchain-job-opportunities-api
LangChain tools for Job Opportunities API: live job postings taken straight from employers' own career pages, their ATS feeds and official government feeds.
Disclosure: I am the founder of Job Opportunities API. There is a paid tier. This package is MIT and free to use.
Why
Job data is a common agent need, and it is usually wired up by scraping job boards. That breaks constantly and sits in a grey legal area. JOA is a licensed, maintained source: every posting comes from the employer, and each row reports where its fields came from.
A free key is 1,000 records a month with no card, and the statistics endpoints are keyless, so you can evaluate this before committing.
Install
pip install langchain-job-opportunities-api
Setup
Get a free key at https://jobopportunitiesapi.org/login and set it:
export JOA_API_KEY=...
Usage
from langchain_job_opportunities_api import job_opportunities_api_tools
tools = job_opportunities_api_tools()
# hand them to any LangChain agent
agent = create_tool_calling_agent(llm, tools, prompt)
The four tools
| Tool | What it does |
|---|---|
job_search |
Free-text search over live postings, optional ISO country filter |
job_get |
One full posting by id, with provenance for every field |
company_hiring |
An employer's open roles and hiring signal |
job_changes |
The change feed since a timestamp, for keeping a local copy in sync |
API contract
- Base URL:
https://api.jobopportunitiesapi.org - Auth:
Authorization: Bearer <key>. A key with no card is fine. 401when the key is missing,402when the monthly records are used up.
The tools map both error codes to readable output rather than raising, so an agent can recover without a stack trace.
Honest limits
- Coverage is employer-direct, so it is not every job on the internet. It is the ones we can trace to a source.
- Salary fields are null when the employer did not publish a number. We never infer one.
Licence
MIT for this code. The data behind the API has its own terms: https://jobopportunitiesapi.org/terms
Metadata
Release files for langchain-job-opportunities-api 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| langchain_job_opportunities_api-0.1.0.tar.gz | 4.3 kB | Without provenance | Details for langchain_job_opportunities_api-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| langchain_job_opportunities_api-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for langchain_job_opportunities_api-0.1.0-py3-none-any.whl |
Total release size: 9.9 kB
Release files / langchain_job_opportunities_api-0.1.0.tar.gz
| Download URL | langchain_job_opportunities_api-0.1.0.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8069e607a3647a789852f0b37d4d5c3bf7d756082620f4636a9aa01483ff1738
|
|
BLAKE2b-256 checksum How to use checksums |
120a6d69e2315abceabca9a4ac0cae6dc3168881ec672415947e303c60a891c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / langchain_job_opportunities_api-0.1.0-py3-none-any.whl
| Download URL | langchain_job_opportunities_api-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3d3dc0001a24712ee3a127048e77d31efe805a65afe86711d2409fe2f4682c15
|
|
BLAKE2b-256 checksum How to use checksums |
b1c43a1babd065283f10d966f634870ff7ca0d58580a66430b11c014a94b3f24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for langchain-job-opportunities-api 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.