AI Job Search
Build Your Own AI Job Search Agent: Automate Your AU/NZ Job Hunt with Python, Claude, and the JobSparrow API
By Job Sparrow Team

You are a developer, data scientist, or tech-savvy professional looking for your next big role in Australia or New Zealand. You already know how the game is played. You find an excellent job opening, read through the requirements, and then face the most soul-crushing part of the process. You have to manually tailor your resume for the fiftieth time this month.
It takes hours of tedious editing, formatting, and keyword matching. Even worse, half the time you never hear back. You know automation is the answer to this problem. However, most consumer AI tools are too rigid for your specific workflow.
On the other hand, trying to build custom Python web scrapers for local job boards results in fragile code. Your scripts break every time a site updates its UI or throws a CAPTCHA (a test to tell human and bot traffic apart) at your IP address.
It is time to stop fighting brittle HTML tags. In this guide, we will show you how to build a robust, custom AI job search agent using Python, Claude, and the JobSparrow API. This setup will automate your AU/NZ job hunt from finding listings to generating perfectly tailored, ATS-friendly PDF resumes.
The Job Search is Automated for Employers (It is Time to Level the Playing Field)
If you feel like your applications are disappearing into a void, you are not imagining things. The modern hiring process is heavily automated on the employer side. Companies receive hundreds of applications for a single role, making it impossible for human recruiters to review every document manually.
According to research from Business for Social Responsibility (BSR), employers are increasingly automating the hiring process through the use of artificial intelligence tools. This trend accelerated significantly over the last few years. Applicant Tracking Systems (ATS) filter, rank, and discard candidates before a human ever sees a resume.
This creates the dreaded Job Application Black Hole AU/NZ: 8 Reasons You're Not Hearing Back & How to Fix It. When you submit a generic resume, the employer's automated system simply does not find the specific keywords and formatting it requires to pass you to the next round.
To compete in this environment, you must automate your side of the equation. Building an AI job search agent allows you to play by the same rules as the employers. You can programmatically analyze what their systems want and deliver exactly that, scaling your output without sacrificing the hyper-personalization required to win interviews.

