# Glints Jobs Details Scraper (`alexist/glints-jobs-details-scraper`) Actor

Extract comprehensive job details from Glints.com including salary data, company info, required skills, and 60+ structured fields. Perfect for recruiters, job aggregators, and HR teams analyzing tech talent across Southeast Asia.

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

## How to integrate an Actor?

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

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

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

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

# README

## Glints Jobs Scraper: Automate Job Data Collection from Southeast Asia's Top Hiring Platform

***

### What Is Glints.com?

Glints.com is Southeast Asia's leading job platform, connecting millions of professionals with tech, startup, and corporate opportunities across Singapore, Indonesia, Malaysia, and beyond. The platform hosts thousands of active job postings ranging from internships to senior management roles. Extracting and analyzing this data manually is tedious — the **Glints Jobs Scraper** automates job detail collection, transforming raw listings into structured, actionable data.

***

### Overview

The **Glints Jobs Details Scraper** extracts comprehensive job listings from Glints.com, capturing 60+ structured fields per listing. It's ideal for:

- **Recruitment agencies** tracking talent market trends and competitor postings
- **Job aggregator platforms** building multi-source job databases
- **HR analysts** benchmarking salaries and job requirements across industries
- **Career researchers** studying employment patterns in Southeast Asia
- **Talent acquisition teams** monitoring hiring activity by company and skill

Key strengths include high-volume collection (up to 200 items per URL), graceful error handling with `ignore_url_failures`, and comprehensive field coverage spanning company details, salary ranges, application requirements, and hiring status.

***

### Input Format

The scraper accepts a JSON configuration object with the following parameters:

```json
{
  "urls": [
    "https://glints.com/sg/opportunities/jobs/design-intern/d2e72582-6e97-4f69-859a-b694de0e523c?utm_referrer=explore&traceInfo=6d6560b5-04b9-419b-965e-4106ea3e9c59",
    "https://glints.com/sg/opportunities/jobs/freelance-interior-drafter-design-assistant-remote-bali/94d00aca-01bc-4ec5-a44d-2c57d6fe570e"
  ],
  "max_items_per_url": 200,
  "ignore_url_failures": true
}
```

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | Individual Glints job detail page URLs. Paste URLs one by one or use bulk edit to add multiple links at once |
| `max_items_per_url` | Integer | Maximum records collected per URL (e.g., `200`). Higher values increase execution time |
| `ignore_url_failures` | Boolean | If `true`, the scraper skips failed URLs and continues running. Set to `false` to stop on first failure |

> **Tip:** Extract URLs directly from Glints job detail pages — they contain the job ID and trace info needed for accurate data collection. Test with 1-2 URLs before scaling to large batches.

***

### Output Format

**Sample output**

