
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Export job postings from OnlineJobs.ph, the Philippines' biggest marketplace for remote and virtual-assistant jobs. Search by keyword, type of work and posting date, or paste search, category and job links. Get title, employer, salary (parsed), hours, posting time, full description and skills. No login needed.
Export remote and virtual-assistant job posts from OnlineJobs.ph, the Philippines' biggest job board for remote work, into a clean spreadsheet. Search by keyword, type of work and posting date, paste search, category or job links, or pull the newest jobs on the whole site. You get the title, employer, salary (parsed into numbers), hours per week, posting time, full description and skills, with no login and no account.
salaryMin, salaryMax, salaryCurrency and salaryPeriod (hour, week, month, ...).virtual assistant, shopify), or paste OnlineJobs.ph links: a search page, a skill category page or single job pages. You can also tick Newest jobs to get the latest posts across the whole site.| Field | What it does |
|---|---|
searchKeywords | Job titles, skills or company names. Each keyword is its own search; a job found twice is saved once. |
startUrls | Search links (/jobseekers/jobsearch?jobkeyword=seo), skill category links (/jobseekers/search/c/virtual-assistant) or job links (/jobseekers/job/...-1753707). |
latestJobs | Also save the newest jobs on the whole site, newest first. |
maxResults | Jobs per keyword, link list or newest-jobs list. 0 = no limit. |
employmentTypes | full-time, part-time, gig. Jobs marked "Any" match every type (the site's own rule). |
postedWithinDays | Only jobs posted in the last N days (Philippine time). |
fetchDetails | Open each job page for the full description, hours, date updated and all skills (on by default, same price). |
proxyConfiguration | Datacenter by default. |
{
"searchKeywords": ["virtual assistant", "shopify"],
"maxResults": 20,
"employmentTypes": ["part-time"],
"postedWithinDays": 7,
"fetchDetails": true
}
One row per job.
| Field | Description |
|---|---|
jobId, jobUrl | OnlineJobs.ph job id and link |
jobTitle | Job title |
employerName, employerLogoUrl | Employer, when the site shows it (only employers with a logo) |
employmentType | Full Time, Part Time, Gig or Any |
salary | Salary as the employer wrote it |
salaryMin, salaryMax, salaryCurrency, salaryPeriod | Parsed salary figures, when the text allows |
hoursPerWeek | Hours per week (job details) |
datePosted, postedAt | Posting date (Philippine time) and posting time (UTC) |
dateUpdated | Date the job was last updated (job details) |
descriptionSnippet, fullDescription | Search snippet and the full description (job details) |
skills, skillCategories | Skill tags and their category slugs |
searchKeyword, sourceUrl | The keyword or link the job came from |
scrapedAt | When the row was saved (UTC) |
Example row (from a test run; employer and text shortened and changed):
{
"jobId": "1674733",
"jobUrl": "https://www.onlinejobs.ph/jobseekers/job/social-media-content-editor-virtual-assistant-1674733",
"jobTitle": "Social Media Content Editor & Virtual Assistant",
"employerName": "Example Studio Ltd",
"employerLogoUrl": "https://media.onlinejobs.ph/employer_logos/000000/example.png",
"employmentType": "Full Time",
"salary": "$4 per hour",
"salaryMin": 4,
"salaryMax": 4,
"salaryCurrency": "USD",
"salaryPeriod": "hour",
"hoursPerWeek": 40,
"datePosted": "2026-10-21",
"postedAt": "2026-10-21T12:21:00Z",
"dateUpdated": "2026-10-21",
"descriptionSnippet": "About Us\n\nWe help business owners and content creators reclaim their time by managing their social media content…",
"fullDescription": "About Us\n\nWe help business owners and content creators reclaim their time ...\n\nWhat You'll Do\n\n- Edit short-form content for TikTok, Instagram Reels, YouTube Shorts and LinkedIn\n- Write captions, research hashtags and schedule posts ...",
"skills": ["Social Media Content Creation", "Social Media Management", "Video Editing"],
"skillCategories": ["content-creation--social-media-content-creation", "marketing--social-media-management", "video-editing"],
"searchKeyword": "virtual assistant",
"sourceUrl": "https://www.onlinejobs.ph/jobseekers/jobsearch?jobkeyword=virtual+assistant",
"scrapedAt": "2026-10-21T13:46:42Z"
}
You pay $4.00 per 1,000 jobs ($0.004 per saved job), with or without full details, plus the small platform usage of the run (compute and datacenter proxy traffic). There is no start fee.
Worked example: 1,000 jobs with full details ≈ $4.00 in job events plus a few cents of platform usage. A daily alert of 50 new jobs costs about $0.20 per run. Jobs that are filtered out, duplicates and pages that fail are never charged, and a run stops cleanly when it reaches your maximum charge.
Is it legal to scrape OnlineJobs.ph? The actor reads only public job posts that anyone can open without an account. Check the site's terms and your local laws (including data-protection rules) for how you use the data.
Do I need a login or my own proxies? No. No account, cookies or login are used. Datacenter proxies are included and are enough for OnlineJobs.ph; if the site ever refuses them, the run switches to Philippine residential exits on its own.
How many jobs can I get?
Set maxResults per keyword or link (0 = no limit). A single search is limited by what the site lists for it; to collect more, add more keywords or category links, or use Newest jobs, which walks the site's index of recent jobs.
Why is a field empty?
The site shows the employer name only for employers with a logo, and many employers write salary text without a currency or period, so those fields are empty when the site has nothing to show. fullDescription, hoursPerWeek and dateUpdated need Full job details turned on.
Can I schedule it or use the API? Yes. Schedule a run (for example daily with Newest jobs and Posted within 1 day) and read the dataset through the API, webhooks or integrations.
Why do some words in a description show as ----------?
OnlineJobs.ph runs its own content filter on job pages and replaces words it flags (for example contact hints or outside brand names) with dashes. The actor returns the text exactly as the public page shows it.
salary keeps the original text.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchKeywordsarrayOptionalSearch keywords
Job titles, skills or company names, one per line, e.g. 'virtual assistant', 'shopify', 'bookkeeper'. Each keyword is its own search; a job found by several keywords is saved once.
startUrlsarrayOptionalOnlineJobs.ph links
Optional. Search links (www.onlinejobs.ph/jobseekers/jobsearch?jobkeyword=seo), skill category links (www.onlinejobs.ph/jobseekers/search/c/virtual-assistant) or job links (www.onlinejobs.ph/jobseekers/job/...-1753707). Every job link is saved.
latestJobsbooleanOptionaldefault falseNewest jobs (all categories)
Also save the newest jobs on the whole site, newest first: today's jobs from the site's job list, then older ones from its job index (about 50,000 recent jobs). Use 'Maximum jobs per search' to choose how many.
maxResultsintegerOptionaldefault 20Maximum jobs per search
How many jobs to save for each keyword, link or the newest-jobs list. 0 = no limit (up to 100,000). The site shows up to about 300 jobs per search; use more keywords or category links to get more.
employmentTypesarrayOptionalType of work
Only jobs of these types. Jobs the employer marked 'Any' match every type (the site's own rule). Leave empty for all.
postedWithinDaysintegerOptionalPosted within (days)
Only jobs posted in the last N days (Philippine time). Job links and the older part of the newest-jobs list use the date the job was last updated. Empty or 0 = any date.
fetchDetailsbooleanOptionaldefault trueFull job details
Open each job's page for the full description, hours per week, date updated, the complete skill list and the employer name. Turn off for a faster run with the search-result fields only (a description snippet instead of the full text). Same price either way.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for OnlineJobs.ph. If the site refuses them, the run switches to Philippine residential proxies by itself.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| jobId | string | OnlineJobs.ph job id |
| jobUrl | string | Job page |
| jobTitle | string | null | |
| employerName | string | null | Shown by the site only for employers with a logo |
| employerLogoUrl | string | null | |
| employmentType | string | null | Full Time, Part Time, Gig or Any |
| salary | string | null | Salary as the employer wrote it |
| salaryMin | number | null | Lowest figure in the salary text |
| salaryMax | number | null | Highest figure in the salary text |
| salaryCurrency | string | null | Currency when the salary text names one (USD, PHP, ...) |
| salaryPeriod | string | null | hour, day, week, month, year or project, when the salary text says so |
| hoursPerWeek | number | null | |
| datePosted | string | null | Posting date, Philippine time (YYYY-MM-DD) |
| postedAt | string | null | Posting time, UTC |
| dateUpdated | string | null | Date the job was last updated (job details) |
| descriptionSnippet | string | null | Start of the description from the search results |
| fullDescription | string | null | Full description (job details) |
| skills | array | |
| skillCategories | array | Site skill category slugs, same order as skills |
| searchKeyword | string | null | |
| sourceUrl | string | null | The search, category or job link the job came from |
| scrapedAt | string |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Job | One saved OnlineJobs.ph job post. | $0.004 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('openrole/onlinejobs-ph-scraper').call({
"searchKeywords": [
"virtual assistant"
],
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run openrole/onlinejobs-ph-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=openrole/onlinejobs-ph-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Two keyword searches, 10 jobs each, with the full description, hours per week and skills from every job page.
Paste an OnlineJobs.ph skill category link and get its newest jobs with full details.
The latest job posts across all categories, newest first, with full details.
Virtual assistant jobs filtered to part-time (and 'Any') posted in the last week.
Search-result fields only: title, type, salary, posting time, snippet and skills.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.