# S1jobs Jobs Search Scraper (`alexist/s1jobs-jobs-search-scraper`) Actor

Scrape job search results from S1jobs.com with precision. Collect job titles, salary data, location details, company info, and 50+ structured fields per listing — perfect for job aggregators, market research, and recruitment analytics.

- **URL**: https://apify.com/alexist/s1jobs-jobs-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

## S1jobs Jobs Search Scraper: Extract UK Job Listings in Bulk
---

### What Is S1jobs.com?

S1jobs.com is a prominent UK job search platform hosting thousands of active vacancies across sectors. It enables jobseekers to filter opportunities by location, salary, contract type, and industry specialisms. For recruitment professionals and data analysts, manually extracting this structured data is inefficient — the **S1jobs Jobs Search Scraper** automates bulk collection from search results pages, delivering clean, ready-to-analyze records.

---

### Overview

The **S1jobs Jobs Search Scraper** extracts job listings from S1jobs search results pages, converting filtered job data into structured records. It is ideal for:

- **Recruitment agencies** monitoring market supply and competitor activity
- **Job aggregators** building comprehensive UK job feeds
- **HR departments** conducting salary benchmarking and market analysis
- **Career platforms** integrating S1jobs listings into their services
- **Researchers** studying UK labor market trends by region and skill

The scraper supports advanced filtering (location, salary range, contract type, specialisms) and outputs 50+ fields per job, enabling deep analysis and downstream integration.

---

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.s1jobs.com/jobs/glasgow/?Keywords=&ContractOrPermanent=&AgencyOrEmployer=&has_video=&FullOrPartTime=&Salary.BasePayL=0&Salary.BasePayH=0&SpecialismList=&JobLocation.City=GLASGOW&CompanyName=&CoreSkillList=&sort=&JobWorkingLocation=&page=2&relatedJobTitles=&Distance=20&per_page=20"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
````

#### Configuration Parameters

| Parameter | Description |
|---|---|
| `urls` | S1jobs search results page URLs. Build URLs using S1jobs filters (e.g., location, salary, contract type) and paste the full URL. The scraper will parse and extract all jobs from the page. |
| `ignore_url_failures` | If `true`, the scraper continues if a URL fails to load, rather than stopping. Recommended for bulk runs. |
| `max_items_per_url` | Maximum number of job listings extracted per URL (default: `20`). Increase for comprehensive collection, reduce for quick samples. |

#### URL Building Tips

S1jobs URLs accept query parameters:

- `JobLocation.City=GLASGOW` — Filter by city
- `Keywords=python` — Search keywords or skills
- `Salary.BasePayL=30000&Salary.BasePayH=60000` — Salary range (£)
- `FullOrPartTime=Full` — Contract type filter
- `Distance=20` — Search radius (miles)
- `page=2` — Results pagination
- `per_page=20` — Items per page

Build your search on S1jobs, copy the full URL, and paste into the `urls` array.

***

### Output Format

**Sample output**

