USA Jobs Scraper avatar
USA Jobs Scraper

Pricing

Pay per usage

Go to Apify Store
USA Jobs Scraper

USA Jobs Scraper

Developed by

Shahid Irfan

Shahid Irfan

Maintained by Community

A simple USA Jobs scraper with minimal columns for just the essential data. It uses residential proxies to avoid blocking, ensuring a smooth and reliable run. Get the federal job listings you need, without the clutter.

5.0 (1)

Pricing

Pay per usage

0

1

1

Last modified

17 hours ago

USAJobs.gov Scraper

This Apify actor provides a powerful and efficient way to scrape job listings from USAJobs.gov, the official portal for federal government jobs in the United States. It directly queries the site's data endpoints to ensure fast and reliable data extraction.

Features

  • Scrapes jobs based on keywords, location, date, and other advanced filters.
  • Extracts comprehensive details for each job, including title, agency, location, salary range, and the full description.
  • Efficiently handles API pagination to retrieve a large number of job listings.
  • Saves results in a structured format to the Apify dataset.

Input

The actor accepts the following input fields:

  • startUrl (string): A USAJobs.gov search URL. The actor will parse keywords and location from it. Example: https://www.usajobs.gov/Search/Results?k=software+developer
  • keyword (string): Job search keyword(s) to query (e.g., "software engineer").
  • location (string): Location to filter jobs by (e.g., "Washington, DC", "90210").
  • daysBack (integer): Number of days back to search for jobs. Defaults to 30.
  • maxJobs (integer): The maximum number of jobs to scrape. Defaults to 1000.
  • useDetailEnrichment (boolean): If enabled, the actor opens each job detail page to capture the full description and other details. Defaults to true.
  • proxyConfiguration (object): Proxy settings for the run. Using a proxy is recommended.

Advanced Inputs

  • startDate / endDate (string): Specify a date range for job postings in YYYY-MM-DD format. Overrides daysBack.
  • positionSeries (array of strings): Filter by job series codes (e.g., ["2210"] for IT Management).
  • hiringAgencyCodes (array of strings): Filter by specific agency codes.
  • hiringDepartmentCodes (array of strings): Filter by specific department codes.
  • includeClosed (boolean): If enabled, the scraper will include jobs that are no longer accepting applications. Defaults to false.
  • maxApiPages (integer): A safety cap on the number of API pages to process. Defaults to 50.

Output

The actor saves the scraped data to the Apify dataset. Each item is a JSON object with the following structure:

{
"source": "usajobs",
"controlNumber": "793451800",
"positionTitle": "IT SPECIALIST (INFOSEC)",
"organizationName": "U.S. Customs and Border Protection",
"departmentName": "Department of Homeland Security",
"payScale": "GS",
"minimumSalary": 132368,
"maximumSalary": 172075,
"positionOpenDate": "2024-06-07T04:00:00Z",
"positionCloseDate": "2025-06-06T03:59:00Z",
"positionOpeningStatus": "Accepting Applications",
"positionLocations": [
{
"positionLocationCity": "Washington",
"positionLocationState": "District of Columbia",
"positionLocationCountry": "United States"
}
],
"locationDisplay": "Washington, District of Columbia, United States",
"detailUrl": "https://www.usajobs.gov/job/793451800",
"open_close_dates": "06/07/2024 to 06/06/2025",
"salary": "$132,368 - $172,075 per year",
"pay_scale_grade": "GS 14",
"work_schedule": "Full-time",
"appointment_type": "Permanent",
"service": "Competitive",
"description_html": "<h2>Summary</h2><div><p>This is a supervisory position...</p></div>",
"description_text": "Summary This is a supervisory position..."
}

Usage

To run the actor, provide the keyword and any optional filters. The actor will search USAJobs.gov and extract the job listings until the results_wanted limit is reached.