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.5.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.5-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hiringcafe_cli-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 3dc1c710502b6f9246a1452fa23f626d1fe508c85e0af475d7cf2fc8170c74fc
MD5 0969ffafac915a18f262b7ae8446ca05
BLAKE2b-256 76ad2588ae1e4433e2baba468e8aa832fa062d2a724f2dd3b62d77a125907c56

See more details on using hashes here.

Provenance

The following attestation bundles were made for hiringcafe_cli-0.1.5.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.5-py3-none-any.whl.

File metadata

  • Download URL: hiringcafe_cli-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 28.3 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f4e867151f6c20908d7655b0b274d89095d189fa7bd843945d51f966f0074eea
MD5 9d7a9b1deea159601931257ceb832a72
BLAKE2b-256 d112a4f000dc67693c1afc9a6c2cfadd2dc3e5994eb9284fd0bbd6abc77eb1f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for hiringcafe_cli-0.1.5-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

This release

0.1.5 This release

2 files

0.1.4

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