```json
{
  "job_title": "Business Development Executive",
  "skills": [
    "Telesales",
    "Lead generation",
    "Outbound sales",
    "B2B sales",
    "Appointment setting",
    "Sales development",
    "IT solutions sales",
    "Telecoms solutions sales",
    "Business development",
    "Communication skills",
    "Sales process management"
  ],
  "job_description": "<div><p><strong>Sales Development Rep / B2B Lead Generator </strong></p><p><br></p><p><strong>Up to £30,000 DOE, poss negotiable + OTE </strong></p><p><br></p><p>We are looking for an experienced Telesales Business Development Executive / SDR Sales Development Representative / BDR Business Development Representative for a position with a successful IT & Telecoms technology company based in Glasgow</p><p><br></p><p>Previous experience of telesales lead generation or outbound B2B telesales of IT or Telecoms solutions would be of particular interest, however we can also consider people without this specific background providing that you have proven Lead Generation / Appointment Making experience in another sector coupled with a steady career history. </p><p><br></p><p>Your primary role would be to develop new sales opportunities and setting sales appointments for your field sales colleagues to attend, so that they can discuss face-to-face their wide range of products and solutions. </p><p><br></p><p>You would be only responsible for this first stage of the sales process and then it’s handed over to one of the highly experienced field sales consultants to fully present to the prospect and complete the sale. You would be calling both existing and potential customers. </p><p><br></p><p>This role is primarily office based in Glasgow but you will also be able to have some days working from home as well if you wish, and at their request applicants must also live within Central Scotland. </p><p><br></p><p>On top of your starting basic salary of up to £30,000 depending on experience, there is also an excellent commission structure in place which will enable you to increase your earnings well above your basic wage. </p><p><br></p><p>If you feel that you meet the requirements for this role and would like to apply, then please do so with your <strong>CV in Word format</strong> via the application link provided - or by sending it to info(at)realise-recruitment.co.uk</p><p><br></p><p>* This is just one of many sales roles that we normally recruit for on a regular basis (field sales, business development, telesales, internal sales and account manager positions). A full list of our current vacancies can always be viewed on our own Realise Recruitment company website, and we might also have some other job adverts on this particular job website that you are on just now.</p></div>",
  "job_description_ngram": "<div><p><strong>Sales Development Rep / B2B Lead Generator </strong></p><p><br></p><p><strong>Up to £30,000 DOE, poss negotiable + OTE </strong></p><p><br></p><p>We are looking for an experienced Telesales Business Development Executive / SDR Sales Development Representative / BDR Business Development Representative for a position with a successful IT & Telecoms technology company based in Glasgow</p><p><br></p><p>Previous experience of telesales lead generation or outbound B2B telesales of IT or Telecoms solutions would be of particular interest, however we can also consider people without this specific background providing that you have proven Lead Generation / Appointment Making experience in another sector coupled with a steady career history. </p><p><br></p><p>Your primary role would be to develop new sales opportunities and setting sales appointments for your field sales colleagues to attend, so that they can discuss face-to-face their wide range of products and solutions. </p><p><br></p><p>You would be only responsible for this first stage of the sales process and then it’s handed over to one of the highly experienced field sales consultants to fully present to the prospect and complete the sale. You would be calling both existing and potential customers. </p><p><br></p><p>This role is primarily office based in Glasgow but you will also be able to have some days working from home as well if you wish, and at their request applicants must also live within Central Scotland. </p><p><br></p><p>On top of your starting basic salary of up to £30,000 depending on experience, there is also an excellent commission structure in place which will enable you to increase your earnings well above your basic wage. </p><p><br></p><p>If you feel that you meet the requirements for this role and would like to apply, then please do so with your <strong>CV in Word format</strong> via the application link provided - or by sending it to info(at)realise-recruitment.co.uk</p><p><br></p><p>* This is just one of many sales roles that we normally recruit for on a regular basis (field sales, business development, telesales, internal sales and account manager positions). A full list of our current vacancies can always be viewed on our own Realise Recruitment company website, and we might also have some other job adverts on this particular job website that you are on just now.</p></div>",
  "vacancy_id": null,
  "first_live": "2026-07-15T10:14:32Z",
  "id": null,
  "expiry_date": "2026-07-29T10:14:26Z",
  "salary_rate": "yearly",
  "salary_annual_high": null,
  "salary_annual_low": null,
  "salary_text": "Up to £30,000 DOE + OTE",
  "apprenticeship": false,
  "graduate": false,
  "immediate_start": false,
  "job_working_location": "Hybrid working",
  "full_or_part_time": "Full",
  "contract_or_permanent": "Permanent",
  "agency_or_employer": "Agency",
  "url": "/job/business-development-executive-127109153",
  "core_skill_list": [
    "Sales",
    "Call / Contact Centres"
  ],
  "job_type_code_list": [
    "Sales",
    "Call / Contact Centres"
  ],
  "this_job_from": "jobsmanager",
  "backfill": null,
  "web_regional_site": "s1jobs.com",
  "search_location_label": null,
  "seo_location_url": "/jobs/st-enochs/",
  "seo_location_label": "St Enochs, Glasgow City",
  "job_location_country": "Scotland",
  "job_location_county": "Glasgow Area",
  "job_location_district": "",
  "job_coords": "55.8555,-4.25008",
  "company_id": "2981771",
  "publication_date": "2026-07-15 10:14:10",
  "requires_cv": true,
  "company_name": "Realise Recruitment Ltd",
  "company_image_url": null,
  "application_method": "email",
  "has_video": false,
  "credit_name": "S1 2 Week Credit",
  "is_public_sector": false,
  "has_accreditation": false,
  "graduate_or_apprentice": false,
  "geodist": null,
  "score": 6.999001,
  "is_featured": false,
  "is_sponsored": false,
  "job_location": {
    "city": "St Enochs"
  },
  "salary": {
    "salary_text": "Up to £30,000 DOE + OTE",
    "base_pay_h": 35000,
    "base_pay_l": 28000
  },
  "duration_message": "New Job! Be one of the first to apply",
  "geo_distance": "0.76",
  "company_profile_url": "/jobs/?CompanyId=2981771&CompanyName=Realise+Recruitment+Ltd",
  "youtube_video_url": null,
  "video_method": null,
  "job_source": null,
  "salary_hourly_high": null,
  "salary_hourly_low": null,
  "from_url": "https://www.s1jobs.com/jobs/glasgow/?Keywords=&ContractOrPermanent=&AgencyOrEmployer=&has_video=&FullOrPartTime=&Salary.BasePayL=0&Salary.BasePayH=0&SpecialismList=&JobLocation.City=GLASGOW&CompanyName=&CoreSkillList=&sort=&JobWorkingLocation=&page=2&relatedJobTitles=&Distance=20&per_page=20"
}
```