```json
{
  "city_id": 127215,
  "city_sub_division_id": null,
  "company_id": "d0571e3b-7368-4d6d-b05d-d3cbb2ac3dcd",
  "country_code": "SG",
  "district_id": "d788d97a-8634-40eb-9303-0dcb00044a14",
  "hierarchical_job_category_id": "1b03be80-4e69-4e98-b5ff-68a4222f3990",
  "job_skills": [
    {
      "must_have": true,
      "skill": {
        "id": "7dcd39cf-5ebe-4239-af75-0061ec2f8e6d",
        "name": "Attention to Detail",
        "translation_key": "text-skill-attention-to-detail"
      }
    },
    {
      "must_have": true,
      "skill": {
        "id": "70dc3140-a29a-4bbb-a8ef-5effc4ef3e43",
        "name": "Graphic Design",
        "translation_key": "text-skill-graphic-design"
      }
    },
    {
      "must_have": true,
      "skill": {
        "id": "f996d4e2-77f1-4998-89c3-cb6b9a4f2b7c",
        "name": "Adobe Photoshop",
        "translation_key": "text-skill-adobe-photoshop"
      }
    },
    {
      "must_have": true,
      "skill": {
        "id": "48fba095-03ee-4720-a5ef-27956668ed54",
        "name": "Microsoft Excel",
        "translation_key": "text-skill-microsoft-excel"
      }
    }
  ],
  "accepts_foreign_applications": false,
  "attachments_json_string": "[]",
  "banner_pic": null,
  "bookmark_id": null,
  "can_user_apply_with_reason": {
    "can_apply": true,
    "reason": ""
  },
  "city": {
    "country": {
      "calling_code": "SG",
      "calling_codes": [
        "+65"
      ],
      "code": "SG",
      "currency": [
        "SGD"
      ],
      "demonym": "Singaporean",
      "id": "SG",
      "name": "Singapore"
    },
    "id": 127215,
    "name": "Singapore"
  },
  "closed_at": null,
  "company": {
    "industry_id": 25,
    "location_id": "2abcd874-322d-4eb1-b521-eb9491ffece9",
    "address": "ARK @ Gambas 7 Gambas Crescent, #05-24 Singapore 757087",
    "banner_pic": "4e257cb983e21115ab5209e068ada14c.jpg",
    "brand_name": null,
    "created_at": "2022-12-17T01:23:42.599Z",
    "description_json_string": "{\"blocks\":[{\"key\":\"6fgcs\",\"data\":{},\"text\":\"DTC World is a premium and POSM merchandise solution company, with full-fledged capabilities in global fulfilment that is backed by decades-long experience in the industry.\",\"type\":\"unstyled\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[]},{\"key\":\"ds2ri\",\"data\":{},\"text\":\"The formula for our company’s steady relevance as one of the major players in the industry, spanning over twenty years, is epitomised by our in-depth proficiency in licensing character merchandise, further supported by a constellation of comprehensive and innovative solutions.\",\"type\":\"unstyled\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[]},{\"key\":\"ck1bm\",\"data\":{},\"text\":\"From design conceptualisation and ideation, to product sourcing and production QC, all the way to order fulfilment and digital portal — we are humbled to have assisted some of the largest multinational organisations across the globe in their marketing campaigns through our expertise.\",\"type\":\"unstyled\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[]}],\"entityMap\":{}}",
    "display_name": "DTC World Corporation",
    "id": "d0571e3b-7368-4d6d-b05d-d3cbb2ac3dcd",
    "industry": {
      "id": 25,
      "name": "Consumer Goods"
    },
    "is_approved_to_talent_hunt": false,
    "is_hiring": false,
    "is_v_i_p": false,
    "is_v_i_p_free_trial": false,
    "local_office": true,
    "logo": "40277ca0b530f7589b6d3e1c6dbe0feb.png",
    "name": "DTC World Corporation",
    "photos_json_string": "[\"4faa88776622e682345063cf417d141c.jpeg\",\"bb3281de8dc2ce10e990e1ff3fe5c633.jpeg\",\"977cdb241157a995a56a362294da9124.jpeg\"]",
    "size": "BETWEEN_11_AND_50",
    "social_media_sites_json_string": "{\"instagram\":null,\"twitter\":null,\"facebook\":\"DTCWorldCorporation\",\"linkedin\":\"dtc-world\"}",
    "status": "VERIFIED",
    "tagline": "DTC World is a premium and POSM merchandise solution company, with full-fledged capabilities in global fulfilment that is backed by decades-long experience in the industry.",
    "verification_tier": {
      "type": "LEGAL_DOCUMENTS"
    },
    "video": null,
    "website": "https://dtcworld.com"
  },
  "company_address": {
    "additional_address_info": null,
    "company_id": "d0571e3b-7368-4d6d-b05d-d3cbb2ac3dcd",
    "creator_id": "cb327a2f-f7a0-4fc3-a07a-2be9f79b59f7",
    "id": "8fb3fd0e-4a8f-44a1-a3a0-4d533d47792c",
    "location_id": "d788d97a-8634-40eb-9303-0dcb00044a14",
    "poi": {
      "address_label": "ARK @ Gambas 7 Gambas Crescent, #05-24 Singapore 757087",
      "coordinate": {
        "latitude": 1.4447896,
        "longitude": 103.8129958
      },
      "id": "8fb3fd0e-4a8f-44a1-a3a0-4d533d47792c",
      "location_id": "d788d97a-8634-40eb-9303-0dcb00044a14",
      "name": "ARK @ Gambas 7 Gambas Crescent, #05-24 Singapore 757087",
      "place_id": "8fb3fd0e-4a8f-44a1-a3a0-4d533d47792c-d788d97a-8634-40eb-9303-0dcb00044a14-1.4447896-103.8129958",
      "provider": "SELF"
    },
    "point_of_interest_id": "8fb3fd0e-4a8f-44a1-a3a0-4d533d47792c",
    "status": "ACTIVE"
  },
  "country": {
    "calling_code": "SG",
    "calling_codes": [
      "+65"
    ],
    "code": "SG",
    "currency": [
      "SGD"
    ],
    "demonym": "Singaporean",
    "id": "SG",
    "name": "Singapore"
  },
  "created_at": "2024-11-06T02:11:46.839Z",
  "creator": {
    "id": "7bbfec3f-cc86-4f78-ae9d-d64fd7df2cf2",
    "image": "",
    "is_high_response_rate": false,
    "last_seen": "2026-07-15T04:34:48Z",
    "name": "Sharon Yeow",
    "online": false
  },
  "creator_id": "7bbfec3f-cc86-4f78-ae9d-d64fd7df2cf2",
  "creator_response_rate": null,
  "creator_response_time": null,
  "description_json_string": "{\"blocks\":[{\"type\":\"unstyled\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[{\"length\":16,\"offset\":0,\"style\":\"BOLD\"}],\"key\":\"3iaaa\",\"data\":{},\"text\":\"Job Description:\"},{\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"key\":\"90qlf\",\"data\":{},\"text\":\"\",\"type\":\"unstyled\"},{\"text\":\"Utilize Adobe Photoshop to edit and enhance photos, ensuring they meet quality standards for use in our product catalogues and marketing materials.\",\"type\":\"unordered-list-item\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"key\":\"flm3l\",\"data\":{}},{\"text\":\"Capture high-quality images of products for marketing use, ensuring photos align with brand guidelines and aesthetic standards.\",\"type\":\"unordered-list-item\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"key\":\"bsdue\",\"data\":{}},{\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"key\":\"42kn5\",\"data\":{},\"text\":\"Conduct preliminary market research focused on industry trends and consumer behaviors. Gather data that will inform design choices and marketing strategies.\",\"type\":\"unordered-list-item\"},{\"entityRanges\":[],\"inlineStyleRanges\":[],\"key\":\"6qq1h\",\"data\":{},\"text\":\"Regularly update and maintain the sample inventory at the local office. Ensure that the inventory is organized and accurately reflects available materials.\",\"type\":\"unordered-list-item\",\"depth\":0},{\"data\":{},\"text\":\"Document, track, and organize sample products efficiently, facilitating easy access for stakeholders.\",\"type\":\"unordered-list-item\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"key\":\"e13b3\"},{\"inlineStyleRanges\":[],\"key\":\"ahhp3\",\"data\":{},\"text\":\"Any other related adhoc tasks\",\"type\":\"unordered-list-item\",\"depth\":0,\"entityRanges\":[]},{\"inlineStyleRanges\":[],\"key\":\"bn7a6\",\"data\":{},\"text\":\"\",\"type\":\"unstyled\",\"depth\":0,\"entityRanges\":[]},{\"data\":{},\"text\":\"Requirement:\",\"type\":\"unstyled\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[{\"style\":\"BOLD\",\"length\":12,\"offset\":0}],\"key\":\"2ucfk\"},{\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"key\":\"cdrdr\",\"data\":{},\"text\":\"Currently pursuing a diploma degree in Business, Marketing, or a related field.\",\"type\":\"unordered-list-item\"},{\"key\":\"eekdg\",\"data\":{},\"text\":\"Strong attention to detail and a meticulous approach to handling data and conducting research.\",\"type\":\"unordered-list-item\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[]},{\"data\":{},\"text\":\"Proficient in the use of Adobe Photoshop or a willingness to learn; previous experience is a strong plus.\",\"type\":\"unordered-list-item\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[],\"key\":\"ihpe\"},{\"inlineStyleRanges\":[],\"key\":\"6bcff\",\"data\":{},\"text\":\"An ability to work both independently and as part of a dynamic team.\",\"type\":\"unordered-list-item\",\"depth\":0,\"entityRanges\":[]},{\"entityRanges\":[],\"inlineStyleRanges\":[],\"key\":\"bmp35\",\"data\":{},\"text\":\"Excellent communication and organizational skills.\",\"type\":\"unordered-list-item\",\"depth\":0},{\"key\":\"dv0rf\",\"data\":{},\"text\":\"A proactive mindset and an eagerness to learn and take on new challenges.\",\"type\":\"unordered-list-item\",\"depth\":0,\"entityRanges\":[],\"inlineStyleRanges\":[]}],\"entityMap\":{}}",
  "education_level": "SECONDARY_SCHOOL",
  "end_date": null,
  "exp_info": "",
  "expiry_date": "2026-08-15",
  "external_apply_url": null,
  "fraud_report_flag": null,
  "gender": null,
  "hierarchical_job_category": {
    "default_name": "Designer Assistant",
    "id": "1b03be80-4e69-4e98-b5ff-68a4222f3990",
    "is_paid_job_possible": false,
    "level": 3,
    "name": "Designer Assistant",
    "parents": [
      {
        "default_name": "Visual & Interactive Design",
        "id": "1859c8de-c1b8-45e6-8d7e-21f282d63c95",
        "is_paid_job_possible": false,
        "level": 2,
        "name": "Visual & Interactive Design",
        "parents": [
          {
            "default_name": "Design",
            "id": "0a9f9b0d-d2b1-44f0-8851-81129cf49970",
            "is_paid_job_possible": false,
            "level": 1,
            "name": "Design"
          }
        ]
      },
      {
        "default_name": "Design",
        "id": "0a9f9b0d-d2b1-44f0-8851-81129cf49970",
        "is_paid_job_possible": false,
        "level": 1,
        "name": "Design"
      }
    ],
    "hierarchical_job_category_id": "1b03be80-4e69-4e98-b5ff-68a4222f3990"
  },
  "id": "d2e72582-6e97-4f69-859a-b694de0e523c",
  "interview_process_json_string": null,
  "is_actively_hiring": null,
  "is_applied": false,
  "is_cover_letter_mandatory": false,
  "is_education_required_for_candidate": false,
  "is_high_response_rate": false,
  "is_hot": false,
  "is_location_required_for_candidate": false,
  "is_matched": null,
  "is_profile_pic_required": false,
  "is_public": true,
  "is_remote": false,
  "is_resume_required_for_candidate": false,
  "job_source": "EMPLOYER",
  "labels": [],
  "location": {
    "administrative_level_name": "Planning Area",
    "country_code": "SG",
    "formatted_name": "Sembawang",
    "id": "d788d97a-8634-40eb-9303-0dcb00044a14",
    "latitude": 1.4557469777070757,
    "level": 4,
    "longitude": 103.81882799414701,
    "name": "Sembawang",
    "parents": [
      {
        "administrative_level_name": "Region",
        "country_code": "SG",
        "formatted_name": "North",
        "id": "2abcd874-322d-4eb1-b521-eb9491ffece9",
        "latitude": 1.43042,
        "level": 3,
        "longitude": 103.789317,
        "name": "North",
        "parents": [
          {
            "administrative_level_name": "Province",
            "country_code": "SG",
            "formatted_name": "Singapore",
            "id": "67fa986e-456c-4935-9734-38cbf550303a",
            "latitude": 1.3475123579705577,
            "level": 2,
            "longitude": 103.84435367647565,
            "name": "Singapore",
            "parents": [
              {
                "administrative_level_name": "Country",
                "country_code": "SG",
                "formatted_name": "Singapore",
                "id": "cfea3935-c2f0-4f28-8f40-625f97bb3adc",
                "latitude": 1.3475123579705577,
                "level": 1,
                "longitude": 103.84435367647565,
                "name": "Singapore",
                "slug": "singapore"
              }
            ],
            "slug": "singapore"
          },
          {
            "administrative_level_name": "Country",
            "country_code": "SG",
            "formatted_name": "Singapore",
            "id": "cfea3935-c2f0-4f28-8f40-625f97bb3adc",
            "latitude": 1.3475123579705577,
            "level": 1,
            "longitude": 103.84435367647565,
            "name": "Singapore",
            "slug": "singapore"
          }
        ],
        "slug": "north"
      },
      {
        "administrative_level_name": "Province",
        "country_code": "SG",
        "formatted_name": "Singapore",
        "id": "67fa986e-456c-4935-9734-38cbf550303a",
        "latitude": 1.3475123579705577,
        "level": 2,
        "longitude": 103.84435367647565,
        "name": "Singapore",
        "parents": [
          {
            "administrative_level_name": "Country",
            "country_code": "SG",
            "formatted_name": "Singapore",
            "id": "cfea3935-c2f0-4f28-8f40-625f97bb3adc",
            "latitude": 1.3475123579705577,
            "level": 1,
            "longitude": 103.84435367647565,
            "name": "Singapore",
            "slug": "singapore"
          }
        ],
        "slug": "singapore"
      },
      {
        "administrative_level_name": "Country",
        "country_code": "SG",
        "formatted_name": "Singapore",
        "id": "cfea3935-c2f0-4f28-8f40-625f97bb3adc",
        "latitude": 1.3475123579705577,
        "level": 1,
        "longitude": 103.84435367647565,
        "name": "Singapore",
        "slug": "singapore"
      }
    ],
    "slug": "sembawang"
  },
  "max_age": null,
  "max_years_of_experience": 1,
  "min_age": null,
  "min_years_of_experience": 0,
  "one_tap_apply": {
    "is_eligible": false
  },
  "resume_required_status": "OPTIONAL",
  "salaries": [
    {
      "currency_code": "SGD",
      "id": "d8f0478e-ba9b-47a9-8638-e748efb94cf1",
      "max_amount": 1000,
      "min_amount": 800,
      "payment_frequency": null,
      "salary_mode": "MONTH",
      "salary_type": "BASIC"
    }
  ],
  "screening_questions_enabled": false,
  "should_publish_on_linkedin": false,
  "should_show_benefits": true,
  "should_show_salary": true,
  "skills": [
    {
      "must_have": true,
      "skill": {
        "id": "7dcd39cf-5ebe-4239-af75-0061ec2f8e6d",
        "name": "Attention to Detail",
        "translation_key": "text-skill-attention-to-detail"
      }
    },
    {
      "must_have": true,
      "skill": {
        "id": "70dc3140-a29a-4bbb-a8ef-5effc4ef3e43",
        "name": "Graphic Design",
        "translation_key": "text-skill-graphic-design"
      }
    },
    {
      "must_have": true,
      "skill": {
        "id": "f996d4e2-77f1-4998-89c3-cb6b9a4f2b7c",
        "name": "Adobe Photoshop",
        "translation_key": "text-skill-adobe-photoshop"
      }
    },
    {
      "must_have": true,
      "skill": {
        "id": "48fba095-03ee-4720-a5ef-27956668ed54",
        "name": "Microsoft Excel",
        "translation_key": "text-skill-microsoft-excel"
      }
    }
  ],
  "source": "NATIVE",
  "start_date": null,
  "status": "OPEN",
  "title": "Design Intern",
  "trace_info": "6d6560b5-04b9-419b-965e-4106ea3e9c59",
  "type": "INTERNSHIP",
  "updated_at": "2026-07-15T03:49:48.204Z",
  "work_arrangement_option": "ONSITE"
}
```

