Jobs Report API
Overview
To use Jobs Report, you need an API key. You can get one by creating a free account and visiting your dashboard.
GET Endpoint
https://api.apiverve.com/v1/jobsreportExample
How to call the Jobs Report API in different programming languages.
curl -X GET \
"https://api.apiverve.com/v1/jobsreport?date=2023-06" \
-H "X-API-Key: your_api_key_here"const response = await fetch('https://api.apiverve.com/v1/jobsreport?date=2023-06', {
method: 'GET',
headers: {
'X-API-Key': 'your_api_key_here',
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data);import requests
headers = {
'X-API-Key': 'your_api_key_here',
'Content-Type': 'application/json'
}
response = requests.get('https://api.apiverve.com/v1/jobsreport?date=2023-06', headers=headers)
data = response.json()
print(data)package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.apiverve.com/v1/jobsreport?date=2023-06", nil)
req.Header.Set("X-API-Key", "your_api_key_here")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}{
"status": "ok",
"error": null,
"data": {
"yearMonth": "2024-01",
"year": 2024,
"month": 1,
"jobsChangeDirection": "growth",
"summary": {
"unemploymentRate": 3.7,
"laborForceParticipation": 62.5,
"totalEmployed": 161152000,
"totalUnemployed": 6124000,
"laborForce": 167276000,
"jobsChange": 353000
},
"nonfarmPayrolls": {
"total": 157245000,
"private": 133567000
},
"bySector": {
"mining": 645000,
"construction": 8123000,
"manufacturing": 12987000,
"tradeTransportUtilities": 29456000,
"information": 2987000,
"financialActivities": 9234000,
"professionalBusiness": 22876000,
"educationHealth": 25678000,
"leisureHospitality": 16789000,
"otherServices": 5892000,
"government": 23678000
},
"topSector": "Trade, Transport & Utilities",
"formatted": {
"totalEmployed": "161.15M",
"totalUnemployed": "6.12M",
"laborForce": "167.28M",
"jobsChange": "+353.0K",
"nonfarmPayrolls": "157.25M"
}
}
}Authentication
The Jobs Report API requires authentication via API key. Include your API key in the request header:
X-API-Key: your_api_key_hereInteractive API Playground
Test the Jobs Report API directly in your browser with live requests and responses.
Parameters
The following parameters are available for the Jobs Report API:
Get Jobs Report
| Parameter | Type | Required | Description | Default | Example |
|---|---|---|---|---|---|
datePremium | string | optional | Optional date in YYYY-MM format for historical lookup. Omit for current data. Format: date (e.g., 2023-06) | - |
Response
The Jobs Report API returns responses in JSON, XML, YAML, and CSV formats. The JSON response is shown in the Example section above; alternative formats below.
Other Response Formats
<?xml version="1.0" encoding="UTF-8"?>
<response>
<status>ok</status>
<error xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<data>
<yearMonth>2024-01</yearMonth>
<year>2024</year>
<month>1</month>
<jobsChangeDirection>growth</jobsChangeDirection>
<summary>
<unemploymentRate>3.7</unemploymentRate>
<laborForceParticipation>62.5</laborForceParticipation>
<totalEmployed>161152000</totalEmployed>
<totalUnemployed>6124000</totalUnemployed>
<laborForce>167276000</laborForce>
<jobsChange>353000</jobsChange>
</summary>
<nonfarmPayrolls>
<total>157245000</total>
<private>133567000</private>
</nonfarmPayrolls>
<bySector>
<mining>645000</mining>
<construction>8123000</construction>
<manufacturing>12987000</manufacturing>
<tradeTransportUtilities>29456000</tradeTransportUtilities>
<information>2987000</information>
<financialActivities>9234000</financialActivities>
<professionalBusiness>22876000</professionalBusiness>
<educationHealth>25678000</educationHealth>
<leisureHospitality>16789000</leisureHospitality>
<otherServices>5892000</otherServices>
<government>23678000</government>
</bySector>
<topSector>Trade, Transport & Utilities</topSector>
<formatted>
<totalEmployed>161.15M</totalEmployed>
<totalUnemployed>6.12M</totalUnemployed>
<laborForce>167.28M</laborForce>
<jobsChange>+353.0K</jobsChange>
<nonfarmPayrolls>157.25M</nonfarmPayrolls>
</formatted>
</data>
</response>
status: ok
error: null
data:
yearMonth: 2024-01
year: 2024
month: 1
jobsChangeDirection: growth
summary:
unemploymentRate: 3.7
laborForceParticipation: 62.5
totalEmployed: 161152000
totalUnemployed: 6124000
laborForce: 167276000
jobsChange: 353000
nonfarmPayrolls:
total: 157245000
private: 133567000
bySector:
mining: 645000
construction: 8123000
manufacturing: 12987000
tradeTransportUtilities: 29456000
information: 2987000
financialActivities: 9234000
professionalBusiness: 22876000
educationHealth: 25678000
leisureHospitality: 16789000
otherServices: 5892000
government: 23678000
topSector: Trade, Transport & Utilities
formatted:
totalEmployed: 161.15M
totalUnemployed: 6.12M
laborForce: 167.28M
jobsChange: +353.0K
nonfarmPayrolls: 157.25M
| key | value |
|---|---|
| yearMonth | 2024-01 |
| year | 2024 |
| month | 1 |
| jobsChangeDirection | growth |
| summary | {unemploymentRate:3.7,laborForceParticipation:62.5,totalEmployed:161152000,totalUnemployed:6124000,laborForce:167276000,jobsChange:353000} |
| nonfarmPayrolls | {total:157245000,private:133567000} |
| bySector | {mining:645000,construction:8123000,manufacturing:12987000,tradeTransportUtilities:29456000,information:2987000,financialActivities:9234000,professionalBusiness:22876000,educationHealth:25678000,leisureHospitality:16789000,otherServices:5892000,government:23678000} |
| topSector | Trade, Transport & Utilities |
| formatted | {totalEmployed:161.15M,totalUnemployed:6.12M,laborForce:167.28M,jobsChange:+353.0K,nonfarmPayrolls:157.25M} |
Response Structure
All API responses follow a consistent structure with the following fields:
| Field | Type | Description | Example |
|---|---|---|---|
status | string | Indicates whether the request was successful ("ok") or failed ("error") | ok |
error | string | null | Contains error message if status is "error", otherwise null | null |
data | object | null | Contains the API response data if successful, otherwise null | {...} |
Learn more about response formats →
Response Data Fields
When the request is successful, the data object contains the following fields:
| Field | Type | Sample Value | Description |
|---|---|---|---|
yearMonth | string | Report date in YYYY-MM format (e.g. 2024-01) | |
year | number | Year of the employment report | |
month | number | Month of the employment report (1-12) | |
jobsChangeDirection | string | Direction of job change: 'growth', 'decline', or 'unchanged' | |
summary | object | - | |
â”” unemploymentRate | number | National unemployment rate as percentage | |
â”” laborForceParticipation | number | Labor force participation rate as percentage | |
â”” totalEmployedPremium | number | Total number of employed persons in millions | |
â”” totalUnemployedPremium | number | Total number of unemployed persons in millions | |
â”” laborForcePremium | number | Total labor force size in millions | |
â”” jobsChange | number | Change in jobs for the month in thousands | |
nonfarmPayrolls | object | - | |
â”” totalPremium | number | Total nonfarm payroll employment in millions | |
â”” privatePremium | number | Private nonfarm payroll employment in millions | |
bySector | object | - | |
â”” miningPremium | number | Mining sector employment in thousands | |
â”” constructionPremium | number | Construction sector employment in thousands | |
â”” manufacturingPremium | number | Manufacturing sector employment in thousands | |
â”” tradeTransportUtilitiesPremium | number | Trade, Transport & Utilities sector employment | |
â”” informationPremium | number | Information sector employment in thousands |
Headers
Only X-API-Key is required. Optional headers include Accept for response format negotiation (JSON, XML, or YAML), User-Agent, and X-Request-ID for request tracing. See all request headers →
GraphQL AccessALPHA
Access Jobs Report through GraphQL to combine it with other API calls in a single request. Query only the jobs report data you need with precise field selection, and orchestrate complex data fetching workflows.
Credit Cost: Each API called in your GraphQL query consumes its standard credit cost.
POST https://api.apiverve.com/v1/graphqlquery {
jobsreport(
input: {
date: "2023-06"
}
) {
yearMonth
year
month
jobsChangeDirection
summary {
unemploymentRate
laborForceParticipation
totalEmployed
totalUnemployed
laborForce
jobsChange
}
nonfarmPayrolls {
total
private
}
bySector {
mining
construction
manufacturing
tradeTransportUtilities
information
financialActivities
professionalBusiness
educationHealth
leisureHospitality
otherServices
government
}
topSector
formatted {
totalEmployed
totalUnemployed
laborForce
jobsChange
nonfarmPayrolls
}
}
}Note: Authentication is handled via the x-api-key header in your GraphQL request, not as a query parameter.
CORS Support
The Jobs Report API accepts cross-origin requests from any origin, so it can be called directly from browser-based applications without a proxy. See CORS support →
Rate Limiting
Jobs Report requests are throttled per minute on the Free plan and unthrottled on paid plans. Exceeding the limit returns 429 Too Many Requests; rate-limit usage is reported in the X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset response headers. See per-plan limits and best practices →
Error Codes
The Jobs Report API uses standard HTTP status codes — 200 on success, 400 for invalid parameters, 401 for missing or invalid keys, 403 for insufficient credits, 429 for rate-limit exhaustion, and 500/503 for server-side issues. Each error response includes an X-Request-ID header you can quote when contacting support. See full error handling guide →
SDKs for Jobs Report
Official Jobs Report packages on npm, PyPI, NuGet, and JitPack — plus a Postman collection and an OpenAPI spec. See the SDK guide →
No-Code Integrations
Jobs Report works with Zapier, Make, Pipedream, n8n, and Power Automate using the same API key. See setup guides →
Frequently Asked Questions
How do I get an API key for Jobs Report?
How many credits does Jobs Report cost?
Each successful Jobs Report API call consumes credits based on plan tier. Check the pricing section above for the exact credit cost. Failed requests and errors don't consume credits, so you only pay for successful jobs report lookups.
Can I use Jobs Report in production?
The free plan is for testing and development only. For production use of Jobs Report, upgrade to a paid plan (Starter, Pro, or Mega) which includes commercial use rights, no attribution requirements, and guaranteed uptime SLAs. All paid plans are production-ready.
Can I use Jobs Report from a browser?
What happens if I exceed my Jobs Report credit limit?
When you reach your monthly credit limit, Jobs Report API requests will return an error until you upgrade your plan or wait for the next billing cycle. You'll receive notifications at 80% and 95% usage to give you time to upgrade if needed.