Each job listing returns a comprehensive record with 50+ structured fields:

#### Job Core Details

| Field | Meaning | Example |
|---|---|---|
| `Job Title` | Official job title as posted | "Senior Python Developer" |
| `Vacancy ID` | Unique S1jobs identifier for this vacancy | "12345678" |
| `ID` | Internal record ID | "abc123def456" |
| `Job Description` | Full HTML-formatted job description | "<p>We are looking for...</p>" |
| `Job Description Ngram` | Processed text for keyword analysis | "senior python developer london fintech" |
| `URL` | Direct link to the job on S1jobs | "https://www.s1jobs.com/job/12345678" |
| `Has Video` | Whether the listing includes a video | `true` or `false` |

#### Salary & Compensation

| Field | Meaning | Example |
|---|---|---|
| `Salary` | Formatted salary display (e.g., range or hourly) | "£40,000 - £60,000" |
| `Salary Text` | Salary as displayed in the listing | "Competitive" or "£50k pa" |
| `Salary Annual Low` | Annual salary floor (£) | `40000` |
| `Salary Annual High` | Annual salary ceiling (£) | `60000` |
| `Salary Rate` | Pay frequency (annual, monthly, hourly) | "annual" |
| `Salary Hourly Low` | Hourly rate minimum (£) | `25.50` |
| `Salary Hourly High` | Hourly rate maximum (£) | `35.00` |

#### Employment Type & Duration

| Field | Meaning | Example |
|---|---|---|
| `Contract Or Permanent` | Employment type | "Permanent" or "Contract" |
| `Full Or Part Time` | Hours classification | "Full-time" or "Part-time" |
| `Agency Or Employer` | Posted by agency or direct employer | "Employer" |
| `Immediate Start` | Whether role starts ASAP | `true` |
| `Duration Message` | Contract length description | "6-month contract" or "Permanent role" |

