SalaryBench IQ
Pricing
Pay per event
SalaryBench IQ
SalaryBench IQ turns official US Department of Labor wage disclosure filings into defensible salary benchmarks, percentile ranges, sample wage records, and employer pay intelligence.
SalaryBench IQ
Pricing
Pay per event
SalaryBench IQ turns official US Department of Labor wage disclosure filings into defensible salary benchmarks, percentile ranges, sample wage records, and employer pay intelligence.
You can access the SalaryBench IQ programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "1.0", "x-build-id": "FCPzGn9HaKIbXgJBt" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/constructive_calm~salarybench-iq/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-constructive_calm-salarybench-iq", "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/constructive_calm~salarybench-iq/runs": { "post": { "operationId": "runs-sync-constructive_calm-salarybench-iq", "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/constructive_calm~salarybench-iq/run-sync": { "post": { "operationId": "run-sync-constructive_calm-salarybench-iq", "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", "required": [ "mode", "role" ], "properties": { "mode": { "title": "Choose output type", "enum": [ "salary-benchmark", "salary-samples" ], "type": "string", "description": "Need exact salary records? Choose Raw salary sample filings. The prefilled run uses this mode because it returns a quick sample and stops at Max output rows. Need market ranges? Choose Benchmark percentiles; this scans matching DOL source filings first, then returns aggregated P10/P25/median/P75/P90 salary rows.", "default": "salary-samples" }, "role": { "title": "Job title or keyword", "type": "string", "description": "Job title keyword to benchmark. Examples: software engineer, data scientist, product manager, registered nurse.", "default": "" }, "employer": { "title": "Optional employer filter", "type": "string", "description": "Optional company keyword for employer-specific salary benchmarks. Examples: Google, Amazon, Infosys.", "default": "" }, "city": { "title": "Work location city", "type": "string", "description": "Optional worksite city filter. Leave empty for all cities or for top local buckets.", "default": "" }, "state": { "title": "Work location state", "type": "string", "description": "Optional two-letter US state filter. Examples: CA, NY, TX, WA. Leave empty for nationwide.", "default": "" }, "visaTypes": { "title": "Filing programs", "type": "array", "description": "Choose which official DOL wage disclosure programs to include. More programs mean more source files to scan. H-1B, H-1B1, and E-3 come from LCA files. PERM comes from permanent labor certification files. The prefilled run uses H-1B only for a fast sample; add PERM when you need green-card wage data.", "items": { "type": "string", "enum": [ "H-1B", "H-1B1", "E-3", "PERM" ], "enumTitles": [ "H-1B", "H-1B1", "E-3", "PERM green card" ] }, "default": [ "H-1B" ] }, "decisions": { "title": "Filing outcomes", "type": "array", "description": "Approved means certified by DOL. Denied and Withdrawn can be included for research, but approved filings are best for salary benchmarks.", "items": { "type": "string", "enum": [ "Approved", "Denied", "Withdrawn" ], "enumTitles": [ "Approved", "Denied", "Withdrawn" ] }, "default": [ "Approved" ] }, "fiscalYears": { "title": "Fiscal years", "type": "array", "description": "US fiscal years to include. Leave empty for the latest available fiscal year. More years mean more source filings to scan, especially in benchmark mode. Examples: 2026, 2025, 2024.", "items": { "type": "string", "pattern": "^[0-9]{4}$" }, "default": [] }, "minSalary": { "title": "Minimum annual salary", "minimum": 0, "maximum": 10000000, "type": "integer", "description": "Skip filings with an annualized offered wage below this value. 0 means no minimum.", "default": 0 }, "maxSalary": { "title": "Maximum annual salary", "minimum": 0, "maximum": 10000000, "type": "integer", "description": "Skip filings with an annualized offered wage above this value. 0 means no maximum.", "default": 0 }, "maxItems": { "title": "Max output rows", "minimum": 1, "maximum": 50000, "type": "integer", "description": "Limits rows written to the dataset, not source rows scanned. Benchmark mode may scan thousands or millions of filings to calculate accurate percentiles, then returns up to this many aggregated benchmark rows. Raw salary sample mode returns up to this many exact filing records.", "default": 25 }, "newFilingsOnly": { "title": "Only new sample filings", "type": "boolean", "description": "For salary-samples, skip filings at or before the saved decision-date watermark. Add a state key-value store below when you need this to persist across runs.", "default": false }, "stateKeyValueStoreId": { "title": "State key-value store", "type": "string", "description": "Optional. Select a key-value store for persistent newFilingsOnly watermarks. Leave empty to use the run's default storage." }, "proxyConfiguration": { "title": "Proxy configuration", "type": "object", "description": "The US Department of Labor public data portal usually does not require proxies. Leave the default unless your network blocks government XLSX downloads.", "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for SalaryBench IQ from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: