{
  "openapi": "3.0.1",
  "info": {
    "title": "USAJOBS Scraper [$0.9/1K💰] | Federal Jobs | GS Pay | Clearance",
    "description": "Extract USAJOBS federal job announcements without an API key — agency, salary range, GS pay grade, security clearance, remote & telework flags, hiring paths, duty locations and closing dates. Built for job boards, federal recruiters and hiring research.",
    "version": "1.0",
    "x-build-id": "3h2keW2N5FKRa5wXL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ahmed_jasarevic~usajobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ahmed_jasarevic-usajobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/ahmed_jasarevic~usajobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-ahmed_jasarevic-usajobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/ahmed_jasarevic~usajobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-ahmed_jasarevic-usajobs-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Search keyword (e.g. 'nurse', 'engineer'). Searches the full announcement text."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, state, ZIP code or military installation name (e.g. 'Washington DC', 'Texas')."
          },
          "hiringPaths": {
            "title": "Hiring Paths (Who can apply)",
            "type": "array",
            "description": "Hiring path filters. Values: public, vet, nguard, disability, native, mspouse, student, ses, peace, overseas, fed-internal-search, graduates, fed-excepted, fed-competitive, fed-transition, land, special-authorities.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "jobCategoryCodes": {
            "title": "Occupational Series (Job Category Codes)",
            "type": "array",
            "description": "Occupational series codes (e.g. '2210' for IT Management, '0801' for General Engineering). Multiple values allowed.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "departments": {
            "title": "Departments",
            "type": "array",
            "description": "Department codes (e.g. 'AF' for Air Force, 'HE' for HHS). Multiple values allowed.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "agencies": {
            "title": "Agencies (Sub-agencies)",
            "type": "array",
            "description": "Agency sub-element codes (e.g. 'AF00'). Multiple values allowed.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "securityClearance": {
            "title": "Security Clearance",
            "enum": [
              "",
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "7",
              "8"
            ],
            "type": "string",
            "description": "Security clearance filter. Values: 0=Not Required, 1=Confidential, 2=Secret, 3=Top Secret, 4=Sensitive Compartmented Information, 5=Q Access Authorization, 7=L Access Authorization, 8=Other."
          },
          "remoteIndicator": {
            "title": "Remote Only",
            "type": "boolean",
            "description": "If true, only return remote jobs. If false, exclude remote jobs. If unset, include all."
          },
          "teleworkIndicator": {
            "title": "Telework Eligible",
            "type": "boolean",
            "description": "If true, only return telework-eligible jobs. If unset, include all."
          },
          "workSchedule": {
            "title": "Work Schedule",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6"
            ],
            "type": "string",
            "description": "Work schedule filter. Values: 1=Full-time, 2=Part-time, 3=Shift work, 4=Intermittent, 5=Job Sharing, 6=Multiple Schedules."
          },
          "appointmentType": {
            "title": "Appointment Type (Job Type)",
            "enum": [
              "",
              "15317",
              "15337",
              "15342",
              "15352",
              "15368"
            ],
            "type": "string",
            "description": "Appointment/offering type filter. Values: 15317=Permanent, 15337=Term, 15342=Detail, 15352=Temporary, 15368=Multiple Appointment Types."
          },
          "travelPercentage": {
            "title": "Travel Percentage",
            "enum": [
              "",
              "0",
              "25",
              "50",
              "75",
              "100"
            ],
            "type": "string",
            "description": "Travel percentage filter. Values: 0=No travel, 25=Occasional travel, 50=Less than 25%, 75=25% or more, 100=Up to 100%."
          },
          "supervisors": {
            "title": "Supervisory Status",
            "enum": [
              "",
              "true",
              "false"
            ],
            "type": "string",
            "description": "Supervisory status. Values: true = supervisory, false = non-supervisory."
          },
          "sortField": {
            "title": "Sort Field",
            "type": "string",
            "description": "Field to sort by. Values: opendate, closedate, organizationname, jobtitle, positiontitle, openingdate, closingdate, honame, salarymin, location, department, title, agency, salary."
          },
          "sortDirection": {
            "title": "Sort Direction",
            "enum": [
              "",
              "Asc",
              "Desc"
            ],
            "type": "string",
            "description": "Asc or desc."
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of job announcements to scrape. Free users are capped at 10.",
            "default": 50
          },
          "resultsPerPage": {
            "title": "Results Per Page",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Number of results per search page (max 500).",
            "default": 100
          },
          "maxSearchPages": {
            "title": "Max Search Pages",
            "minimum": 1,
            "maximum": 400,
            "type": "integer",
            "description": "Maximum number of search-result pages to fetch (each page holds up to 'Results Per Page' jobs). Paging stops early once Max Items or a page with no new jobs is reached. Practical max 400 pages.",
            "default": 40
          },
          "startUrls": {
            "title": "Direct Job Detail URLs (optional)",
            "type": "array",
            "description": "Optional list of full job announcement URLs (https://www.usajobs.gov/job/<id>) to scrape directly, skipping the search step.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "proxy": {
            "title": "Proxy Configuration (optional)",
            "type": "object",
            "description": "Optional proxy used only for the short browser-bootstrap step that passes the Akamai anti-bot check. By default the actor runs its own headless Chromium to harvest the Akamai session cookie, then reuses it over plain HTTP ΓÇö no proxy or UNBLOCKER API key required. Enable a proxy (e.g. RESIDENTIAL) only if your datacenter IP is blocked by Akamai. Detail pages are always scraped directly without a proxy.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}