#### Skills & Requirements

| Field | Meaning | Example |
|---|---|---|
| `Skills` | Required technical and soft skills | "Python, SQL, AWS" |
| `Core Skill List` | Structured array of core competencies | `["Python", "SQL", "AWS"]` |
| `Job Type Code List` | Job category codes | `["DEV", "BACKEND"]` |
| `SpecialismList` | Industry specialism tags | "Finance Tech" |

#### Location & Geography

| Field | Meaning | Example |
|---|---|---|
| `Job Location` | Full job location text | "London, Greater London" |
| `Job Working Location` | Where work is performed | "On-site", "Remote", "Hybrid" |
| `Job Location Country` | Country code | "GB" or "UK" |
| `Job Location County` | County/Region | "Greater London" |
| `Job Location District` | City/District | "London" |
| `Job Coords` | Geographic coordinates (lat, lon) | `[51.5074, -0.1278]` |
| `Search Location Label` | User-facing location text | "Glasgow" |
| `SEO Location URL` | URL-friendly location slug | "glasgow" |
| `SEO Location Label` | SEO-optimized location name | "Jobs in Glasgow" |
| `Geodist` | Distance from search origin (miles) | `12.5` |
| `Geo Distance` | Calculated distance value | `20` |
| `Web Regional Site` | Regional S1jobs subdomain | "s1jobs.com" |

#### Company Information

| Field | Meaning | Example |
|---|---|---|
| `Company Name` | Employer name | "TechCorp Ltd" |
| `Company ID` | Unique company identifier | "98765432" |
| `Company Image URL` | Company logo/image URL | "https://cdn.s1jobs.com/logo.png" |
| `Company Profile URL` | Link to company profile page | "https://www.s1jobs.com/company/techcorp" |
| `Is Public Sector` | Whether employer is public sector | `true` or `false` |
| `Has Accreditation` | Professional certifications/accreditations | `true` |
| `Credit Name` | Posted by user/account name | "Recruiting Team" |

#### Application & Engagement

| Field | Meaning | Example |
|---|---|---|
| `Application Method` | How to apply | "Apply on S1jobs" or "External URL" |
| `Requires CV` | Whether CV is mandatory | `true` |
| `YouTube Video URL` | Video interview or company overview URL | "https://youtube.com/..." |
| `Video Method` | Video hosting platform | "YouTube" |

#### Dates & Lifecycle

| Field | Meaning | Example |
|---|---|---|
| `First Live` | Date listing first appeared | "2024-01-15" |
| `Publication Date` | Official publication date | "2024-01-15" |
| `Expiry Date` | When listing closes | "2024-02-15" |

#### Flags & Metadata

| Field | Meaning | Example |
|---|---|---|
| `Is Featured` | Whether listing is prominently featured | `true` |
| `Is Sponsored` | Whether listing is paid/sponsored | `true` |
| `Apprenticeship` | Whether role is apprenticeship | `false` |
| `Graduate` | Whether role targets graduates | `true` |
| `Graduate Or Apprentice` | Graduate/apprenticeship designation | "Graduate" |
| `Backfill` | Internal backfill flag | `false` |
| `This Job From` | Data source | "s1jobs.com" |
| `Job Source` | Originating platform | "S1jobs" |
| `Score` | Relevance/ranking score | `95.5` |

***

### How to Use

1. **Search on S1jobs** — Visit S1jobs.com and use filters (location, salary, keywords, contract type) to narrow results.
2. **Copy the URL** — Once filtered, copy the full search results page URL from your browser.
3. **Configure input** — Paste the URL into the `urls` array. Add multiple URLs for different regions or filters.
4. **Set options** — Adjust `max_items_per_url` (default 20) and ensure `ignore_url_failures` is `true` for robustness.
5. **Run scraper** — Execute the actor and monitor progress in real-time.
6. **Export data** — Download results as JSON, CSV, or Excel for analysis or integration.

