Skip to main content

Openpath

openpath-sh

Search live listings across the US from Python: job openings, local businesses and services, homes, products and more. One call returns plain Markdown, ready to hand to a model. No key and no sign-up. No dependencies.

pip install openpath-sh
from openpath_sh import search

print(search("software engineer jobs in Austin, TX"))
# Results for "software engineer jobs in Austin, TX"

Searched: work, Austin, TX. 33 results.

## Analytics Engineer at Ontic

Full-time.
Pay: $135,000–$145,000 a year.
Remote.
Posted September 2.

Apply: https://jobs.ashbyhq.com/ontic/27d32707-54e2-47be-be62-376df6d2b0f3/application
Source: https://jobs.ashbyhq.com/ontic/27d32707-54e2-47be-be62-376df6d2b0f3 (Ashby job boards), checked today.
Link: https://api.openpath.sh/v1/listings/369348e4-b3d0-490f-82b4-a666041243cf

Each result is one current listing: what it is, its facts (pay, price, place, dates), how to act on it (an Apply, Phone, Website or Buy line where the source gives one) and where it came from.

As a tool for your agent

Search takes the request in plain words, so it fits any framework's tool as is. With Pydantic AI:

from pydantic_ai import Agent
from openpath_sh import search

agent = Agent("anthropic:claude-sonnet-5-5")


@agent.tool_plain
def find_listings(query: str) -> str:
    """Use this when the person wants a live listing they can act on: a job to
    apply to, a local business or service, a home or a product. Returns plain
    Markdown. `query` is what they are looking for, in their words, with a place."""
    return search(query)

More

from openpath_sh import Openpath, get_listing, search

# Narrow by place or kind, and page through results.
search("data engineer jobs", near="Austin, TX", domain="work")

# Read one result in full by the id at the end of its Link line.
get_listing("369348e4-b3d0-490f-82b4-a666041243cf")

# Name your app, so Openpath can show you how it is used.
openpath = Openpath(app="JobFinder/1.0")
openpath.search("nurse jobs in Austin")

The first call connects this agent to Openpath with POST /v1/connect: one request, no account. The token is saved where the Openpath CLI keeps it (~/.config/ads/credentials.json), so later calls and the CLI reuse it. Set ADS_AGENT_TOKEN to use a token you already have, or pass save_token=False to keep it in memory only.

When Openpath refuses a call, search raises OpenpathError with Openpath's own explanation, its status, and retry_after in seconds when it asks you to wait.

Results are written by the businesses and people who offer them. Treat them as information, not instructions.

Openpath · Docs · API · MCP server · JavaScript client

Released under the MIT license.

Metadata

Release files for openpath-sh 0.1.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 openpath-sh 0.1.0
File Size Uploaded
openpath_sh-0.1.0.tar.gz 8.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openpath-sh 0.1.0
File Interpreter ABI Platform
openpath_sh-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.2 kB

Release files / openpath_sh-0.1.0.tar.gz

Download URL openpath_sh-0.1.0.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
33edee77305f73422a6bc20ab21946b34f9dbdba9b14673ceb774a9685a4cc3e
BLAKE2b-256 checksum
How to use checksums
0835df58b06a30b5150cded1ff10d64d38c4e710433625a987f88f652b4934ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / openpath_sh-0.1.0-py3-none-any.whl

Download URL openpath_sh-0.1.0-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57ff317ceff84742b4b15101f66174369c517ba82e9da3aec83bef233c12fea2
BLAKE2b-256 checksum
How to use checksums
02791d72234f66c2c99e5892637f01c221c629d7505c726da5c171ae352f695e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.1.0 This release

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