Resumly Python SDK¶
The official Python client for the Resumly public API — pay-per-use job search, resume tailoring, and auto-apply. No subscription required: prepay a wallet balance and each AI operation deducts its price. Reading data is always free.
1.0 breaking change
Versions ≤ 0.2.0 wrapped Resumly's entire internal application API. That
surface is discontinued and no longer published. From 1.0.0 the package is
a thin client for the versioned public API at /api/v1 only.
ResumlyClient still imports, but it is now an alias of the new Resumly
client — method names and endpoints have changed. Pin resumly<1.0 while
you migrate if you depended on the old client.
Prefer chat over code?
Connect Resumly to Cursor, Claude Code, VS Code, or another header-capable client through the Resumly MCP server and run the same pay-per-use loop in plain English.
Installation¶
Quick Start¶
from resumly import Resumly
client = Resumly(api_key="rly_your_api_key") # or set RESUMLY_API_KEY
print(client.balance()) # your first key includes $5 trial credit
# Import a job and tailor a resume for it
job = client.import_job("https://example.com/jobs/senior-engineer") # $0.05
resume = client.tailor(job["job_id"]) # $0.25
client.download(resume["resume_id"], path="tailored.docx") # free
How billing works¶
- $5 trial credit with your first API key — every plan, including free.
- Top up in fixed amounts ($10 / $25 / $50 / $100) via
buy_credit(). - Every metered call deducts its price up front; failures are refunded. Your balance is your spend cap — a 402 (
InsufficientCreditError) means the wallet can't cover the operation and nothing runs. - Auto-apply submissions reserve $0.50 and bill only on confirmed submission.
- Pass
idempotency_key=on metered POSTs to make retries safe (a reused key returns 409 instead of double-charging).
| Operation | Price |
|---|---|
| Parse base resume / refresh a search / import a job | $0.05 |
| Tailor a resume | $0.25 |
| Cover letter / interview questions / translate | $0.10 |
| Interview answer feedback | $0.05 |
| PDF export | $0.02 |
| Company research | $0.25 |
| Rewrite base resume | $0.50 |
| Submitted application | $0.50 (billed only on success) |
What you can do¶
| Area | What you can do |
|---|---|
| Account | Balance, usage ledger, API keys, wallet top-ups |
| Profile | Upload/read/update your base resume, autofill answers, tailoring instructions, readiness |
| Queries | Plain-English → filters (interpret), supply checks, saved searches, refreshes |
| Jobs | Your match-scored board, filters, save/block/skip, import outside postings |
| Documents | Tailored resumes, cover letters, DOCX download, PDF export, translate, rewrite |
| Prep | Interview questions, answer feedback, company research |
| Applying | Auto-apply eligible jobs, queue submissions, track applications |
| Autopilot | Hands-free search + tailor + apply on a schedule |
| Inbox | Managed apply inbox: classified employer emails, reply, compose |
Authentication¶
Get your API key from the Resumly Dashboard → Settings → API.
All requests use the X-API-Key header. The SDK retries rate limits (429) automatically, honoring Retry-After.
Agencies¶
B2B agency accounts manage client profiles with a full-scope key via resumly.agency.AgencyClient, then operate per-client with each client's own key.
Next Steps¶
- Getting Started Guide — the daily notebook loop, step by step
- API Reference — every method documented
- Exceptions — error handling