Dice Tech Jobs Scraper — IT Jobs, Salary & Remote API avatar

Dice Tech Jobs Scraper — IT Jobs, Salary & Remote API

Deprecated

Pricing

Pay per usage

Go to Apify Store
Dice Tech Jobs Scraper — IT Jobs, Salary & Remote API

Dice Tech Jobs Scraper — IT Jobs, Salary & Remote API

Deprecated

Collect Dice job postings through the public search API. Get normalized records with title, location, salary, remote type and sponsorship. Run with searchQueries; no buyer API key or Dice login is needed. Pricing: check current rates.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

5

Monthly active users

4 days ago

Last modified

Features

Limited permissions

Share

Dice Tech Jobs Scraper

Extract normalized Dice.com tech job postings through its public search API without a buyer API key or login. Use the dataset for recruiting, salary benchmarking, job aggregators and US tech job boards.

  • Get normalized rows with employer, location, employment and application fields, one per Dice job match.
  • Benchmark salary, seniority and remote-work classifications.
  • Filter for remote work, Easy Apply or indicated visa sponsorship.
  • Build searchable tech job boards from Dice listings.

What you get

One normalized dataset row is produced for each pushed Dice job. String fields are null when Dice does not provide the value; boolean fields are false when their source flag is absent, and warnings is empty when no warnings are created.

FieldTypeDescription
job_idstringDice identifier; null if absent.
titlestringJob title; null if absent.
companystringCompany name; null if absent.
locationstringFull location; null if unavailable.
city, state, countrystringLocation components; each can be null.
remote_typestringremote, hybrid, onsite, or null; inferred from Dice data and text.
senioritystringInferred level such as executive, vp, director, manager, principal, staff, lead, senior, intern, entry or mid; null for a blank title.
salarystringCleaned salary; non-salary values and missing salaries become null.
salary_rawstringCleaned source value before normalization; null if absent.
employment_typestringDice employment type, such as Contract; null if absent.
employer_typestringSuch as Direct Hire or Recruiter; null if absent.
easy_applybooleanWhether Dice Easy Apply is enabled.
willing_to_sponsorbooleanWhether the employer indicates visa-sponsorship willingness.
posted_atISO 8601 stringPosting or first active date; null if unavailable.
urlstringDice job URL; null if no detail URL or GUID exists.
summarystringSearch-result teaser of approximately 500 characters; null if absent.
global_idstringdice:<job_id> when an ID or GUID exists; otherwise null.
parse_confidencenumberAlways-present score from 0.0 to 1.0.
warningsarray of stringsData-quality warning codes; empty when none are created.
scraped_atISO 8601 stringUTC run timestamp; null if none is supplied.

Sample output

The shortened sample below omits city, state, country, salary_raw, warnings, and scraped_at.

{
"job_id": "07c59d74a6ae4e1eb0ac6a0f7182356b", "title": "Python Developer",
"company": "Dexian DISYS", "location": "Washington, District of Columbia, USA",
"remote_type": "onsite", "seniority": "mid", "salary": null,
"employment_type": "Contract", "employer_type": "Recruiter",
"easy_apply": true, "willing_to_sponsor": false,
"posted_at": "2026-10-27T00:16:28+00:00",
"url": "https://www.dice.com/job-detail/c79b5366-3e4e-414f-ab05-6a6a7726ea5f",
"summary": "This role requires 5 days on site in downtown Washington, DC. Seeking a technically strong candidate with a solid understanding of the full application development lifecycle, from development through production, who can clearly articulate their hands-on experience and bring innovative ideas to the team. Position Summary: Design, develop, enhance, and support modular Python services and REST APIs. Translate validated building science formulas, rules, assumptions, and dependency flows into accur",
"global_id": "dice:07c59d74a6ae4e1eb0ac6a0f7182356b",
"parse_confidence": 1
}

Pricing

This Actor uses pay-per-event billing. The primary job-result event represents one Dice tech or IT job with title, company, salary, seniority, remote type, sponsorship and apply URL.

Planjob-result price per event
Free plan$0.000900
Bronze plan$0.000891
Silver plan$0.000882
Gold plan$0.000873
Platinum plan$0.000864
Diamond plan$0.000855

Two additional charge events are listed:

Charge eventFree plan price per eventWhen it applies
salary-disclosed$0.000900The job record includes a disclosed salary.
sponsor-filter$0.000900The sponsorship filter is enabled for pushed rows.

job-result is charged for each pushed job. salary-disclosed applies when normalized salary is not null. sponsor-filter applies when willingToSponsorOnly is enabled.

1,000 results with no disclosed salaries and willingToSponsorOnly disabled = $0.90 on the Free plan.

10,000 results with no disclosed salaries and willingToSponsorOnly disabled = $9.00 on the Free plan.

