Getting Started¶
This guide walks through the typical Resumly SDK workflow.
1. Install and Authenticate¶
2. Upload Your Base Resume¶
result = client.upload_base_resume("my_resume.pdf")
base = client.get_base_resume()
print(base["base_resume"]["name"])
3. Search for Jobs¶
# AI-generate a search query and run it
client.embed_base_resume()
search = client.generate_and_run_search()
# Browse results
jobs = client.get_relevant_jobs()
for job in jobs["jobs"][:5]:
print(f"{job['title']} @ {job['company']}")
4. Create a Tailored Resume¶
result = client.create_resume(
job_description="Senior Engineer at Acme. Python, AWS.",
cover_letter=True,
interview_question=True,
)
job_id = result["job_id"]
5. Review and Export¶
# View comparison
comparison = client.get_resume_comparison(job_id)
# Get insights
insights = client.get_resume_insights(job_id)
# Export PDF
client.export_resume_pdf(job_id, path="tailored.pdf")
6. Cover Letter and Interview Prep¶
# Cover letter
cl = client.get_cover_letter(job_id)
print(cl["cover_letter_text"])
# Interview questions
questions = client.get_interview_questions(job_id)
for q in questions["questions"][:3]:
print(f" Q: {q}")
# Evaluate an answer
score = client.check_interview_answer(
job_id,
question="Tell me about a challenging project.",
answer="I led the migration of our monolith to microservices...",
)
7. Auto-Apply¶
eligible = client.get_auto_apply_eligible_jobs()
client.queue_auto_apply(job_id="...", resume_id="...")
status = client.get_auto_apply_status()
8. Build AI Agents¶
Every SDK method maps to a single API call, making it easy to use Resumly as a tool in AI agent frameworks:
# LangChain / CrewAI / custom agents
tools = {
"search_jobs": lambda: client.generate_and_run_search(),
"create_resume": lambda desc: client.create_resume(job_description=desc),
"apply": lambda jid, rid: client.queue_auto_apply(jid, rid),
}
Error Handling¶
from resumly import ResumlyError, AuthenticationError, RateLimitError
try:
client.create_resume(job_url="https://example.com/job")
except AuthenticationError:
print("Check your API key")
except RateLimitError as e:
print(f"Rate limited. Retry after {e.retry_after}s")
except ResumlyError as e:
print(f"API error: {e}")