# S1jobs Jobs Details Scraper (`alexist/s1jobs-jobs-details-scraper`) Actor

Scrape comprehensive job listings from S1jobs.com including titles, descriptions, salary info, company details, skills, and 66+ structured fields. Perfect for recruiters, talent analysts, and job aggregators building recruitment databases.

- **URL**: https://apify.com/alexist/s1jobs-jobs-details-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 Scraper: Extract Recruitment Data at Scale
---

### What Is S1jobs.com?

S1jobs.com is a major online recruitment platform hosting thousands of job listings across diverse industries and sectors. The platform connects employers with job seekers through detailed job postings that include company information, salary expectations, required skills, and application details. For recruiters, talent researchers, and HR professionals, manually extracting job data from S1jobs is inefficient — the **S1jobs Jobs Scraper** automates this workflow, capturing 66+ data points per listing in structured, machine-readable format.

---

### Overview

The **S1jobs Jobs Scraper** extracts detailed job posting pages from S1jobs.com, converting unstructured HTML into clean, comprehensive JSON or CSV records. It serves multiple audiences:

- **Recruitment agencies** monitoring job market trends and competitor postings
- **Talent analysts** building datasets for skills demand analysis and market research
- **Job aggregators** populating multi-source job boards and search engines
- **Business intelligence teams** analyzing hiring patterns by sector, location, and skills
- **Academic researchers** studying labor market dynamics and employment trends

The scraper supports bulk URL input, error resilience, and generates rich output across company data, job specifics, salary ranges, skills requirements, and application metadata.

---

### Input Format

The scraper accepts a JSON configuration object with the following structure:

```json
{
  "urls": [
    "https://www.s1jobs.com/job/business-development-executive-127109153"
  ],
  "ignore_url_failures": true
}
````

#### Input Parameters Explained

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array of strings | Direct links to individual S1jobs job detail pages. Paste one URL per entry, or bulk edit to import a list. Example: `https://www.s1jobs.com/job/business-development-executive-127109153` |
| `ignore_url_failures` | Boolean | If `true`, the scraper continues running even if some URLs fail to be scraped. Set to `false` only if you need to halt on first error. Recommended: `true` for reliability. |

**Key requirements:**

- Each URL must link to a specific job detail page (not search results or company profile)
- URLs must be publicly accessible
- Supports multiple URLs for batch scraping in a single run

***

### Output Format

**Sample output**

