# Jobright Jobs Scraper: Salary, Visa, City & Applicant Filters (`getascraper/jobright-jobs-scraper`) Actor

Scrape Jobright.ai jobs with real filters: country, city, remote or hybrid, seniority, visa sponsorship, pay, employer and max applicants. Yearly pay as numbers, hundreds of postings per run, optional skills and benefits, and new-only monitoring on a schedule. No login or API key.

- **URL**: https://apify.com/getascraper/jobright-jobs-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.49 / 1,000 job postings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 💼 Jobright Jobs Scraper: Salary, Visa, City & Applicant Filters

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#ECF7F4;border:1px solid #BFE0D8;border-top:4px solid #0F766E;color:#1C1917;border-radius:10px 10px 0 0">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Jobright job postings, filtered the way you actually search</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Pick the title, city, remote or hybrid, seniority, pay and visa support you need. Get clean, spreadsheet-ready postings with employer details, or only the ones you have not seen before.</span>
</td>
</tr>
</table>
<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #BFE0D8;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 0 10px">
<span style="font-size:15px;font-weight:800;color:#0F766E">🎯 Real filters</span><br>
<span style="font-size:12px;color:#57534E">City, work model, seniority, pay, visa support, employer and applicants.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #BFE0D8;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#0F766E">💰 Pay as numbers</span><br>
<span style="font-size:12px;color:#57534E">Salary range, currency and a yearly figure you can sort and compare.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #BFE0D8;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#0F766E">🔁 New postings only</span><br>
<span style="font-size:12px;color:#57534E">Name a search, schedule it, and skip what you already have.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #BFE0D8;border-left:none;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 10px 0">
<span style="font-size:15px;font-weight:800;color:#0F766E">📄 Full details on demand</span><br>
<span style="font-size:12px;color:#57534E">Skills, qualifications, benefits and work authorization flags.</span>
</td>
</tr>
</table>

**Collect Jobright.ai job postings by keyword, city, work model and seniority, and download them as JSON, CSV or Excel in minutes.** Each posting comes with the title, employer, location, remote or hybrid status, salary, applicant count and posting time. Switch on full details to add the skills, required and preferred qualifications, benefits and the employer's visa filing history.

***

### 🔍 What can you do with it?

- **I am a job seeker or career coach** looking for remote senior roles that pay above a number I set, posted in the last few days, with few applicants so I can apply early.
- **I am an international candidate** who needs employers with a sponsorship record, sorted by freshness and pay.
- **I am a recruiter or talent sourcer** building a weekly list of new openings in one city, and I want to see which employers are hiring and how big they are.
- **I run a job board, newsletter or salary study** and need a steady feed of fresh postings with clean pay figures, locations and employer profiles.

***

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0"><tr>
<td style="border:none;padding:12px 18px;background:#ECF7F4;border-left:4px solid #0F766E;color:#1C1917">
<span style="font-size:15px;color:#1C1917">&#9889; <b>No login, no account.</b> Ready for the Apify scheduler: set it once and receive only new postings on every run.</span>
</td>
</tr></table>

### 🚀 How to use it

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:16px 14px;width:33%;background:#ECF7F4;border:1px solid #BFE0D8;border-radius:10px 0 0 10px;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Describe the roles</span><br>
<span style="font-size:12px;color:#57534E">Enter one or more job titles, or paste a posting or search page link from Jobright.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#ECF7F4;border:1px solid #BFE0D8;border-left:none;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Narrow it down</span><br>
<span style="font-size:12px;color:#57534E">Choose country, city, work model, seniority, pay, visa support and how recent.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#ECF7F4;border:1px solid #BFE0D8;border-left:none;border-radius:0 10px 10px 0;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Run and download</span><br>
<span style="font-size:12px;color:#57534E">Click Start, then export JSON, CSV or Excel.</span>
</td>
</tr>
</table>

### ⚙️ Input

All fields are optional. With no changes, the Actor returns the 25 newest data analyst postings in the United States.

