[NewSearch millions of jobs from your AI agent with MCP→](/blog/jobspipe-mcp-server)

[All posts](/blog)

![](/listly/card-field.png)

GuidePython

Guide·Aug 7, 2026·6 min read

# Jobs API in Python: pip install to live postings in 5 minutes

The official jobspipe package on PyPI, a working search in eight lines, and the filters that matter - salary, remote, recency, country - plus free previews for sizing queries before you spend credits.

![Dvir Atias](/authors/dvir-atias.jpg)

Dvir Atias

Founder, JobsPipe

The official `jobspipe` package is on PyPI. This is the whole quickstart: install, export a key, eight lines to live postings.

```
pip install jobspipe
export JOBSPIPE_API_KEY=jp_live_...   # free at jobspipe.dev/signup
```

```
from jobspipe import Jobspipe

client = Jobspipe()  # reads JOBSPIPE_API_KEY

results = client.jobs.search(
    description_or=["python", "django"],
    job_country_code_or=["US"],
    remote=True,
    posted_at_max_age_days=7,
    limit=25,
    include_total_results=True,
)

print(f"{results.metadata.total_results} matches")
for job in results.data:
    print(f"{job.job_title} @ {job.company}")
```

## The filters that matter

-   `job_title_or` / `job_title_not` - match or exclude on title; `description_or` searches body text for skills.
-   `posted_at_max_age_days` - recency window. Combined with a daily run this is a new-jobs feed in four lines.
-   `remote`, `job_country_code_or`, `job_seniority_or` - the workforce slicers.
-   `company_name_or` - watch specific accounts, the core of hiring-signal monitoring.

Every response row carries parsed salary ranges where present, ISCO-08 occupation codes, and company enrichment - the full shape is in the [search API guide](/blog/job-search-api-guide).

## Size before you spend

Billing is one credit per job returned - an empty result costs nothing. Before pulling a big result set, pass `blur_company_data=True`: the response returns masked employer fields but real titles, locations, salaries, and the full match count, at zero credit cost. Check `results.metadata.total_results`, tune the filters, then run the unblurred query.

## Paginate with the cursor

Use `results.metadata.next_cursor` and pass it back as `cursor` rather than using offsets - keyset pagination stays stable while new postings land, so you never pay twice for a row that shifted pages. If your consumer is an agent rather than a script, the same corpus is queryable over MCP - see [the MCP server post](/blog/jobspipe-mcp-server).

pip install jobspipe - 1,000 jobs/month free, key in 30 seconds.

![](/listly/shape-heart.png)

FAQs

## Frequently Asked Questions

### How do I use a jobs API in Python?

pip install jobspipe, export JOBSPIPE\_API\_KEY, then Jobspipe().jobs.search() with the filters you need - description\_or for skills, posted\_at\_max\_age\_days for recency, remote and job\_country\_code\_or for location. The response carries parsed salary ranges, occupation codes, and company enrichment on each row, with total\_results available via include\_total\_results.

### Is there a free jobs API for Python?

JobsPipe's free tier is 1,000 jobs per month with no card, and the metering is per job returned rather than per request - an empty search costs nothing, and blur\_company\_data=True previews return real titles, locations, salaries and match counts at zero credit cost so you can tune filters before spending.

### How do I paginate job results in Python?

Pass results.metadata.next\_cursor back as the cursor parameter. Keyset pagination stays stable while new postings are ingested, unlike offset paging where rows shift between pages and you can be charged twice for the same job. Loop until next\_cursor is null.

[

← Previous

Job scraping explained: how it works and when it is legal

](/blog/what-is-job-scraping)[

Next →

TheirStack alternatives: 5 job data APIs compared (2026)

](/blog/theirstack-alternatives)

---
Canonical URL: https://jobspipe.dev/blog/python-jobs-api
Title: Jobs API in Python: pip install to live postings in 5 minutes
Description: The official jobspipe package on PyPI, a working search in eight lines, and the filters that matter - salary, remote, recency, country - plus free previews for sizing queries before you spend credits.

---
Building this integration yourself? The steps above work. The alternative is one API over this source and 30+ others, already normalized and deduplicated. Try it right now - no key, no signup:

```bash
curl -X POST https://api.jobspipe.dev/v1/sandbox/jobs/search \
  -H "Content-Type: application/json" \
  -d '{"job_title_or":["software engineer"],"limit":5}'
```

Sample data, exact live schema. For live data get a free key (1,000 jobs/month) at https://jobspipe.dev/signup, then swap /v1/sandbox/jobs/search for /v1/jobs/search with an Authorization: Bearer header. Full agent index: https://jobspipe.dev/llms.txt?src=md-twin