Each scraped job returns a comprehensive record with 60+ fields organized into logical categories:

#### Identification & Status

| Field | Meaning |
|---|---|
| `ID` | Unique Glints identifier for the job posting |
| `Title` | Job title as displayed on the listing |
| `Status` | Current posting status (e.g., active, closed, draft) |
| `Is Public` | Whether the listing is publicly visible |
| `Is Actively Hiring` | Whether the company is currently accepting applications |
| `Is Hot` | Popular/trending job indicator |
| `Trace Info` | Session tracking code for application analytics |
| `Job Source` | Where the listing originated (organic, partner, etc.) |

#### Company Information

| Field | Meaning |
|---|---|
| `Company` | Employer name and company profile data |
| `Company ID` | Unique identifier for the employer |
| `Company Address` | Physical office or registered business address |
| `Creator` | User/account that created the job posting |
| `Creator ID` | Unique identifier for the poster |
| `Creator Response Rate` | Percentage of applications this poster typically responds to |
| `Creator Response Time` | Average response time for this employer (measured in hours/days) |
| `Is High Response Rate` | Boolean flag indicating reliable/responsive employer |

#### Location & Geography

| Field | Meaning |
|---|---|
| `City` | Job posting city (e.g., Singapore, Jakarta, Bangkok) |
| `City ID` | Database identifier for the city |
| `City Sub Division ID` | District or administrative subdivision ID |
| `District ID` | Specific district or area code |
| `Country` | Country where the job is located |
| `Country Code` | ISO country code (e.g., SG, ID, MY) |
| `Location` | Full location string as displayed to candidates |
| `Is Remote` | Whether the role is fully or partially remote |
| `Is Location Required For Candidate` | Whether candidates must be in the specified location |

