search_jobs
Search job listings across 12 countries with filters for location, salary, contract type, and keywords to find relevant employment opportunities.
Instructions
Search for jobs on Adzuna across 12 supported countries.
IMPORTANT: All salary figures are ANNUAL amounts in LOCAL CURRENCY.
Args: country: ISO 3166-1 alpha-2 country code. Determines job market AND currency. Supported: "gb" (UK/GBP), "us" (USA/USD), "de" (Germany/EUR), "fr" (France/EUR), "au" (Australia/AUD), "nz" (New Zealand/NZD), "ca" (Canada/CAD), "in" (India/INR), "pl" (Poland/PLN), "br" (Brazil/BRL), "at" (Austria/EUR), "za" (South Africa/ZAR)
keywords: Space-separated search terms matched against job title and description.
- Terms are OR'd together (more matches = higher ranking)
- Case insensitive
- No boolean operators (AND/OR/NOT not supported)
Examples: "python developer", "machine learning engineer", "senior react"
location: Geographic filter with fuzzy matching.
Accepts: city names, regions, postal code prefixes.
Examples: "London", "Manchester", "SW1" (UK), "New York", "10001" (US)
Leave empty for country-wide search. For remote jobs, include "remote" in keywords.
page: Page number for pagination (starts at 1, not 0).
results_per_page: Results per page (default 10, max 50).
salary_min: Minimum ANNUAL salary filter in LOCAL CURRENCY (e.g., 50000 not 50).
Note: Jobs without listed salaries are excluded when using this filter.
salary_max: Maximum ANNUAL salary filter in LOCAL CURRENCY.
full_time: Set True to show ONLY full-time jobs.
part_time: Set True to show ONLY part-time jobs.
contract: Set True to show ONLY contract/freelance jobs.
permanent: Set True to show ONLY permanent positions.
category: Job category tag from get_categories tool.
Common tags: "it-jobs", "engineering-jobs", "finance-jobs", "sales-jobs"
IMPORTANT: Call get_categories(country) first to get valid tags.
sort_by: Sort order - "date" (newest first), "salary" (highest first),
"relevance" (best match, default).
max_days_old: Maximum age of listings in days (e.g., 7 for last week).Returns: dict: Search results containing: - count (int): Total matching jobs (for pagination) - results (list): Job listings, each with: - id: Unique job identifier - title: Job title - company.display_name: Employer name - location.display_name: Job location - description: Truncated job description (~150 chars) - redirect_url: URL to apply (via Adzuna redirect) - created: ISO 8601 posting date - salary_min, salary_max: Annual salary range (may be null) - salary_is_predicted: "1" if Adzuna estimated the salary from job description, "0" if the employer explicitly listed the salary. Predicted salaries are less reliable for negotiation. - contract_type: "permanent", "contract", etc. - contract_time: "full_time", "part_time" - category.tag: Category identifier
Example response: { "count": 523, "results": [{ "id": "4123456789", "title": "Senior Software Engineer", "company": {"display_name": "Tech Corp"}, "location": {"display_name": "London"}, "salary_min": 70000, "salary_max": 90000, "redirect_url": "https://www.adzuna.co.uk/..." }] }
Errors: - Invalid country code: "API Error 400: Invalid country" - Invalid category: "API Error 400: Invalid category tag" - Rate limit exceeded: "API Error 429: Too many requests" - Authentication failure: "API Error 401: Invalid credentials"
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ||
| keywords | No | ||
| location | No | ||
| page | No | ||
| results_per_page | No | ||
| salary_min | No | ||
| salary_max | No | ||
| full_time | No | ||
| part_time | No | ||
| contract | No | ||
| permanent | No | ||
| category | No | ||
| sort_by | No | ||
| max_days_old | No |