RESEARCH / GROUP OJECT

Salary data without false precision

Salary research is only as good as source coverage. The Actor can require numeric salary data and normalize pay intervals, but the resulting sample is not a representative labor-market survey.

By Group Oject · Reviewed September 21, 2026

Ready-to-run input

Use this configuration in the Actor’s JSON input. Review the live price and set a maximum run charge before starting. Limits are maximums, not guaranteed output counts.

salary-data-research.json
{
  "searchTerm": "data engineer",
  "location": "New York, NY",
  "jobBoards": [
    "indeed"
  ],
  "countryIndeed": "USA",
  "maxResultsPerSite": 20,
  "maxItems": 20,
  "salaryOnly": true,
  "normalizeAnnualSalary": true
}

Filter for disclosed pay

Set salaryOnly: true to require a numeric minimum or maximum. This excludes jobs without disclosed numeric compensation and introduces selection bias. Keep the source currency and pay interval with each record.

Understand annual normalization

normalizeAnnualSalary uses 2,080 hours, 260 days, 52 weeks or 12 months for annual estimates. It does not convert currencies. Contract hours, paid leave and benefits may differ from those assumptions.

Compare similar roles and locations

Use title filters and explicit cities. searchLocation records your requested location, not proof that every returned job is physically within that city. Review actual job locations before grouping results.

Preserve provenance

Retain listing URLs and collection dates so another analyst can inspect the evidence. Label derived annual amounts as estimates and avoid presenting a small scraped sample as a market-wide average.

Sources & next step

This guide describes the Group Oject Actor. Consult its current input schema, README and pricing before running. For integration details, see the Apify API documentation.

Build your searchRun on Apify