**Best practices:**

- Use pagination carefully; if scraping multiple pages, add each page URL separately.
- Keep salary ranges wide unless you need specific bands.
- Set `max_items_per_url` to 50+ for comprehensive market snapshots.
- Schedule recurring runs to track salary and vacancy trends over time.

***

### Use Cases & Business Value

- **Talent market intelligence:** Monitor hiring volume, salary trends, and skill demand by region
- **Competitive analysis:** Track competitor hiring patterns and compensation benchmarks
- **Job board aggregation:** Centralize UK job listings into a unified, searchable platform
- **Recruitment analytics:** Identify skills gaps, geographic hotspots, and emerging roles
- **Academic & market research:** Analyze UK labor market dynamics and employment trends

The S1jobs Jobs Search Scraper delivers structured, actionable data that would take days to collect manually, enabling rapid market insight and informed decision-making.

***

### Conclusion

The **S1jobs Jobs Search Scraper** is an essential tool for anyone building recruitment intelligence, job aggregation platforms, or conducting labor market research in the UK. With 50+ data fields and flexible URL-based filtering, it captures the full depth of S1jobs listings. Start scraping today and unlock competitive hiring insights at scale.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.s1jobs.com/jobs/glasgow/?Keywords=&ContractOrPermanent=&AgencyOrEmployer=&has_video=&FullOrPartTime=&Salary.BasePayL=0&Salary.BasePayH=0&SpecialismList=&JobLocation.City=GLASGOW&CompanyName=&CoreSkillList=&sort=&JobWorkingLocation=&page=2&relatedJobTitles=&Distance=20&per_page=20"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.s1jobs.com/jobs/glasgow/?Keywords=&ContractOrPermanent=&AgencyOrEmployer=&has_video=&FullOrPartTime=&Salary.BasePayL=0&Salary.BasePayH=0&SpecialismList=&JobLocation.City=GLASGOW&CompanyName=&CoreSkillList=&sort=&JobWorkingLocation=&page=2&relatedJobTitles=&Distance=20&per_page=20"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/s1jobs-jobs-search-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 = {
    "urls": ["https://www.s1jobs.com/jobs/glasgow/?Keywords=&ContractOrPermanent=&AgencyOrEmployer=&has_video=&FullOrPartTime=&Salary.BasePayL=0&Salary.BasePayH=0&SpecialismList=&JobLocation.City=GLASGOW&CompanyName=&CoreSkillList=&sort=&JobWorkingLocation=&page=2&relatedJobTitles=&Distance=20&per_page=20"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/s1jobs-jobs-search-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.s1jobs.com/jobs/glasgow/?Keywords=&ContractOrPermanent=&AgencyOrEmployer=&has_video=&FullOrPartTime=&Salary.BasePayL=0&Salary.BasePayH=0&SpecialismList=&JobLocation.City=GLASGOW&CompanyName=&CoreSkillList=&sort=&JobWorkingLocation=&page=2&relatedJobTitles=&Distance=20&per_page=20"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call alexist/s1jobs-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=alexist/s1jobs-jobs-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "S1jobs Jobs Search Scraper",
        "description": "Scrape job search results from S1jobs.com with precision. Collect job titles, salary data, location details, company info, and 50+ structured fields per listing — perfect for job aggregators, market research, and recruitment analytics.",
        "version": "0.0",
        "x-build-id": "E4cxr4IVDhcdIXfvL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/alexist~s1jobs-jobs-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-alexist-s1jobs-jobs-search-scraper",
                "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/alexist~s1jobs-jobs-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-alexist-s1jobs-jobs-search-scraper",
                "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/alexist~s1jobs-jobs-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-alexist-s1jobs-jobs-search-scraper",
                "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",
                "properties": {
                    "urls": {
                        "title": "URLs of the Jobs list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