#### Job Details & Requirements

| Field | Meaning |
|---|---|
| `Description JSON String` | Full job description in JSON format (includes rich text, formatting, embedded links) |
| `Type` | Employment type (full-time, part-time, contract, freelance, internship) |
| `Work Arrangement Option` | Work mode flexibility (on-site, remote, hybrid) |
| `Hierarchical Job Category` | Industry classification (e.g., Engineering, Design, Sales) |
| `Hierarchical Job Category ID` | Numeric ID for the job category |
| `Skills` | Array of required or preferred skills |
| `Job Skills` | Structured skill tags extracted from description |
| `Experience Info` | Experience requirements as text (e.g., "3-5 years") |
| `Education Level` | Minimum education required (high school, bachelor, master, PhD) |
| `Is Education Required For Candidate` | Whether education is a mandatory requirement |

#### Compensation & Salary

| Field | Meaning |
|---|---|
| `Salaries` | Salary data including min, max, currency, and frequency (monthly/yearly) |
| `Should Show Salary` | Whether salary is publicly displayed on the listing |
| `Should Show Benefits` | Whether benefits/perks are displayed |

#### Age & Experience Requirements

| Field | Meaning |
|---|---|
| `Min Age` | Minimum age requirement for applicants |
| `Max Age` | Maximum age requirement (if specified) |
| `Min Years Of Experience` | Minimum years of relevant work experience required |
| `Max Years Of Experience` | Maximum experience threshold (if applicable) |
| `Gender` | Gender-based restrictions or preferences (if any) |

