# [US] Job search aggregator

This template is designed to search for job listings within the United States on multiple job websites based on keywords. Fields include keyword, location, job title, salary, etc.

- Template page: [https://www.octoparse.com/template/us-job-search-aggregator](https://www.octoparse.com/template/us-job-search-aggregator)
- Categories: Jobs
- Status: `PUBLISHED`
- Run mode: `LOCAL`

## Pricing

Free.

## What is an Octoparse template?

An Octoparse template is a ready-to-use scraping workflow with predefined inputs and structured outputs. Use the exact parameter keys below; do not invent parameters.

## Overview

This ready-to-use template collects structured data from search-results pages, listing pages.

## Output

The current workflow extracts 9 fields, including `keyword`, `location`, `site`, `jobTitle`, `jobLink`, `company`, `jobLocation`, `salary`, `description`.

## Use Cases

- Use structured results for research, comparison, and monitoring.
- Collect rows without building the extraction workflow from scratch.
- Combine results with other templates for downstream enrichment.
- Review a representative result before starting a large batch.

## Why Octoparse

- **No coding required:** complete keyword pair (1 per run) and start the template in local mode.
- **Flexible export:** review and export results as CSV, Excel, or JSON.

## Input

### keyword pair (1 per run)

Required. Enter a combination of keyword and location for searching on job websites. Constraints: minItems=1; maxItems=100; items.minLength=1; items.maxLength=5000.

## How to Use

### US Job Search Aggregator Template Guide

Collects job-search results from Indeed, Glassdoor, CareerBuilder, ZipRecruiter, and Careerjet. Returns structured data with fields: `keyword`, `location`, `site`, `jobTitle`, `jobLink`, `company`, `jobLocation`, `salary`, `description`.

**Pricing:** Free of charge (Octoparse plan/resource limits may apply).

#### Input

- **keyword pair (1 per run)** (Required) – Enter a keyword and location combination. Up to 100 entries per run.

#### Output Fields

- `keyword`
- `location`
- `site`
- `jobTitle`
- `jobLink`
- `company`
- `jobLocation`
- `salary`
- `description`

Example output:

```json
{
"keyword": "Software Engineer",
"location": "San Francisco, CA",
"site": "ziprecruiter",
"jobTitle": "Senior Software Engineer - San Francisco",
"jobLink": "https://www.ziprecruiter.com/k/l/AAJ0DIlSE7W_B4eNWEzXqJsmsWp73tNFRAfd3_qq6VQCMvRBPK8IvBV5x-t6qQZitQm9SHgCZX7g-2P_M01xfC2uQmVYcwm_igS1N9SJaxSc6dgc6DBBzzwhfYITxhINkdVwVgV9CPPE23eg3nlf8mFJnR2mJ6Zv-ePsBC8b7LMtWMUKxPTii_gsjAQDj2up90RFMKef9ELFbia4OtTSyatZe7XKS4FAlYIdC3EsaAi4cxdqlw",
"company": "Focal Systems",
"jobLocation": "San Francisco, CA",
"salary": "$144K - $190K / yr",
"description": null
}
```

#### How to Use

1. Open the template and click **Try it!**.
2. Fill in **keyword pair (1 per run)** with your desired entries (up to 100).
3. Run the task locally in Octoparse.
4. Review the output fields (e.g., `jobTitle`, `jobLink`, `salary`), then export the data.

#### Tips

- Start with a focused keyword pair to easily verify the first run before scaling up.
- Keep the `keyword` field in exports to trace each row back to its input.

## Limitations

Results depend on what the source site exposes at run time. Fields may be empty when a source page does not provide a value. The template enforces the input limits shown above.

## Tips

Use specific, valid inputs and review a representative result before starting a large batch. Remove duplicate inputs when repeated records are not needed.

## FAQ

### What do I need to enter?

Use the exact inputs and limits listed above.

### What data does this template return?

See Output Schema below; availability can vary by source record.

### How is usage billed?

See the Pricing section above for current pricing and billing details.

## Related Templates

- [Search Engine Aggregator](https://www.octoparse.com/template/search-engine-aggregator)
- [Amazon Product Scraper (for US)](https://www.octoparse.com/template/amazon-product-details-scraper)
- [Amazon Reviews Scraper (US)](https://www.octoparse.com/template/amazon-reviews-scraper-for-amazon-us)
- [Bic Camera Search Results Scraper](https://www.octoparse.com/template/bic-camera-search-results-scraper)
- [Google Search Scraper](https://www.octoparse.com/template/google-search-scraper)

## Input Schema

```json
{
  "title": "[US] Job search aggregator input",
  "description": "Input parameters configured for the current published template version.",
  "type": "object",
  "schemaVersion": 1,
  "additionalProperties": false,
  "properties": {
    "keyword_pair": {
      "title": "keyword pair (1 per run)",
      "description": "Enter a combination of keyword and location for searching on job websites.",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 5000
      },
      "minItems": 1,
      "maxItems": 100,
      "x-octoparse": {
        "apiEnabled": false
      }
    }
  },
  "required": [
    "keyword_pair"
  ]
}
```

## Input JSON Example

No verified real input/output examples are currently available.


## Output Schema

```json
{
  "schemaVersion": 1,
  "type": "object",
  "properties": {
    "keyword": {
      "type": "string",
      "description": ""
    },
    "location": {
      "type": "string",
      "description": ""
    },
    "site": {
      "type": "string",
      "description": ""
    },
    "jobTitle": {
      "type": "string",
      "description": ""
    },
    "jobLink": {
      "type": "string",
      "description": ""
    },
    "company": {
      "type": "string",
      "description": ""
    },
    "jobLocation": {
      "type": "string",
      "description": ""
    },
    "salary": {
      "type": "string",
      "description": ""
    },
    "description": {
      "type": "string",
      "description": ""
    }
  },
  "title": "[US] Job search aggregator output",
  "description": "Initial output fields derived from the current published implementation. Field descriptions are maintained by Data Center; production field names and types should be refreshed from recent successful runs.",
  "additionalProperties": false
}
```

## Output Example

No verified real input/output examples are currently available.

## API

`POST https://openapi.octoparse.com/api/agentTools/executeTask`

This is the OpenAPI Agent Tools `executeTask` endpoint. Authenticate with a Bearer token.

Request body:

`templateName` is the template slug; `parameters` is a JSON object string whose keys match Input Schema; `taskName`, `idempotencyKey`, and `maxCollectedRows` are optional.

Obtain a token:

```http
POST https://openapi.octoparse.com/token
Content-Type: application/json

{
  "username": "YOUR_USERNAME",
  "password": "YOUR_PASSWORD",
  "grant_type": "password"
}
```

Use `data.access_token` as `Authorization: Bearer <token>`. After starting, poll `getTaskStatus` and export with `exportData`.

No verified real input/output examples are currently available.

## MCP Setup

Connect an MCP-compatible AI client to `https://mcp.octoparse.com` using browser OAuth or an Octoparse API key. Find `us-job-search-aggregator`, inspect its inputs, create a cloud task with the exact Input Schema keys, and export JSON results.

## Machine-readable Resources

- [Template contract](https://www.octoparse.com/templates/us-job-search-aggregator.json)
- [Manifest](https://www.octoparse.com/templates/us-job-search-aggregator-manifest.json)