```json
{
  "company_image_url": "https://www.s1jobs.com//ui/img/shared/company_logos/a44ff337d6cbe239f9b1fec05735e4d1.png",
  "company_seo_url": "/jobs/?CompanyId=2981771&CompanyName=Realise+Recruitment+Ltd",
  "created": "Wed, 15 Jul 2026 10:14:10 GMT",
  "etag": "7ed94f1b7db147d88e956f563b2f325e",
  "url": "/job/business-development-executive-127109153",
  "advert_type": "Basic",
  "application_email_address": "brian@realise-recruitment.co.uk",
  "application_method": {
    "application_method": "email"
  },
  "applied_date": null,
  "apprenticeship": 0,
  "ask_eligibility_question": true,
  "auto_message_template_id": null,
  "canonical_url": "https://www.s1jobs.com/job/business-development-executive-127109153",
  "closing_date": null,
  "company": {
    "company_accreditations": [],
    "company_id": 2981771,
    "company_images": [],
    "company_logo": "https://www.s1jobs.com//ui/img/shared/company_logos/a44ff337d6cbe239f9b1fec05735e4d1.png",
    "company_name": "Realise Recruitment Ltd",
    "company_seo_url": "/jobs/?CompanyId=2981771&CompanyName=Realise+Recruitment+Ltd",
    "company_urn": "REA46196GS",
    "description": ""
  },
  "company_confidential": 0,
  "company_id": 2981771,
  "company_insights": [],
  "company_name": "Realise Recruitment Ltd",
  "company_type": "Agency",
  "company_urn": "REA46196GS",
  "contract_type": "Permanent",
  "core_skill_list": [
    {
      "core_skill": "Sales",
      "id": 21
    },
    {
      "core_skill": "Call / Contact Centres",
      "id": 6
    }
  ],
  "custom_salary": "Up to £30,000 DOE + OTE",
  "custom_salary_text": "Up to £30,000 DOE + OTE",
  "display_label": null,
  "display_location": "St Enochs, Glasgow City",
  "external_reference": "lg",
  "first_live": "Wed, 15 Jul 2026 10:14:32 GMT",
  "graduate_suitable": 0,
  "has_applied": false,
  "hours": "Full",
  "id": 127109153,
  "immediate_start": 0,
  "is_featured": false,
  "is_ops": false,
  "is_saved": false,
  "is_sponsored": false,
  "job_accreditations": [],
  "job_boost": "No Boost",
  "job_company_type": "Agency",
  "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_premier_template": false,
  "job_reference": "lg",
  "job_skills": {
    "computer_skills": [],
    "language_skills": [],
    "other_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"
    ],
    "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"
    ],
    "soft_skills": []
  },
  "job_source": null,
  "job_source_backfill_company": null,
  "job_source_category": "sugar",
  "job_title": "Business Development Executive",
  "job_working_location": "Hybrid working",
  "letterbox": {},
  "location": {
    "label": "St Enochs, Glasgow City",
    "name1": "St Enochs"
  },
  "postcode": "G11AB",
  "primary_core_skill": {
    "core_skill": "Sales",
    "id": 21
  },
  "public_sector_type": null,
  "requires_cv": true,
  "salary_high": 35000,
  "salary_low": 28000,
  "salary_rate": "yearly",
  "salary_text": "Up to £30,000 DOE + OTE",
  "salary_type": "yearly",
  "salaryrange_high": 35000,
  "salaryrange_low": 28000,
  "skills_matched": null,
  "skills_matched_count": null,
  "skills_unmatched": {
    "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"
    ]
  },
  "skills_unmatched_count": 11,
  "specialism_list": [],
  "status": "live",
  "talent_pool_id": 90035,
  "this_job_from": "jobsmanager",
  "vacancy_id": "56146cc1-58de-4a4f-b1cb-a3ce50c98c71",
  "working_hour_pattern": null
}
```

The scraper returns rich job records with 66+ fields organized into 10 categories:

#### Company Information

| Field | Description | Purpose |
|---|---|---|
| `Company Name` | Official name of the employer | Identifying the hiring organization |
| `Company ID` | Unique identifier for the company in S1jobs system | Database indexing and deduplication |
| `Company Type` | Industry classification or organization type | Filtering by employer category |
| `Company URN` | Uniform Resource Name for the company profile | Direct reference to company data |
| `Company Image URL` | URL to company logo or branding image | Visual identification in aggregators |
| `Company SEO URL` | Search-engine-friendly company profile URL | Creating backlinks and SEO value |
| `Company Confidential` | Flag indicating confidential hiring | Respecting employer privacy preferences |
| `Company Insights` | Company metadata and performance indicators | Market research and benchmarking |

#### Job Core Details

| Field | Description | Purpose |
|---|---|---|
| `Job Title` | Position name as displayed (e.g., "Business Development Executive") | Job categorization and search |
| `Job Description` | Full HTML-formatted job description with requirements | Applicant review and SEO indexing |
| `Job Reference` | Internal S1jobs reference code for the posting | Tracking and audit trails |
| `Job Source` | Original source if syndicated or posted elsewhere | Attribution and source verification |
| `URL` | Direct link to the job posting on S1jobs | Creating live backlinks |
| `Canonical URL` | Canonical version of the job URL for SEO | Preventing duplicate content issues |
| `ID` | Unique job identifier in the S1jobs database | Primary key for records |
| `Vacancy ID` | Specific vacancy identifier (may differ from ID) | Tracking multiple vacancies per posting |
| `External Reference` | External system reference if applicable | Integration with ATS and HRIS systems |

#### Dates & Lifecycle

| Field | Description | Purpose |
|---|---|---|
| `Created` | Timestamp when the job was first entered | Historical tracking |
| `First Live` | Date the posting went public | Aging and trending analysis |
| `Closing Date` | Application deadline | Urgency filtering and relevance |
| `Applied Date` | When the current user applied (if applicable) | Personal tracking in user context |
| `ETag` | HTTP entity tag for change detection | Caching and update monitoring |

