Skip to main content

HiringCafe CLI

Give your AI agent Hiring Cafe superpowers: search jobs, inspect postings, and keep your Hiring Cafe saved-job board in sync without a browser.

hiringcafe search "python developer" --pages 3 --jsonl

The result is stable JSON/JSONL, explicit exit codes, cached anonymous reads, bounded retries, and authenticated actions against your real Hiring Cafe account.

Unofficial client. This project is not affiliated with, endorsed by, or supported by Hiring Cafe. Use your own account, respect the service, and expect upstream APIs to change.

For agents

Agents can install and verify the CLI in three commands:

uv tool install hiringcafe-cli
hiringcafe search "python developer" --page 0 --json

For persistent installations, use uv tool install hiringcafe-cli or pipx install hiringcafe-cli.

Feed the output directly to your tooling:

# One JSON object per page
hiringcafe search "python developer" --pages 3 --jsonl

# One line per job
hiringcafe search "python developer" --pages 3 --json | jq -c '.jobs[]'

# Machine-readable result count
hiringcafe count "python developer" --json

Import an existing Firebase refresh token without an interactive password prompt:

printf '%s\n' "$HIRINGCAFE_REFRESH_TOKEN" | hiringcafe auth import
hiringcafe saved-jobs list --json

Safe automation contract:

  • JSON success output goes to stdout; cache diagnostics go to stderr.
  • Stable exit codes describe transport, input, rate-limit, auth, and conflict outcomes.
  • Passwords and Firebase ID tokens are never written to disk.
  • Authenticated mutations are never retried or cached.
  • Anonymous search/count responses use a 15-minute cache; job details use 24 hours.

For humans

hiringcafe auth login --email you@example.com
hiringcafe search "python developer" --page 0 --json
hiringcafe job show <objectID> --json
hiringcafe saved-jobs list --json
hiringcafe auth logout

The password is read through hidden input, exchanged once, and discarded.

Saved jobs

These commands modify your real Hiring Cafe account. Review object IDs and confirmation prompts before changing data.

hiringcafe saved-jobs save <objectID> --stage saved
hiringcafe saved-jobs stage <objectID> --stage interviewing
hiringcafe saved-jobs remove <objectID> --yes

Valid stages are saved, applied, interviewing, offer, rejected, ghosted, and hidden.

Local data

Data Location Notes
Refresh token ~/.config/hiringcafe-cli/session.json owner-only file; removed by logout
Anonymous cache ~/.cache/hiringcafe-cli/cache/v1/ public search/job data only

Set HIRINGCAFE_CONFIG_HOME or HIRINGCAFE_CACHE_HOME to use different roots.

hiringcafe search "python developer" --no-cache
hiringcafe search "python developer" --cache-ttl 3600
hiringcafe cache purge

Exit codes

Code Agent action
0 success
1 transport, HTTP, parsing, or API error; inspect stderr
2 invalid arguments or search state; fix the request
3 rate limited; wait and retry
4 no stored credential; authenticate first
5 stored credential rejected; re-authenticate
6 write conflict or prerequisite missing; refresh state

Development

Requires Python 3.11+ and uv.

uv sync
uv run pytest
uv run hiringcafe --help
uv run pre-commit run --all-files

Normal tests do not access the network. The verified anonymous endpoint probe is opt-in:

LIVE=1 uv run hiringcafe probe

Every implementation change traces to specs/pr-*/spec.md and the roadmap. Never commit credentials, Firebase tokens, cookies, real UIDs, emails, or private account data.

Beta status: search, job details, authentication, and saved-job workflows are implemented. Browser OAuth login remains intentionally deferred. See roadmap.md and specs/.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hiringcafe_cli-0.1.4.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hiringcafe_cli-0.1.4-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file hiringcafe_cli-0.1.4.tar.gz.

File metadata

  • Download URL: hiringcafe_cli-0.1.4.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hiringcafe_cli-0.1.4.tar.gz
Algorithm Hash digest
SHA256 6ffc74e207118658d13cdf35573b95692789b8f2961f341ab4d99291cdbe6644
MD5 f7e1ee4f461c8ef7f1d5557397a970b6
BLAKE2b-256 8cc0f3a55cee1527ff5e6880d4789dac3541a594ca1a0d047d6153e053a92680

See more details on using hashes here.

Provenance

The following attestation bundles were made for hiringcafe_cli-0.1.4.tar.gz:

Publisher: release.yml on chen-gdp/hiringcafe-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hiringcafe_cli-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: hiringcafe_cli-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 28.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hiringcafe_cli-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3bdcfe4bd083f4924612aefb4e12dc04fe39bfa53a7a5b16cca4003bfbef883e
MD5 e0c1893698f24ebea27402c61cdd9322
BLAKE2b-256 4b97c4aef70ab782a9f797747ceeb5a6e4de05feb5774edb22b033761a31dc66

See more details on using hashes here.

Provenance

The following attestation bundles were made for hiringcafe_cli-0.1.4-py3-none-any.whl:

Publisher: release.yml on chen-gdp/hiringcafe-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.5

2 files

This release

0.1.4 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page