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 Claude, Claude Code, Cursor, or VS Code through the Resumly MCP server, sign in with your Resumly account, 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