| Field | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| Job titles or keywords | array of text | No | One search runs for each entry, such as data analyst or react developer. Results are merged without duplicates. |
| Jobright links | array of links | No | A single posting link to read exactly that posting with all details, or a Jobright search page link. |
| Country | enum | No | United States, Canada, United Kingdom, Australia, Ireland or New Zealand. |
| Cities or places | array of text | No | In the United States write city and state, such as Chicago, IL. Elsewhere write a city or region, such as Toronto. Empty means the whole country. |
| Work model | array of enums | No | Remote, hybrid, on-site. Empty keeps all three. |
| Also include remote jobs when a place is set | boolean | No | Remote postings have no city. Turn off to keep only postings near your place. |
| Seniority | array of enums | No | Intern, new graduate, entry, mid, senior, lead or staff, director or executive. |
| Employment type | array of enums | No | Full-time, part-time, contract, internship. |
| Visa sponsorship | enum | No | Any posting, employers with a sponsorship record, or postings that state they sponsor. United States only. |
| Only these employers | array of text | No | Keep employers whose name contains one of these words. |
| Skip these employers | array of text | No | Drop employers whose name contains one of these words. |
| Most years of experience asked for | integer | No | Keep postings that ask for at most this many years. Useful for entry-level searches. |
| Posted within | enum | No | Any time, last 24 hours, 3, 7, 14 or 30 days. |
| Minimum yearly salary | integer | No | Keeps postings whose top advertised pay reaches this yearly amount. Hourly, daily and monthly pay is converted first. |
| Only postings with a salary | boolean | No | Drop postings that publish no pay range. |
| Most applicants so far | integer | No | Keep postings with at most this many applications, so you can apply early. |
| Maximum postings | integer | No | Postings delivered per run, 1 to 5,000. Default 25. |
| Sort results by | enum | No | Newest, fewest applicants, highest salary or best match. |
| Search depth | enum | No | Quick, standard or deep. Deeper searches try more wordings to reach more distinct postings. |
| Add full posting details | boolean | No | Adds skills, qualifications, benefits and eligibility flags. Included in the price. Slower. Off by default. |
| Monitor name | text | No | Name a search to receive only postings you have not received before. |

***

### 📦 Output

Each row is one job posting. Fields Jobright does not publish are left out instead of being filled with placeholders.

```json
{
  "jobId": "6ac93f52af788e6ad3b5aa1a",
  "url": "https://jobright.ai/jobs/info/6ac93f52af788e6ad3b5aa1a",
  "title": "Senior Data Insights Analyst, Mobile App",
  "companyName": "NPR",
  "companySize": "1001-5000 employees",
  "companyIndustries": ["Publishing", "Digital Media", "News"],
  "companyFundingStage": "Late Stage",
  "location": "United States",
  "country": "US",
  "isRemote": true,
  "workModel": "Remote",
  "postedAt": "2026-10-23T19:56:09Z",
  "seniority": "Senior Level",
  "employmentType": "Full-time",
  "minYearsExperience": 5,
  "applicantsCount": 24,
  "tags": ["Early applicant"],
  "salary": "$105K/yr - $116K/yr",
  "salaryMin": 105000,
  "salaryMax": 116000,
  "salaryCurrency": "USD",
  "salaryPeriod": "year",
  "annualSalaryMin": 105000,
  "annualSalaryMax": 116000,
  "sponsorshipStatus": "Past Sponsorship",
  "requirements": ["5+ years of advanced SQL experience", "2+ years of experimentation design"],
  "searchQuery": "data analyst",
  "scrapedAt": "2026-10-24T01:30:12.401Z"
}
```

#### Field reference