Why Python Web Scrapers Fail (and What to Use Instead)
Many developers start their programmatic job search by writing Python scripts using Selenium, Playwright, or BeautifulSoup. The goal is usually to scrape job listings from major AU/NZ platforms and auto-fill application forms. While this sounds great in theory, it is a nightmare in practice. Here is why traditional web scraping fails:
- Constant UI Updates: Job boards change their HTML classes and Document Object Model (DOM) structures constantly. Your script might work on Monday and fail completely by Wednesday.
- Aggressive Anti-Bot Measures: Platforms use advanced CAPTCHAs, IP rate limiting, and behavioral analysis (tracking how a user moves their mouse) to block automated traffic.
- Messy Data: Extracting clean, structured text from a dynamically rendered web page using XPath selectors is incredibly difficult, leading to garbage data being fed into your LLM.
Instead of relying on fragile scrapers, you need a dedicated job search API for Australia and New Zealand. This is where the JobSparrow API comes in. Unlike enterprise APIs built for recruiters, the JobSparrow API is explicitly designed for the applicant's workflow.
It provides clean JSON data for job listings and offers endpoints to generate perfectly formatted application documents. By replacing your web scraper with a reliable API, you can focus on building the intelligence of your agent rather than fixing broken code.
The Architecture of Your Custom AI Career Agent
Before we dive into the code, let us outline the architecture of the AI job search agent we are building. The system relies on three core components working together in a seamless pipeline.
- Python (The Orchestrator): Python will run the main script, handle API requests, manage your local database, and move data between services.
- Claude (The Brain): We will use Anthropic's Claude API to process the job descriptions. Claude has a massive context window and superior nuanced reasoning, making it the best choice for rewriting career achievements naturally.
- JobSparrow API (The Engine): This API will serve two purposes. First, it will fetch structured job listings. Second, it will take the JSON output from Claude and render it into a beautiful, ATS-optimized PDF resume.
Understanding how these systems interact is crucial. According to enterprise software leader SAP, an Applicant Tracking System serves as the central database for job and applicant information where applications are managed and screened. Your agent must output data in a format these systems can easily digest.
Before You Write a Single Line of Code
Before hitting the API endpoints, you need a single source of truth for your career history. You should first build your Master Career Profile inside the JobSparrow platform. Using our built-in Gap Filler tool will help you identify and strengthen missing skills before you start automating. This comprehensive profile is exactly what the API draws from to generate your tailored applications.
Step 1: Fetching AU/NZ Jobs Programmatically
The first step is to pull relevant job listings without triggering anti-bot protections. Using the JobSparrow API, we can request jobs based on specific criteria like location, role, and industry. Note: API access requires an active JobSparrow subscription, which you can verify in your account settings.
Here is a basic Python snippet to fetch tech jobs in Sydney:
import requests
import json
JOBSPARROW_API_KEY = 'your_api_key_here'
HEADERS = {
'Authorization': f'Bearer {JOBSPARROW_API_KEY}',
'Content-Type': 'application/json'
}
def fetch_jobs(location, query):
url = "https://api.jobsparrow.ai/v1/jobs/search"
payload = {
"location": location,
"query": query,
"limit": 5
}
response = requests.post(url, headers=HEADERS, json=payload)
if response.status_code == 200:
return response.json()['jobs']
else:
print("Error fetching jobs")
return []
# Fetch Python Developer roles in Sydney
jobs = fetch_jobs("Sydney, NSW", "Python Developer")
for job in jobs:
print(f"Found: {job['title']} at {job['company']}")
This script returns clean JSON containing the job title, company name, and the full text of the job description. By filtering for your specific AU/NZ city, you avoid wasting API calls on irrelevant global listings.
Prefer a no-code option? JobSparrow's Smart Job Search dashboard aggregates jobs from LinkedIn, Indeed, and Seek in one single interface. This allows you to find highly targeted roles without making any API calls.
Step 2: Parsing the Job Description with Claude
Now that you have the raw job description, you need to extract the core requirements and tailor your Master Profile to match them. This is where Claude shines. While other LLMs tend to generate robotic, buzzword-heavy text, Claude excels at maintaining a professional, human tone.
You will need to pass your base resume (your Master Profile) and the job description to Claude using a highly structured prompt. By forcing Claude to output JSON, you eliminate the need to manually copy and paste the generated text.
Here is a prompt template you can use in your Python script:
You are an expert executive career coach. I will provide you with a Job Description and my Master Resume.
Your task is to:
1. Analyze the Job Description and identify the top 5 mandatory technical skills and soft skills.
2. Select the most relevant achievements from my Master Resume that prove I have these skills.
3. Rewrite my bullet points to align with the vocabulary used in the job description.
4. Ensure the tone is professional, metric-driven, and confident.
Output the final tailored resume strictly as a JSON object matching the JobSparrow API schema.
The script can capture the JSON response and immediately pass it to the next stage of your pipeline.
Not a developer? JobSparrow does all of this automatically inside our dashboard, no code required. See how it works and start your free trial.
Step 3: Generating an ATS-Friendly PDF Resume via API
One of the biggest mistakes developers make is trying to generate the final PDF locally using Python libraries like ReportLab or PyPDF. These libraries often create PDFs with broken text layers or unpredictable formatting.
According to research from UMass Lowell, many companies use ATS to filter and rank candidates before a human recruiter even sees the resumes. If the ATS parser cannot read your locally generated PDF, you will be automatically rejected regardless of your qualifications.
To bypass this risk, send the JSON data generated by Claude back to the JobSparrow API. Our document generation endpoints are specifically engineered to produce PDFs that are structured to maximize readability in enterprise ATS platforms like Workday, Taleo, and Greenhouse. You can choose from five professionally designed templates, including Professional, Two Column, Elegant, Colorful, and Contemporary.
def generate_pdf(tailored_resume_json):
url = "https://api.jobsparrow.ai/v1/documents/resume/generate"
payload = {
"resume_data": tailored_resume_json,
"template": "professional"
}
response = requests.post(url, headers=HEADERS, json=payload)
if response.status_code == 200:
download_url = response.json()['download_url']
print(f"Success! Download your ATS-friendly PDF here: {download_url}")
return download_url
return None
As with any application, we recommend reviewing your generated PDF before submitting. This step takes seconds and ensures that your formatting is clean, professional, and entirely readable by recruitment bots.
Step 4: Tracking Your Automated Pipeline
When you automate your job application python script, your output volume will increase dramatically. Applying to dozens of jobs a week is great, but losing track of what you sent to whom is a disaster.
Data from Oracle indicates that 78% of recruiters using an ATS report that it has improved the quality of their hires. They are highly organized, and you must be too. If a recruiter calls you for a phone screen, you need to know exactly which version of your resume they are looking at.
Add a tracking function to your Python script to log every generated application into a local SQLite database or a simple CSV file. Your tracker should log:
- The date of generation
- The target company and job title
- The URL of the original job posting
- A local link to the tailored PDF resume
If you want to see how a proper tracking system should look, review our guide on Job Tracker Spreadsheet vs. App: 5 Signs Your Excel Tracker is Costing You Interviews in AU & NZ. Building this logging directly into your Python script ensures you never walk into an interview unprepared.
Common Mistakes When Automating Applications
Even with a powerful AI agent, candidates can still make critical errors. The most common mistake is using the exact same prompt for every job, which limits Claude's ability to highlight unique skills. Another frequent error is failing to manually review the JSON output before generating the PDF.
Always remember that AI is an assistant, not a replacement for your professional judgment. Take the time to verify that your metrics are accurate and your contact information is correct before submitting.
From Script to System: Your Next Steps
Building an AI job search agent transforms a stressful, manual chore into a streamlined engineering task. By leveraging Python, Claude, and the JobSparrow API, you can generate highly tailored, ATS-friendly applications at scale without relying on fragile web scrapers.
Once your basic pipeline is running, you can expand its capabilities. You can easily add an AI cover letter generator API call to the script, creating a complete application package for every role. You can also integrate the script with your email client to notify you when new, highly matched jobs are found.
Ready to automate your AU/NZ job search? Build your Master Career Profile in JobSparrow and generate your first tailored resume in under 60 seconds, no scraping required. Start Your Free Trial today and land more interviews.
Frequently Asked Questions
Is it legal to automate job applications in Australia and New Zealand?
Yes. Using APIs to tailor your documents and manage your workflow is entirely legal and encouraged. This is very different from malicious botting or spamming job boards with fake data, which violates platform terms of service. You are simply using technology to write better, more personalized documents faster.
Will Applicant Tracking Systems reject my AI-generated resume?
No. ATS platforms do not penalize AI content. They scan for readable text, relevant keywords, and standard formatting. Using the JobSparrow API ensures your PDF is structured perfectly for these parsers, which actually increases your chances of passing the initial screen.
Why should I use Claude instead of ChatGPT for resume tailoring?
Claude offers an advanced context window and a highly nuanced writing style. It excels at producing natural, professional-sounding career documents. It is less prone to using obvious AI buzzwords, making your achievements sound authentic and metric-driven.
How much programming experience do I need to build this AI agent?
Basic Python knowledge is sufficient. If you know how to handle API requests and parse JSON data, you can build this pipeline. The JobSparrow API handles the heavy lifting of PDF generation and job matching, so you do not need advanced machine learning expertise.
Can I use the JobSparrow API to generate cover letters as well?
Absolutely. The API supports complete application document generation. You can easily add another function to your Python script to generate a highly personalized cover letter alongside your tailored resume, creating a complete package in seconds.
Tags
Keep reading
Recommended articles.
AI Job Search · Job Application Automation
Stop Manually Applying: Build an AI Job Search Agent for Australia & New Zealand
Automate your AU/NZ job search with an AI agent. This no-code guide shows you how to connect JobSparrow's API to find jobs and tailor applications.
Career Growth · AI for Jobs
Get Promoted Faster: Using AI for Your Internal Job Application
Ready for a promotion? Learn how to use AI to analyze skill gaps, tailor your resume, and build a winning case for your next internal move. Get started free.
Behavioral Interviews · STAR Method
How to Master Behavioral Interviews in AU/NZ: Using AI for STAR Method Prep
Master the AU/NZ job market with STAR method interview prep. Reframe overseas experience, avoid Tall Poppy Syndrome, and ace your interview with AI.