#### Application & Screening

| Field | Meaning |
|---|---|
| `Is Applied` | Whether the current user has already applied |
| `Can User Apply With Reason` | Whether users can apply with additional context/reason |
| `Is Cover Letter Mandatory` | Whether applicants must submit a cover letter |
| `Is Resume Required For Candidate` | Whether a resume is required |
| `Resume Required Status` | Resume submission status (required, optional, not needed) |
| `Is Profile Picture Required` | Whether applicant profile picture is needed |
| `Screening Questions Enabled` | Whether employer has set up screening questions |
| `Interview Process JSON String` | Detailed interview process steps in JSON format |
| `External Apply URL` | Link if applications redirect to external site |
| `One Tap Apply` | Quick-apply feature availability for matched profiles |
| `Accepts Foreign Applications` | Whether international candidates can apply |

#### Engagement & Preferences

| Field | Meaning |
|---|---|
| `Bookmark ID` | Internal ID if the job is bookmarked |
| `Is Matched` | Whether job matches user's profile/preferences |
| `Should Publish On LinkedIn` | Company's intent to cross-post on LinkedIn |
| `Banner Picture` | Featured image URL for the job posting |
| `Attachments JSON String` | Attached files (documents, images) in JSON format |
| `Labels` | Internal tags or categories for the posting |

