# Jobfeed Labor Market Data API - Job Postings & Hiring Trends (`nabeelbaghoor/jobfeed-labor-market-data-api`) Actor

Query the Jobfeed labor market dataset and export structured job postings - title, employer, industry, location, source, salary and posting date - filtered by title, organization, location, source site and date range. Pay per result. Bring your own credentials.

- **URL**: https://apify.com/nabeelbaghoor/jobfeed-labor-market-data-api.md
- **Developed by:** [Nabeel Hassan](https://apify.com/nabeelbaghoor) (community)
- **Categories:** Jobs, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$12.00 / 1,000 job results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Jobfeed Labor Market Data API - job postings and hiring trends

**Jobfeed Labor Market Data API** turns the Textkernel Jobfeed / Market IQ labor market dataset into a clean, structured export. Query millions of job postings by title, employer, location, source website and posting date, and download every match - job title, hiring organization, industry, location, source, salary and date - as JSON, CSV or Excel.

Bring your own Jobfeed credentials and pay only for the postings you keep.

### Why use this actor?

- **Structured labor market data** - job title, employer, industry, location, region, source website, source URL, posting date, salary and profession, parsed into flat columns.
- **Precise filters** - filter by job title, organization name, location, source website and posting date range, with sort by any field ascending or descending.
- **Relative and absolute dates** - use `2024-01-01` style dates or relative values like `today-1M` for rolling windows.
- **Pay per result** - you are charged only for the postings actually returned, up to 1,000 per run.
- **Reliable API access** - data comes through the Jobfeed Data API with retry, backoff and rate-limit handling built in, so runs are fast and stable.

### Use cases

- **Labor market research** - measure hiring demand by role, employer, industry, location or time period.
- **Competitor hiring analysis** - track which organizations are posting which roles, and where.
- **Recruitment intelligence** - benchmark job availability, salaries and sources across a market.
- **Workforce planning** - map skills and profession demand over rolling date windows to inform headcount and talent strategy.

### Input

Configure everything from the visual editor - every filter is a proper field, no code needed. Example JSON input:

```json
{
  "domain": "https://www.jobfeed.de",
  "jobTitle": "data engineer",
  "organizationName": "Siemens",
  "location": "Berlin",
  "sourceWebsite": "linkedin.com",
  "dateFrom": "2024-01-01",
  "dateTo": "2024-12-31",
  "sort": "date",
  "sortDir": "desc",
  "maxResults": 100,
  "username": "YOUR_JOBFEED_USERNAME",
  "apiKey": "YOUR_JOBFEED_PASSWORD"
}
```

### Output

One clean JSON object per job posting:

```json
{
  "job_title": "Senior Data Engineer",
  "organization_name": "Siemens",
  "organization_industry": "Manufacturing",
  "location": "Berlin",
  "region": "Berlin",
  "source_website": "linkedin.com",
  "source_url": "https://www.jobfeed.de/job/...",
  "date": "2024-06-18",
  "expiration_date": "2024-07-18",
  "salary": "70,000 - 90,000 EUR",
  "profession": "Data Engineer",
  "education_level": "Bachelor",
  "full_text": "We are hiring a Senior Data Engineer..."
}
```

### Do I need credentials?

Yes. Jobfeed / Market IQ is an enterprise labor market product from Textkernel, so this actor cannot supply access on your behalf. You need an enterprise Jobfeed / Market IQ account, which gives you three things:

- a **Jobfeed domain** - your regional base URL, e.g. https://www.jobfeed.de, https://us.jobfeed.com or https://www.jobfeed.nl
- a **username**
- a **password**

Paste all three into the input and run. Contact Textkernel to obtain access. Your credentials are stored securely and never logged.

### Pay per result

You pay only for the job postings the actor actually returns - no subscriptions, no minimums. Set **Maximum results** to cap each run's spend exactly. A run that returns nothing costs almost nothing.

### FAQ

#### What is the Jobfeed Labor Market Data API?

Jobfeed, part of Textkernel Market IQ, is a labor market intelligence dataset built from online job postings collected across job boards, company career sites and other sources. Its Data API returns those postings as structured records - job title, hiring organization, industry, location, source and posting date - so you can run labor market research, competitor hiring analysis and recruitment intelligence without scraping.

#### What filters can I use?

Job title, organization name, location, source website and a posting date range. Dates accept absolute values (`YYYY-MM-DD`) or relative values (`today-1M`). You can sort by any returned field, ascending or descending, and restrict the returned fields to keep exports lean.

#### Do I need an account?

Yes. Jobfeed / Market IQ is an enterprise product. You must supply your provisioned Jobfeed domain, username and password. Contact Textkernel to obtain a Jobfeed / Market IQ account.

#### What data is included per posting?

Typical fields include job title, organization name, organization industry, location, region, source website, source URL, posting date, expiration date, salary, profession, education level and full text. The exact fields available depend on your Jobfeed deployment; use the Fields input to select only the ones you need.

#### How many results per run?

Up to 1,000 postings per run, paged automatically at up to 100 per request. For larger pulls, split by date range, organization, location or source website, or run on a schedule and collect new postings each day.

#### How much does it cost?

Pricing is pay-per-result: a small fixed amount per posting returned, plus standard Apify platform usage. Your Jobfeed account is billed separately by Textkernel.

#### Can I run this on a schedule?

Yes. Use Apify Schedules to run it hourly or daily and connect the dataset to Zapier, Make, n8n, webhooks or the API to pipe new postings into your BI tools, data warehouse or CRM.

#### Is this legal?

The actor returns labor market data from the Jobfeed / Market IQ Data API, retrieved through your own licensed enterprise account. Access is governed by your agreement with Textkernel. No credentials are shared and no login-walled personal data is scraped.

### Keyword map

labor market data api, job postings api, jobfeed api, market iq api, hiring trends api, recruitment intelligence api, job market data, labor market analytics, workforce planning data, competitor hiring analysis, job posting dataset, textkernel jobfeed.

### Support and feedback

Found an issue or missing a filter? Open an issue in the **Issues** tab - it is monitored daily.

# Actor input Schema

## `domain` (type: `string`):

Your Jobfeed / Market IQ base URL, e.g. https://www.jobfeed.de or https://us.jobfeed.com. Provided with your Textkernel account.

## `jobTitle` (type: `string`):

Filter postings by job title, e.g. `data engineer`. Leave empty to match any title.

## `organizationName` (type: `string`):

Filter by hiring organization / employer name, e.g. `Siemens`.

## `location` (type: `string`):

Filter by location, e.g. a city or region within the dataset's country.

## `sourceWebsite` (type: `string`):

Filter by the website the posting was found on, e.g. `linkedin.com`.

## `dateFrom` (type: `string`):

Start of the posting date range. Use an absolute date `YYYY-MM-DD` or a relative value like `today-1M`. A date range is only applied when both Date from and Date to are set.

## `dateTo` (type: `string`):

End of the posting date range. Use an absolute date `YYYY-MM-DD` or a relative value like `today`. A date range is only applied when both Date from and Date to are set.

## `fields` (type: `array`):

Restrict returned fields, e.g. `job_title`, `organization_name`, `date`. Leave empty for all fields.

## `sort` (type: `string`):

Field to sort by, e.g. `date`. Leave empty for the API default order.

## `sortDir` (type: `string`):

Sort direction, applied when a sort field is set.

## `pageSize` (type: `integer`):

How many postings to request per API call (1-100). The actor pages automatically up to Maximum results.

## `maxResults` (type: `integer`):

Stop after this many postings (1-1,000). You are charged per result returned.

## `username` (type: `string`):

Your Jobfeed username.

## `apiKey` (type: `string`):

Your Jobfeed password. Required. Stored securely and never logged.

## Actor input object example

```json
{
  "domain": "https://www.jobfeed.de",
  "sortDir": "desc",
  "pageSize": 100,
  "maxResults": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "domain": "https://www.jobfeed.de",
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("nabeelbaghoor/jobfeed-labor-market-data-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "domain": "https://www.jobfeed.de",
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("nabeelbaghoor/jobfeed-labor-market-data-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "domain": "https://www.jobfeed.de",
  "maxResults": 100
}' |
apify call nabeelbaghoor/jobfeed-labor-market-data-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,nabeelbaghoor/jobfeed-labor-market-data-api"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Irr3salU06vM12wGt/builds/5ZNFS1v0rLi6f2pSK/openapi.json
