Skip to main content

jaat-api

PyPI version License

The official, lightweight Python client library for the JAAT suite of tools.

jaat-api is an easy-to-use, intuitive, session-managed SDK for programtically accessing the open-source JAAT modules. This tool works great for integrating JAAT into your workflows or applications, and it enablings accessing JAAT with running it locally!


Installation

Install directly from PyPI:

pip install jaat-api

Quick Start

Initialize the JAATClient with your API key (provided by us) and execute JAAT on your batch texts seamlessly:

from jaat_api import JAATClient

client = JAATClient(api_key="jaat_app_private_key_here")

job_ads = [
    "[JOB AD TEXT 1]",
    "[JOB AD TEXT 2]",
    "..."
]

task_results = client.run_batch("task", job_ads) # alternatively, client.get_tasks_batch(job_ads)

# continue to run other jobs
skill_results = client.run_batch("skill", job_ads)

Of course, you can also use the client to process single texts:

task_result = client.run("task", job_ads[0]) # alternatively, client.get_tasks(job_ads)

skill_result = client.run("skill", job_ads[0])

Helpful Tips

Currently Supported JAAT Modules

As of the current version of jaat-api, the following JAAT modules are supported:

Supported from Version: jaat-api ID JAAT Module
0.1.0 task TaskMatch
0.1.0 skill SkillMatch
0.1.0 ai AIMatch
0.2.0 title TitleMatch

The API is currently running JAAT: PyPI version

Handling Exceptions

The SDK provides a structured JAATError instance whenever an operation breaks down or fails. Ideally, wrap jobs within try/except blocks to handle these conditions gracefully:

from jaat_api import JAATError

try:
    ## as before
except JAATError as e:
    print(f"Extraction failed (Status Code: {e.status_code})")
    print(f"Error Context: {e.message}")

Sandbox Public Evaluation

Anyone looking to evaluate the platform programmatically before contacting us for a dedicated token can use the public sandbox key:

client = JAATClient(api_key="jaat_public_sandbox_testing_key")

try:
    results = client.get_tasks(["JOB AD TEXT"])
    print(results)
except JAATError as e:
    if e.status_code == 429:
        print("Sandbox daily evaluation volume exhausted. Please rotate to a private key.")

As can be seen, the public API key is highly throttled and is strictly for testing purposes. The current usage of this key is limited to one request per day, per IP.

License

jaat-api (and JAAT) are distributed under the MIT License. See LICENSE for more information.

Getting a Key

We will soon be releasing a contact form to let us know your interest in receiving a private API key. Stay tuned!

Citation

This code and the overarching JAAT package is part of ongoing work to leverage lightweight, but powerful NLP tools to unlock structured, coded data from job posting data.

If you find this software useful, please consider citing:

@article{meisenbacher2025extracting,
  title={Extracting O* NET Features from the NLx Corpus to Build Public Use Aggregate Labor Market Data},
  author={Meisenbacher, Stephen and Nestorov, Svetlozar and Norlander, Peter},
  journal={arXiv preprint arXiv:2510.01470},
  year={2025}
}

Metadata

Release files for jaat-api 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jaat-api 0.3.0
File Size Uploaded
jaat_api-0.3.0.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jaat-api 0.3.0
File Interpreter ABI Platform
jaat_api-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.3 kB

Release files / jaat_api-0.3.0.tar.gz

Download URL jaat_api-0.3.0.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
22f0bca1b705c947c3d44a80a3f0b611bf551128f02199e730fc66c62ace2896
BLAKE2b-256 checksum
How to use checksums
0bbb53b51012e270550dc9eb22af3f8fd62bf5d6de62b3297bc60237af8fac13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release files / jaat_api-0.3.0-py3-none-any.whl

Download URL jaat_api-0.3.0-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd70a1f314b86c59295768707b58d9a42bfd6dd20554c0c15d5d717273cc8b26
BLAKE2b-256 checksum
How to use checksums
a5c261605bacd332a112d2b01654c1ed5b758e242c40f9261abebaf186ff0d28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page