#### Dates & Deadlines

| Field | Meaning |
|---|---|
| `Start Date` | Expected job start date |
| `End Date` | Job contract end date (if applicable) |
| `Expiry Date` | Application deadline date |
| `Closed At` | Timestamp when posting was closed (if no longer active) |
| `Created At` | When the listing was first published |
| `Updated At` | Last modification timestamp |

#### Flags & Moderation

| Field | Meaning |
|---|---|
| `Fraud Report Flag` | Whether the posting has been flagged as suspicious |
| `Source` | Data source indicator (web scrape, API feed, etc.) |

***

### How to Use

1. **Collect job URLs** — Navigate to Glints.com, search for jobs, and open individual job detail pages. Copy the full URL including query parameters.

2. **Prepare your input** — Paste URLs into the `urls` array. You can add single URLs or bulk import a list:

```json
   {
     "urls": ["url1", "url2", "url3"],
     "max_items_per_url": 200,
     "ignore_url_failures": true
   }
```

3. **Configure limits** — Adjust `max_items_per_url` based on your needs (default: 200). Higher limits mean longer processing time.

4. **Enable error handling** — Set `ignore_url_failures: true` to skip broken links and continue running without interruption.

5. **Run the scraper** — Start the actor and monitor progress in the run log. Real-time status updates show URLs being processed.