#### Location & Workplace

| Field | Description | Purpose |
|---|---|---|
| `Display Location` | Job location as shown to candidates (e.g., "London, UK") | Geographic filtering and job search |
| `Location` | Detailed location field for structured data | Map integration and location-based analytics |
| `Postcode` | Postal code of the job location | Geocoding and local search |
| `Job Working Location` | Where work will be performed (office, remote, hybrid) | Work arrangement preference filtering |

#### Salary & Compensation

| Field | Description | Purpose |
|---|---|---|
| `Salary Low` | Minimum salary in numeric format | Salary comparison and filtering |
| `Salary High` | Maximum salary in numeric format | Compensation benchmarking |
| `Salary Range Low` | Alternative low salary range field | Handling multiple salary structures |
| `Salary Range High` | Alternative high salary range field | Supporting different rate types |
| `Salary Text` | Human-readable salary text | Display in listings and applications |
| `Custom Salary` | Custom salary format if non-standard | Handling edge cases and unique arrangements |
| `Custom Salary Text` | Text description of custom salary terms | Context for unusual compensation |
| `Salary Type` | Compensation structure (annual, hourly, daily, etc.) | Standardizing diverse pay models |
| `Salary Rate` | Hourly or period rate if applicable | Calculating total compensation |

#### Employment Terms & Requirements

| Field | Description | Purpose |
|---|---|---|
| `Contract Type` | Employment contract form (permanent, contract, temporary, etc.) | Job stability and commitment level filtering |
| `Hours` | Expected working hours per week | Work-life balance comparison |
| `Working Hour Pattern` | Schedule type (full-time, part-time, flexible, shift, etc.) | Time commitment clarity |
| `Immediate Start` | Whether position can start immediately | Urgency and availability matching |
| `Apprenticeship` | Flag if position is an apprenticeship scheme | Graduate and early-career candidate targeting |
| `Graduate Suitable` | Whether position accepts graduates | Entry-level filtering |

#### Skills & Requirements

| Field | Description | Purpose |
|---|---|---|
| `Core Skill List` | Array of primary required skills | Matching candidate competencies |
| `Primary Core Skill` | Most important skill for the role | Weighted matching algorithms |
| `Job Skills` | Detailed skills with proficiency levels if available | Advanced candidate-job alignment |
| `Specialism List` | Industry specializations or niche expertise needed | Domain-specific filtering |
| `Skills Matched` | Skills applicant possesses that match the job | Resume-to-job matching |
| `Skills Matched Count` | Number of matched skills (numeric) | Quick relevance scoring |
| `Skills Unmatched` | Skills required but not in applicant profile | Skill gap analysis |
| `Skills Unmatched Count` | Number of unmatched skills | Training and upskilling identification |

#### Application & Engagement

| Field | Description | Purpose |
|---|---|---|
| `Application Email Address` | Email for direct applications if available | Candidate contact routing |
| `Application Method` | How to apply (online form, email, external link, etc.) | Application process variation |
| `Requires CV` | Whether CV submission is mandatory | Application requirement communication |
| `Has Applied` | Whether current user has already applied (user-context) | Preventing duplicate applications |
| `Is Saved` | Whether user bookmarked the job (user-context) | Shortlisting and follow-up tracking |

#### Marketing & Visibility

| Field | Description | Purpose |
|---|---|---|
| `Is Featured` | Whether job is promoted/featured on platform | Visibility and urgency indicator |
| `Is Sponsored` | Whether employer paid for promotion | Budget and urgency assessment |
| `Job Boost` | Promotion or boost level applied | Premium listing identification |
| `Is OPS` | Internal flag for operator/special status | Priority processing marker |
| `Letterbox` | Letterbox branding or special formatting | Visual distinction in listings |
| `Job Premier Template` | Premium template design applied | Design quality indicator |
| `Job Accreditations` | Certifications or accreditations associated | Credibility and industry standards |
| `Advert Type` | Type of advertisement (standard, premium, etc.) | Listing tier classification |

#### Advanced Matching & Metadata