The Apify Free plan includes $5 of monthly platform usage credit. At the Free-plan job-result price, that credit covers 5,555 job-result events before additional priced events.

You pay only for the events listed above. This Actor does not use the Pay per event + usage option, so compute, proxy traffic and storage are not billed separately.

How to use

  1. Enter one or more keyword strings in searchQueries.
  2. Add an optional location and countryCode.
  3. Choose API filters such as sort, workFromHome, employmentType and postedDate.
  4. Set post-fetch filters such as remoteOnly, easyApplyOnly, willingToSponsorOnly, titleKeyword or locationKeyword.
  5. Run the Actor and review the dataset; each query runs independently.
  6. Schedule repeated runs through Apify Schedules, starting with daily runs for a job-listing workflow.

Example input:

{
"searchQueries": ["python developer", "data engineer"],
"location": "San Francisco, CA",
"maxItems": 200,
"sort": "relevance",
"workFromHome": false,
"employmentType": "CONTRACTS",
"postedDate": "ONE_WEEK",
"remoteOnly": false,
"easyApplyOnly": false,
"willingToSponsorOnly": false
}

The default proxy group is Apify RESIDENTIAL through proxyConfiguration. No buyer proxy credentials, Dice login or API key are required. Export the dataset as JSON or CSV, or read it through the Apify dataset API.

Input parameters

ParameterWhat it doesDefault
searchQueriesKeyword queries run independently and combined.No value; provide one or more.
locationDice location filter; blank keeps US-wide results.Blank
countryCodeTwo-letter country code.US
maxItemsMaximum jobs, divided equally across queries (maxItems ÷ number of queries per query). 0 means no cap. A value smaller than the number of queries also disables the cap, so keep it at least as large as the number of queries.100
sortrelevance or newest first with date.relevance
workFromHomeAPI filter for Dice work-from-home jobs.false
employmentTypeFULLTIME, PARTTIME, CONTRACTS or THIRD_PARTY; blank keeps all.Blank
postedDateONE_DAY, THREE_DAYS, ONE_WEEK, TWO_WEEKS or ONE_MONTH; blank keeps all.Blank
titleKeywordCase-insensitive post-fetch title substring filter.Blank
locationKeywordCase-insensitive post-fetch location substring filter.Blank
remoteOnlyKeeps normalized remote_type equal to remote.false
easyApplyOnlyKeeps jobs with Dice Easy Apply enabled.false
willingToSponsorOnlyKeeps jobs where the employer indicates visa sponsorship willingness.false
proxyConfigurationConfigures the Apify proxy used for requests.Apify RESIDENTIAL group
disableUsageStatsDisables the run summary described in Usage statistics.false

Limits and edge cases

ConditionWhat you seeWhat to do
searchQueries is empty or absentThe Actor logs no queries, writes error: "no_queries" to the run OUTPUT, and produces no dataset rows.Add one or more non-empty queries.
A query returns no jobsIt is logged with zero results and added to failedQueries with no_results; no result charge is created.Broaden the query or relax location or date filters.
A query encounters a fetch or HTTP errorIt is added to failedQueries; other queries continue and earlier rows remain.Review the run output and retry.
Post-fetch filters exclude rowsFewer rows may be pushed than the API returned; charges apply to pushed rows.Increase maxItems or relax filters.
Salary is not disclosed or is a normalized non-salary valuesalary is null; the cleaned value may remain in salary_raw.Inspect salary_raw.
Remote-work signals are absent or inconclusiveremote_type can be null; otherwise it is inferred from Dice fields and text.Treat it as a classification and use remoteOnly for strict remote rows.
maxItems is divided across queriesEach query gets maxItems ÷ number of queries. If maxItems is smaller than the number of queries, the per-query cap becomes 0 and the cap is disabled.Keep maxItems at least as large as the number of queries.
Several queries match the same jobDeduplication is per query only, so a job matched by several queries is pushed and charged once for each match.Use distinct, non-overlapping queries.
Full job descriptions are neededFull job descriptions are not available; search results provide only a teaser in summary, and the detail API requires authentication and is not used.Use the summary and the job url.

FAQ

How much does it cost to scrape Dice tech jobs?

See the plan-labelled event prices in Pricing. On the Free plan, 1,000 results with no disclosed salaries and sponsorship filtering disabled cost $0.90.

What happens if a Dice query returns zero results?

The Actor logs 0 results, adds the query to failedQueries with no_results, and continues. No result charge is created for that query.

What should I do if a query is not working?

Check the run output for failedQueries, then retry with a broader keyword, different location or fewer filters. A query-level fetch error does not stop other queries.

The Actor extracts public search results from Dice.com through its public search API. Source terms and applicable law depend on your use case, so review the relevant terms and laws before using the data; this Actor does not provide a legal guarantee.

Usage statistics

This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.

A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.

To opt out, set disableUsageStats to true in the input. Nothing is sent then.

Full list of collected fields