|

|  How to Fetch Job Listings Using Adzuna API in Python

How to Fetch Job Listings Using Adzuna API in Python

October 31, 2024

Learn how to easily fetch job listings with Adzuna API using Python. This guide walks you through setup and code for accessing job data efficiently.

How to Fetch Job Listings Using Adzuna API in Python

 

Adzuna API Integration in Python

 

To fetch job listings using the Adzuna API in Python, you'll begin by interacting with the API through HTTP requests. Below, you'll find a structured approach to achieve this task using Python.

 

Install Required Libraries

 

  • The `requests` library will be critical for sending HTTP requests. You can install it using pip if it's not already available in your environment.

 


pip install requests

 

Compose the API Request

 

  • Adzuna's API requires specific parameters to retrieve job listings, such as your application's API ID, API Key, and the search criteria you want to use.
  • You'll need to build the URL with the appropriate query parameters to get data from Adzuna's job listings endpoint.

 


import requests

def fetch_job_listings(app_id: str, app_key: str, search_query: str, location: str, country: str = 'us') -> dict:
    base_url = f"https://api.adzuna.com/v1/api/jobs/{country}/search/1"
    parameters = {
        'app_id': app_id,
        'app_key': app_key,
        'what': search_query,
        'where': location,
        'content-type': 'application/json'
    }
    response = requests.get(base_url, params=parameters)
    return response.json()

 

Handle the API Response

 

  • Parse the JSON response to extract useful information about the job listings.
  • Consider handling potential errors, such as network issues or invalid API credentials, to ensure your application can fail gracefully.

 


import json

def parse_response(response: dict):
    if 'results' in response:
        for job in response['results']:
            job_title = job.get('title', 'N/A')
            company = job.get('company', {}).get('display_name', 'N/A')
            location = job.get('location', {}).get('display_name', 'N/A')
            print(f"Job Title: {job_title}, Company: {company}, Location: {location}")
    else:
        print("No results found or an error occurred.")

 

Execute the Request

 

  • Use the functions you've implemented to fetch and display the jobs based on your search criteria.
  • Replace `` and `` with your actual Adzuna API credentials.

 


app_id = '<YOUR_APP_ID>'
app_key = '<YOUR_APP_KEY>'
search_query = 'Software Developer'
location = 'New York'

response_data = fetch_job_listings(app_id, app_key, search_query, location)
parse_response(response_data)

 

Ensure Compliance and Responsible Use

 

  • Adhere to Adzuna's terms and conditions, ensuring your use of their API is compliant and responsible.
  • Respect rate limits and avoid unnecessary API calls to maintain performance and avoid service disruptions.