| Field | Type | Description |
| :--- | :--- | :--- |
| `jobId`, `url` | string | Jobright posting number and the link to the posting. |
| `title`, `normalizedTitle` | string | Job title as published and the standardized title. |
| `summary` | string | Short description of the role. |
| `companyName`, `companyId`, `companyUrl`, `companyLogo` | string | Employer name, number, website and logo. |
| `companySize`, `companyIndustries`, `companyDescription` | string, array | Employer size, industries and a short description. |
| `companyFoundedYear`, `companyHeadquarters` | number, string | When and where the employer was founded. |
| `companyFundingStage`, `companyTotalFunding` | string | Funding stage and total raised, when public. |
| `companyLinkedinUrl`, `companyCrunchbaseUrl`, `companyTwitterUrl` | string | Employer profiles. |
| `location`, `locations`, `city`, `state`, `country` | string, array | Where the job is based and the market searched. |
| `isRemote`, `workModel` | boolean, string | Remote, hybrid or on-site. |
| `postedAt` | string | When Jobright published the posting, in UTC. |
| `seniority`, `employmentType`, `minYearsExperience` | string, number | Level, contract type and years of experience asked for. |
| `applicantsCount`, `tags` | number, array | Applications so far and labels such as Early applicant. |
| `salary` | string | Advertised pay as published. |
| `salaryMin`, `salaryMax`, `salaryCurrency`, `salaryPeriod` | number, string | Pay as numbers, currency, and the period it is quoted for. |
| `annualSalaryMin`, `annualSalaryMax` | number | Yearly equivalent of the advertised pay. |
| `sponsorshipStatus` | string | Visa sponsorship record shown by Jobright. |
| `requirements`, `responsibilities` | array | Requirements and duties listed in the posting. |
| `detailFetched` | boolean | Only with full details on: whether the detail data was added. |
| `responsibilitiesSummary`, `skills`, `softSkills` | string, array | Role summary and skills named in the posting. |
| `qualificationsRequired`, `qualificationsPreferred`, `education` | array | What is required, what is a plus, and education asked for. |
| `benefits`, `jobCategory`, `whyJoinUs` | array, string | Benefits, job category path and employer pitch. |
| `isH1bSponsor`, `isCitizenOnly`, `isClearanceRequired`, `isWorkAuthRequired` | boolean | Eligibility flags. |
| `isStaffingAgency`, `companyH1bFilings` | boolean, array | Agency flag and yearly visa filing counts of the employer. |
| `searchQuery`, `scrapedAt` | string | The search that found the row and when it was collected. |

***

### 💰 Pricing

Pricing is pay per result. You pay for each posting saved to your dataset, and runs with no results cost nothing. Full details (skills, qualifications, benefits and eligibility flags) are included at no extra charge, and there is no start fee. Your Apify plan applies, so higher plans pay less, and the maximum charge you set for a run is always respected: the run stops cleanly once it is reached. There are no monthly subscriptions or hidden fees. Free-plan runs are limited to 25 postings per run, 3 runs per day, and a short wait between runs. Paid plans have no such limits.

***

### ⭐ Enjoying Jobright Jobs Scraper?

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:20px 24px 14px;background:#ECF7F4;border:1px solid #ECF7F4;border-left:5px solid #0F766E;border-radius:10px 10px 0 0;color:#1C1917">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">If this saves you hours of scrolling job lists by hand, tell us about it.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other job seekers and recruiters find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#0F766E;border:1px solid #0F766E;border-left:5px solid #0F766E;border-top:none;border-radius:0 0 10px 10px;text-align:center;color:#FFFFFF">
<a href="https://apify.com/getascraper/jobright-jobs-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

***

### ✨ Tips and best practices

- **Search several titles at once.** Add related titles such as data analyst, business analyst and analytics engineer. The Actor merges them and removes duplicates.
- **Build a daily feed of new jobs.** Pick a monitor name, set Posted within to 3 days, and schedule the Actor. Every run returns only postings you have not received before.
- **Apply early.** Set Most applicants so far to a small number and sort by fewest applicants to find roles that few people have seen.
- **Compare pay fairly.** Use the yearly salary fields to sort roles quoted per hour, per day and per year in one list.
- **Reach more with Search depth.** Jobright shows about 20 postings per search. Deep tries more wordings of your keyword, so you collect more distinct postings.
- **Add details only when you need them.** The default run is quick. Turn on full details for skills, qualifications and eligibility flags.

***

### ❓ FAQ

##### Does it need a Jobright account?