6. **Export results** — Download data as JSON, CSV, Excel, or directly to cloud storage (Google Drive, Dropbox, etc.).

**Best practices:**

- Test with 2-3 URLs first to verify output structure
- Use `max_items_per_url: 200` for comprehensive data collection
- Always enable `ignore_url_failures` for batch runs
- Monitor API rate limits to avoid temporary blocks

***

### Use Cases & Business Value

- **Talent intelligence:** Monitor hiring trends by company, location, and skill demand across Southeast Asia
- **Salary benchmarking:** Analyze compensation ranges for role comparisons and career planning
- **Competitive analysis:** Track competitor hiring activity, job requirements, and employer branding
- **Job aggregation:** Feed Glints data into multi-source job boards and talent platforms
- **Market research:** Study employment landscape and skill gaps in tech and corporate sectors

The Glints Jobs Scraper eliminates hours of manual browsing, delivering clean, structured data that integrates seamlessly into spreadsheets, databases, or analytics dashboards.

***

### Conclusion

The **Glints Jobs Scraper** is a powerful tool for anyone needing structured employment data from Southeast Asia's premier job platform. With 60+ data fields covering compensation, requirements, company details, and application processes, it transforms job listings into actionable intelligence for recruitment, research, and business development. Start extracting data today and unlock insights that drive smarter hiring and talent decisions.