| Field | Description | Purpose |
|---|---|---|
| `Ask Eligibility Question` | Whether eligibility questions are presented | Candidate screening flags |
| `Auto Message Template ID` | Automated messaging template for applicants | Communication automation |
| `Company URN` | Company unique resource name | Structured data linking |
| `Job Company Type` | Classification of employer type within S1jobs | Company sector analysis |
| `Job Source Category` | Category of job source if syndicated | Content origin tracking |
| `Job Source Backfill Company` | Backfill company if sourced externally | Attribution tracking |
| `Public Sector Type` | Classification if public sector role | Government job identification |
| `Status` | Current job posting status (live, closed, expired, etc.) | Active/inactive filtering |
| `Talent Pool ID` | Associated talent pool or candidate group | CRM integration |
| `This Job From` | Information about where job originates | Source and ownership tracking |

***

### How to Use

1. **Collect job URLs** — Browse S1jobs.com and copy direct links to job detail pages (not search pages)
2. **Prepare input** — Paste URLs into the `urls` array, one per line or via bulk edit
3. **Configure options** — Set `ignore_url_failures` to `true` for robustness in batch runs
4. **Execute scraper** — Start the run and monitor progress
5. **Download results** — Export data as JSON, CSV, or Excel for analysis

**Pro tips:**

- For high-volume scraping, use bulk URL import to avoid manual entry
- Enable `ignore_url_failures` to prevent a single bad link from halting the entire run
- Filter closed or expired jobs post-scrape using the `Status` field
- Use `Salary Low` and `Salary High` for standardized compensation analysis

**Common troubleshooting:**

- Verify URLs point to job detail pages, not search results or company profiles
- Check that URLs are publicly accessible (some jobs may require login)
- For rate limiting, distribute scrapes across multiple smaller runs rather than one massive batch

***

### Use Cases & Business Value

**Recruitment Intelligence:** Track competitor hiring strategies, monitor talent demand by role and location, and identify emerging market trends.

**Market Research:** Analyze salary benchmarks, skills demand shifts, and industry hiring patterns to inform workforce planning.

**Talent Matching:** Build training programs by identifying skills gaps; match candidates more accurately using the `Skills Matched` and `Skills Unmatched` fields.

**Job Aggregation:** Feed S1jobs listings into multi-source job boards, career websites, or internal recruitment portals.

**Academic & Economic Analysis:** Study employment trends, labor market composition, and hiring cycles across sectors and regions.

By automating data collection from S1jobs, organizations eliminate weeks of manual work, access real-time market insights, and build data-driven recruitment strategies.

***

### Conclusion

The **S1jobs Jobs Scraper** transforms static job postings into rich, actionable data. With 66+ fields spanning company info, salary, skills, location, and application details, it enables sophisticated recruitment analytics, market research, and talent matching that manual methods cannot match. Whether building a job aggregator, analyzing hiring trends, or optimizing recruitment strategy, this scraper delivers the comprehensive job data you need.

# Actor input Schema

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

Add the URLs of the Specific jobs 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.

## Actor input object example

```json
{
  "urls": [
    "https://www.s1jobs.com/job/business-development-executive-127109153"
  ],
  "ignore_url_failures": true
}
```

# 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/job/business-development-executive-127109153"
    ],
    "ignore_url_failures": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/s1jobs-jobs-details-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/job/business-development-executive-127109153"],
    "ignore_url_failures": True,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/s1jobs-jobs-details-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/job/business-development-executive-127109153"
  ],
  "ignore_url_failures": true
}' |
apify call alexist/s1jobs-jobs-details-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "S1jobs Jobs Details Scraper",
        "description": "Scrape comprehensive job listings from S1jobs.com including titles, descriptions, salary info, company details, skills, and 66+ structured fields. Perfect for recruiters, talent analysts, and job aggregators building recruitment databases.",
        "version": "0.0",
        "x-build-id": "LTwaUIbEDAJDJ8pet"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/alexist~s1jobs-jobs-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-alexist-s1jobs-jobs-details-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-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-alexist-s1jobs-jobs-details-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-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-alexist-s1jobs-jobs-details-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 Specific jobs urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Specific jobs 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."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