No. It collects publicly visible postings and needs no login, account or API key.

##### Can I find jobs that sponsor visas?

Yes, in the United States. Choose employers with a sponsorship record, or only postings that state they sponsor. Turn on full details to see the employer's yearly visa filing counts.

##### Which countries are covered?

The United States, Canada, the United Kingdom, Australia, Ireland and New Zealand. City searches narrow results in the United States. In the other countries the whole country is searched and your places keep the matching postings.

##### How many jobs can I get per run?

Jobright shows about 20 postings per search, so one job title collects a few hundred distinct postings at most. Raise Search depth and add more job titles or cities to collect more. The run limit itself goes up to 5,000.

##### Does it return the employer's own application link?

It returns the link to the posting on Jobright, where the apply button leads to the employer. It does not return recruiter or candidate contact details.

##### Do I get salaries?

Whenever the posting publishes pay. Postings without pay have no salary fields, and the Actor never guesses.

***

### 🛡️ Disclaimers and support

- **Disclaimer:** This Actor retrieves publicly available job postings. It is an independent tool and is not affiliated with or endorsed by Jobright. Make sure your use complies with the site's terms and applicable laws.
- **Support:** Open an issue from the Actor page in the Apify Console for bug reports or feature requests.

### 🔗 Other actors

- [WeWorkRemotely Jobs Scraper: Remote Jobs, Salary and New Alerts](https://apify.com/getascraper/weworkremotely-jobs-scraper) ↗ - Remote jobs with pay and new-posting alerts.
- [Handshake Jobs Scraper: Internships, Salaries & Job Deadlines](https://apify.com/getascraper/handshake-jobs-scraper) ↗ - Internships and early-career roles with deadlines.
- [Canada Job Bank Scraper: Jobs, LMIA, NOC Codes & Salary Monitor](https://apify.com/getascraper/jobbank-scraper) ↗ - Canadian jobs with LMIA and NOC details.
- [Ashby Jobs Scraper: Hiring Change Monitor](https://apify.com/getascraper/ashby-jobs-monitor) ↗ - Track new and removed roles at companies hiring on Ashby.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/jobright-jobs-scraper/changelog.md

# Actor input Schema

## `searchQueries` (type: `array`):

One search runs for each entry, for example "data analyst" or "react developer". Each entry is searched separately and the results are merged without duplicates.

## `startUrls` (type: `array`):

Paste a single posting (jobright.ai/jobs/info/...) to read exactly that posting with all its details, or a jobright.ai/jobs/... search page to read that page. Leave empty to search by the titles above.

## `country` (type: `string`):

Which Jobright job market to search. Cities only narrow the search inside the United States; for the other countries the whole country is searched and your places are used to keep matching postings.

## `locations` (type: `array`):

In the United States write the city and state, for example "Chicago, IL" (jobs within about 50 miles). For other countries write a city or region such as "Toronto" or "London". Leave empty for the whole country.

## `workModels` (type: `array`):

Keep only remote, hybrid or on-site postings. Leave empty to include all three.

## `includeRemoteJobs` (type: `boolean`):

Remote postings have no city, so searching a place normally returns them alongside local jobs. Turn this off to receive only postings located near the place.

## `seniority` (type: `array`):

Keep only postings aimed at these experience levels. Leave empty for all levels.

## `employmentTypes` (type: `array`):

Keep only full-time, part-time, contract or internship postings. Leave empty for all types.

## `visaSponsorship` (type: `string`):

United States only. "Employer has sponsored before" keeps postings from employers with a sponsorship record. "Posting says it sponsors" keeps only postings that state sponsorship explicitly.

## `includeCompanies` (type: `array`):

Keep only postings whose employer name contains one of these words, for example "google". Leave empty for all employers.

## `excludeCompanies` (type: `array`):

Drop postings whose employer name contains one of these words, for example staffing agencies you do not want to see.

## `maxYearsExperience` (type: `integer`):

Keep postings that ask for at most this many years of experience. Postings that state no requirement are kept. Useful for entry-level searches.

## `postedWithin` (type: `string`):

Keep only postings published during this period. Jobright lists the newest postings first, so short periods return the freshest openings.

## `minSalary` (type: `integer`):

Keep postings whose top advertised pay reaches this yearly amount in the currency of the country. Hourly, daily and monthly pay is converted to a yearly figure first. Postings without a published salary are dropped when this is set.

## `onlyWithSalary` (type: `boolean`):

Drop postings that do not publish a pay range.

## `maxApplicants` (type: `integer`):

Keep only postings that have received at most this many applications, so you can apply early. Postings with an unknown count are dropped when this is set.

## `maxItems` (type: `integer`):

The most postings delivered in one run. Raise it for bigger exports. Free plan runs are limited to 25 postings.

## `sortBy` (type: `string`):

Order of the delivered postings. Sorting applies to everything the run collected for your filters.

## `searchDepth` (type: `string`):

Jobright shows about 20 postings per search. Deeper searches try more wordings of your keyword (remote, hybrid, senior, entry level and so on) to reach more distinct postings, at the cost of a longer run.

## `includeFullDetails` (type: `boolean`):

Open every delivered posting to add skills, required and preferred qualifications, benefits, education, work authorization flags (citizen only, security clearance) and the employer's visa filing history. Slower, because every posting is opened.

## `monitorScope` (type: `string`):

Give this search a name, for example "data-analyst-chicago", to receive only postings that were not delivered in earlier runs with the same name. Schedule the Actor to get a feed of new jobs. Leave empty to deliver everything every time.

## Actor input object example

```json
{
  "searchQueries": [
    "data analyst"
  ],
  "startUrls": [],
  "country": "US",
  "locations": [],
  "workModels": [],
  "includeRemoteJobs": true,
  "seniority": [],
  "employmentTypes": [],
  "visaSponsorship": "any",
  "includeCompanies": [],
  "excludeCompanies": [],
  "postedWithin": "any",
  "onlyWithSalary": false,
  "maxItems": 25,
  "sortBy": "newest",
  "searchDepth": "standard",
  "includeFullDetails": false,
  "monitorScope": ""
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "searchQueries": [
        "data analyst"
    ],
    "startUrls": [],
    "country": "US",
    "locations": [],
    "workModels": [],
    "includeRemoteJobs": true,
    "seniority": [],
    "employmentTypes": [],
    "visaSponsorship": "any",
    "includeCompanies": [],
    "excludeCompanies": [],
    "postedWithin": "any",
    "onlyWithSalary": false,
    "maxItems": 25,
    "sortBy": "newest",
    "searchDepth": "standard",
    "includeFullDetails": false,
    "monitorScope": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/jobright-jobs-scraper").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 = {
    "searchQueries": ["data analyst"],
    "startUrls": [],
    "country": "US",
    "locations": [],
    "workModels": [],
    "includeRemoteJobs": True,
    "seniority": [],
    "employmentTypes": [],
    "visaSponsorship": "any",
    "includeCompanies": [],
    "excludeCompanies": [],
    "postedWithin": "any",
    "onlyWithSalary": False,
    "maxItems": 25,
    "sortBy": "newest",
    "searchDepth": "standard",
    "includeFullDetails": False,
    "monitorScope": "",
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/jobright-jobs-scraper").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 '{
  "searchQueries": [
    "data analyst"
  ],
  "startUrls": [],
  "country": "US",
  "locations": [],
  "workModels": [],
  "includeRemoteJobs": true,
  "seniority": [],
  "employmentTypes": [],
  "visaSponsorship": "any",
  "includeCompanies": [],
  "excludeCompanies": [],
  "postedWithin": "any",
  "onlyWithSalary": false,
  "maxItems": 25,
  "sortBy": "newest",
  "searchDepth": "standard",
  "includeFullDetails": false,
  "monitorScope": ""
}' |
apify call getascraper/jobright-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/jobright-jobs-scraper"
        }
    }
}
```

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/RmItf8zLAXjMubA2N/builds/zhjZBgwwEmNc62bz1/openapi.json