# 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://glints.com/sg/opportunities/jobs/design-intern/d2e72582-6e97-4f69-859a-b694de0e523c?utm_referrer=explore&traceInfo=6d6560b5-04b9-419b-965e-4106ea3e9c59",
    "https://glints.com/sg/opportunities/jobs/freelance-interior-drafter-design-assistant-remote-bali/94d00aca-01bc-4ec5-a44d-2c57d6fe570e?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
    "https://glints.com/sg/opportunities/jobs/part-time-sales-representative/b0fafbc4-6e75-4552-b8d2-5870952cf53c?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
    "https://glints.com/sg/opportunities/jobs/design-and-sourcing-associate/b8c034cf-37cc-4ee4-be2d-da95d99ea34b?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
    "https://glints.com/sg/opportunities/jobs/design-marketing-intern/110ef3a3-2d42-4bc8-92f0-fcb810699ca9?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826"
  ],
  "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://glints.com/sg/opportunities/jobs/design-intern/d2e72582-6e97-4f69-859a-b694de0e523c?utm_referrer=explore&traceInfo=6d6560b5-04b9-419b-965e-4106ea3e9c59",
        "https://glints.com/sg/opportunities/jobs/freelance-interior-drafter-design-assistant-remote-bali/94d00aca-01bc-4ec5-a44d-2c57d6fe570e?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
        "https://glints.com/sg/opportunities/jobs/part-time-sales-representative/b0fafbc4-6e75-4552-b8d2-5870952cf53c?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
        "https://glints.com/sg/opportunities/jobs/design-and-sourcing-associate/b8c034cf-37cc-4ee4-be2d-da95d99ea34b?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
        "https://glints.com/sg/opportunities/jobs/design-marketing-intern/110ef3a3-2d42-4bc8-92f0-fcb810699ca9?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826"
    ],
    "ignore_url_failures": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/glints-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://glints.com/sg/opportunities/jobs/design-intern/d2e72582-6e97-4f69-859a-b694de0e523c?utm_referrer=explore&traceInfo=6d6560b5-04b9-419b-965e-4106ea3e9c59",
        "https://glints.com/sg/opportunities/jobs/freelance-interior-drafter-design-assistant-remote-bali/94d00aca-01bc-4ec5-a44d-2c57d6fe570e?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
        "https://glints.com/sg/opportunities/jobs/part-time-sales-representative/b0fafbc4-6e75-4552-b8d2-5870952cf53c?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
        "https://glints.com/sg/opportunities/jobs/design-and-sourcing-associate/b8c034cf-37cc-4ee4-be2d-da95d99ea34b?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
        "https://glints.com/sg/opportunities/jobs/design-marketing-intern/110ef3a3-2d42-4bc8-92f0-fcb810699ca9?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
    ],
    "ignore_url_failures": True,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/glints-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://glints.com/sg/opportunities/jobs/design-intern/d2e72582-6e97-4f69-859a-b694de0e523c?utm_referrer=explore&traceInfo=6d6560b5-04b9-419b-965e-4106ea3e9c59",
    "https://glints.com/sg/opportunities/jobs/freelance-interior-drafter-design-assistant-remote-bali/94d00aca-01bc-4ec5-a44d-2c57d6fe570e?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
    "https://glints.com/sg/opportunities/jobs/part-time-sales-representative/b0fafbc4-6e75-4552-b8d2-5870952cf53c?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
    "https://glints.com/sg/opportunities/jobs/design-and-sourcing-associate/b8c034cf-37cc-4ee4-be2d-da95d99ea34b?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826",
    "https://glints.com/sg/opportunities/jobs/design-marketing-intern/110ef3a3-2d42-4bc8-92f0-fcb810699ca9?utm_referrer=explore&traceInfo=d7f2a3fe-e232-4da4-92b8-49ae5a705826"
  ],
  "ignore_url_failures": true
}' |
apify call alexist/glints-jobs-details-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/EiTlMq07BLUk7BXL2/builds/dnD8rtjMbKimFHcwt/openapi.json
