# RemoteOK Jobs Scraper - Search & All Current Remote Jobs (`lentic_clockss/remoteok-all-jobs-scraper`) Actor

Search current RemoteOK jobs by keyword or export all current remote roles with salary, tags, location, apply links, and normalized fields for hiring and lead workflows.

- **URL**: https://apify.com/lentic\_clockss/remoteok-all-jobs-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Jobs, Lead generation, Developer tools
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

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

## RemoteOK Jobs Scraper - Search & Export All Current Remote Jobs

**Search or filter RemoteOK jobs by keyword, geo, and industry/tag, or export every current remote job listing with salary, tags, location, and application links as a clean Dataset.**

> Architecture: this Apify Actor is a thin client. Scraping runs on the **remoteok-com** Cloud Run worker (`curl_cffi` → `https://remoteok.com/api`) over HTTPS + API key. Dataset fields and Store pricing are unchanged.
>
> **Worker URL is config, not code:** the Actor reads `WORKER_BASE_URL` from Actor environment variables (plus optional per-run `workerBaseUrl`). Migrating the worker host means updating `WORKER_BASE_URL` (and `WORKER_AUTH` if the API key changes) in Apify Console — no Actor code change required. Set `WORKER_PROVIDES_PROXY=1` when the worker supplies its own `PROXY_URL` instead of Apify RESIDENTIAL.

This Actor returns normalized, deduplicated job records ready for spreadsheets, dashboards, recruitment pipelines, or AI agent workflows.

Use `searchQuery`, `geo`, and/or `industry` to narrow results, or leave them empty to export all current listings. Every row includes the original API object in a `raw` field so you never lose upstream data. There are no preset keywords, geos, or industries.

### Why use this RemoteOK Scraper?

- **Keyword search**: enter `searchQuery` to filter current RemoteOK jobs by title, company, description, tags, location, slug, and URLs.
- **Geo filter**: enter `geo` (for example `usa`, `uk`, `europe`, `india`, `worldwide`) to match location text with common region aliases.
- **Industry / tag filter**: enter `industry` (for example `dev`, `python`, `marketing`, `customer support`) to request RemoteOK with the official `tag` query and keep matching rows.
- **Full-feed export**: leave filters empty to get every valid job record in the current RemoteOK API response.
- **Structured output**: normalized fields for title, company, salary, tags, location, posting date, job URL, and apply URL.
- **Original raw data**: each row preserves the unmodified upstream API object in a `raw` field.
- **Deduplication**: response-local duplicates and malformed records are skipped, with counts reported in `RUN_SUMMARY`.
- **Filter provenance**: filtered rows include `sourceSearchQuery` / `searchRank` and/or `sourceGeo` / `sourceIndustry` / `filterRank`.
- **No credentials needed for RemoteOK**: the worker uses the public RemoteOK API and does not require any RemoteOK login.
- **Cloud Run acquisition**: the Actor calls the hosted `remoteok-com` worker; set `WORKER_AUTH` to match the worker API key.
- **Attribution built in**: `source_url` and `attribution_url` fields make it easy to link back to RemoteOK.

### More Actors like this

Need another job board or a different vertical? Use a **dedicated Actor** below for structured fields. Use this Actor for **RemoteOK** current remote job search and full-feed export.

#### Similar jobs & freelance Actors

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)

#### Prefer another specialized scraper?

If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic scrape.

**E-commerce**

- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)

**Real Estate**

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)

**Travel & Stays**

- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

**Social & Content**

- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

**General Tools**

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic\_clockss](https://apify.com/lentic_clockss).

***

### Tutorial

1. Click **Try for free** on this Actor page.
2. Optionally enter `searchQuery` (e.g. `python`, `frontend`, `devops`).
3. Optionally enter `geo` (e.g. `usa`, `uk`, `worldwide`) and/or `industry` (e.g. `dev`, `marketing`).
4. To export all current jobs, leave `searchQuery`, `geo`, and `industry` empty.
5. Optionally set `maxItems` to cap the output size. `0` means no limit.
6. Click **Start** and wait for the run to finish.
7. Open the **Dataset** tab to download results as JSON, CSV, Excel, or JSONL.
8. Check `RUN_SUMMARY` in the key-value store for source counts, duplicates skipped, and malformed records.

#### Example inputs

All-current-jobs mode (empty input):

```json
{}
```

Keyword search mode:

```json
{
  "searchQuery": "python",
  "maxItems": 25
}
```

Geo + industry filter:

```json
{
  "geo": "usa",
  "industry": "dev",
  "maxItems": 50
}
```

Keyword + geo + industry:

```json
{
  "searchQuery": "python",
  "geo": "europe",
  "industry": "dev",
  "maxItems": 25
}
```

### Input and output examples

#### Input fields

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `searchQuery` | string | empty | Optional keyword or phrase. When set, the Actor filters current RemoteOK API job records by title, company, description, tags, location, slug, job URL, and application URL. |
| `geo` | string | empty | Optional region slug or free-text location filter. Common aliases are listed in **Common geo slugs**. Leave empty for all regions. |
| `industry` | string | empty | Optional RemoteOK tag/industry slug. Common values are listed in **Common industry / tag slugs**. Spaces, hyphens, and underscores are accepted (`customer support` = `customer-support`). |
| `maxItems` | integer | `0` | Maximum matching job records to emit. `0` means no client-side limit on paid plans (schema max `5000`). Free Apify plan: also capped at **1,000/run** and **10 total runs** of this Actor. |
| `workerBaseUrl` | string | *(env)* | Optional per-run override of the Cloud Run worker origin. Default: Actor env `WORKER_BASE_URL`. |

#### Output item example

```json
{
  "id": "123456",
  "record_type": "job",
  "title": "Senior Python Developer",
  "company_name": "Example Co",
  "company_logo": "https://remoteok.com/assets/img/logo.png",
  "description": "We are looking for a senior Python developer...",
  "tags": ["python", "django", "remote"],
  "location": "Worldwide",
  "salary": "$80,000-$120,000/yr",
  "salary_min": 80000,
  "salary_max": 120000,
  "original_created_at": "2026-07-15T00:00:00+00:00",
  "epoch": "1784073600",
  "url": "https://remoteok.com/remote-jobs/123456",
  "apply_url": "https://example.com/apply",
  "slug": "senior-python-developer-example-co",
  "source_url": "https://remoteok.com/remote-jobs/123456",
  "source": "remoteok",
  "sourceSearchQuery": "python",
  "searchRank": 1,
  "sourceGeo": "usa",
  "sourceIndustry": "dev",
  "attribution_url": "https://remoteok.com",
  "crawled_at": "2026-07-15T09:00:00+00:00",
  "raw": {"id": "123456", "position": "Senior Python Developer", "company": "Example Co"}
}
```

In all-current-jobs mode, filter provenance fields are absent. In keyword mode, rows include `sourceSearchQuery` and `searchRank`. In geo/industry-only mode, rows include `sourceGeo` / `sourceIndustry` and `filterRank` as applicable.

#### Output fields

| Field | Description |
| --- | --- |
| `id` | RemoteOK job ID. |
| `record_type` | Always `job`. |
| `title` | Job title / position. |
| `company_name` | Hiring company name. |
| `company_logo` | Company logo URL when available. |
| `description` | Full job description text when available. |
| `tags` | Job tags (e.g. `python`, `remote`, `senior`). |
| `location` | Job location; defaults to `remote` when not specified. |
| `salary` | Formatted salary range string (e.g. `$80,000-$120,000/yr`). |
| `salary_min`, `salary_max` | Numeric salary bounds when available. |
| `original_created_at` | Original posting date from RemoteOK. |
| `epoch` | Epoch timestamp as string. |
| `url` | RemoteOK job URL when provided by the API. |
| `apply_url` | Direct application URL when available. |
| `slug` | URL slug for the job. |
| `source_url` | Constructed or provided RemoteOK job URL. |
| `source` | Always `remoteok`. |
| `sourceSearchQuery` | The keyword used when in search mode. |
| `searchRank` | Match rank (1-based) when in search mode. |
| `sourceGeo` | The `geo` filter used when set. |
| `sourceIndustry` | The `industry` filter used when set. |
| `filterRank` | Match rank (1-based) when geo/industry filters are set without keyword search. |
| `attribution_url` | `https://remoteok.com` for attribution. |
| `crawled_at` | ISO timestamp when this Actor collected the row. |
| `raw` | The original unmodified RemoteOK API record. |

#### Run artifacts

| Artifact | When it is written | What it contains |
| --- | --- | --- |
| `INPUT_ECHO` | After valid input parsing | Normalized scope, keyword, geo, industry, and limits. |
| `RUN_SUMMARY` | After a successful run | Source, filters, record counts, duplicates, malformed records, warnings, and timestamps. |
| `ERROR_SUMMARY` | When a run fails | Error type, safe error message, and timestamps. |

### Common geo slugs

`geo` is matched against RemoteOK location text (and related free-text fields). Use either a short slug or free text. Multi-word values may use spaces or hyphens.

| Slug / input | Also matches | Notes |
| --- | --- | --- |
| `usa` | `us`, `united-states`, `united states`, `u.s.`, `u.s.a.` | United States |
| `uk` | `united-kingdom`, `united kingdom`, `england`, `scotland`, `wales`, `britain` | United Kingdom |
| `europe` | `eu`, `emea` | Europe / EMEA-style labels |
| `emea` | `emea`, `europe` | EMEA-style labels |
| `apac` | `asia`, `pacific` | Asia-Pacific-style labels |
| `latam` | `latin america`, `south america` | Latin America |
| `canada` | `canadian` | Canada |
| `germany` | `deutschland`, `berlin`, `munich` | Germany |
| `france` | `paris` | France |
| `netherlands` | `holland`, `amsterdam` | Netherlands |
| `spain` | `espana`, `españa`, `madrid`, `barcelona` | Spain |
| `ireland` | `dublin` | Ireland |
| `australia` | `sydney`, `melbourne` | Australia |
| `singapore` | `singapore` | Singapore |
| `japan` | `tokyo` | Japan |
| `india` | `bangalore`, `bengaluru`, `mumbai`, `delhi`, `hyderabad`, `chennai`, `pune` | India |
| `brazil` | `brasil`, `sao paulo`, `são paulo` | Brazil |
| `mexico` | `méxico` | Mexico |
| `philippines` | `manila` | Philippines |
| `worldwide` | `world wide`, `anywhere`, `global`, `remote` | Global / remote-friendly labels |
| `remote` | `remote`, `worldwide`, `anywhere`, `global` | Same family as worldwide |

Any other free-text value is also accepted and matched as-is (plus hyphen/space variants). RemoteOK does **not** expose a reliable server-side location query on the public API, so geo filtering is applied on the current feed returned at run time.

### Common industry / tag slugs

`industry` maps to RemoteOK tags. When set, the Actor calls `https://remoteok.com/api?tag=...` and still applies a local tag match so only relevant rows are emitted. Spaces, hyphens, and underscores are interchangeable.

| Slug | Examples of accepted forms | Typical use |
| --- | --- | --- |
| `dev` | `dev` | Software development |
| `web-dev` | `web dev`, `web-dev` | Web development |
| `python` | `python` | Python roles |
| `javascript` | `javascript` | JavaScript roles |
| `react` | `react` | React roles |
| `design` | `design`, `designer` | Design |
| `marketing` | `marketing` | Marketing |
| `customer-support` | `customer support`, `customer-support`, `support` | Customer support |
| `digital-nomad` | `digital nomad`, `digital-nomad` | Digital nomad friendly |
| `exec` | `exec` | Executive / leadership |
| `ops` | `ops` | Operations |
| `education` | `education`, `teaching` | Education |
| `medical` | `medical` | Medical / healthcare |
| `content-writing` | `content writing`, `content-writing`, `copywriting` | Content / writing |
| `technical` | `technical` | Technical roles |
| `sys-admin` | `sys admin`, `sys-admin` | Sysadmin |
| `finance` | `finance` | Finance |
| `sales` | `sales` | Sales |
| `hr` | `hr`, `recruiter` | HR / recruiting |
| `legal` | `legal` | Legal |
| `testing` | `testing` | QA / testing |
| `mobile` | `mobile` | Mobile |
| `video` | `video` | Video |
| `social-media` | `social media`, `social-media` | Social media |
| `virtual-assistant` | `virtual assistant`, `virtual-assistant` | Virtual assistant |
| `data-entry` | `data entry`, `data-entry`, `analyst` | Data / analysis-related tags |
| `engineer` | `engineer` | Engineering labels |
| `non-tech` | `non tech`, `non-tech` | Non-tech roles |
| `full-time` | `full time`, `full-time` | Employment type tag |

RemoteOK tag inventory changes over time. If a tag is rare or unused on the current feed, the run can succeed with zero rows and a clear `RUN_SUMMARY`.

### Data source and search boundary

This Actor uses the public RemoteOK API endpoint (`https://remoteok.com/api`) at run time. RemoteOK decides which current job records are present in that response.

- `searchQuery` filters the current API payload locally.
- `industry` requests the official `tag` query and also filters locally.
- `geo` filters the returned payload locally against location/text fields.
- The Actor does not query a separate RemoteOK historical index and does not paginate through older jobs.

Unsupported aliases such as `query`, `keyword`, `keywords`, `tags`, `tag`, and `location` are rejected. Use the canonical fields `searchQuery`, `geo`, and `industry` so automation does not silently change scope.

#### Free Apify plan limits (set by this Actor's developer)

| Limit | Free Apify plan | Paid Apify plan |
| --- | --- | --- |
| Runs of this Actor | **10 runs total** | Unlimited |
| Jobs per run (`maxItems`) | **Up to 1,000** | Up to 5,000 (`0` = no client-side cap) |

When the run cap is hit, the run finishes with a clear status message — not an Apify platform error.

### Pricing

**Pay per event. No subscription.** Apify displays the effective event price before each run.

**Free Apify plan:** up to **10 runs** of this Actor and **1,000 jobs per run**. Upgrade to a paid Apify plan for unlimited runs. (Limits set by the Actor developer.)

| Event | Price | When it is charged |
| --- | ---: | --- |
| `apify-actor-start` | **$0.005** | Automatically once when a normal Actor run starts. |
| `apify-default-dataset-item` | **$2.00 / 1,000** | Automatically for each item written to the default Dataset. |

For example, a run returning 100 job records costs **$0.205** in Actor events: $0.005 to start plus $0.200 for results. Platform usage costs are charged to the user in addition to these Actor events, as shown by Apify before a run.

Both listed events are Apify synthetic events: the platform accounts for them automatically, so the Actor does not manually issue duplicate charges in code.

### Live View and Standby endpoints

This Actor exposes an honest lightweight Live View service. Data collection stays in normal Actor runs; the standby service does not pretend to offer a separate scrape API.

| Endpoint | Purpose |
| --- | --- |
| `GET /` | Readiness and service information. |
| `GET /health` | Fast health check. |
| `GET /input-example` | Low-cost input compatible with the Actor schema. |
| `GET /openapi.json` | The deployed OpenAPI 3.x contract. |

The interactive **Standby** tab on Apify renders these endpoints from the same OpenAPI document served by the Actor.

### Connect from code or an AI workflow

Use this Actor in Apify, Make, Zapier, n8n, or an agent workflow. The Actor ID is `lentic_clockss/remoteok-all-jobs-scraper`.

<details>
<summary>Python example</summary>

```python
from apify_client import ApifyClient

client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("lentic_clockss/remoteok-all-jobs-scraper").call(
    run_input={
        "searchQuery": "python",
        "geo": "usa",
        "industry": "dev",
        "maxItems": 25,
    }
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], item["company_name"], item["tags"], item["source_url"])
```

</details>

### Related Actors

All **77** public Actors from \[[lentic\_clockss](https://apify.com/lentic_clockss)]. Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

***

### FAQ and support

**Does it search RemoteOK by keyword?** Yes. Set `searchQuery` to a word or phrase. The Actor filters the current RemoteOK API job records and returns matching jobs with `sourceSearchQuery` and `searchRank`.

**Can I filter by region or industry?** Yes. Use `geo` and/or `industry`. See the slug tables above. Filtered rows include `sourceGeo` / `sourceIndustry` provenance.

**Does "all" include RemoteOK history?** No. "All" means all valid job records in the API response at run time. The RemoteOK endpoint itself decides which current records it returns and does not expose a historical pagination option here.

**What happens when there are no matches?** If any of `searchQuery`, `geo`, or `industry` is set and nothing matches, the run succeeds with zero Dataset rows and a clear `RUN_SUMMARY` showing the filters and `recordsEmitted: 0`. That is different from a source failure, which writes `ERROR_SUMMARY` and fails.

**Can I publish the results commercially?** Check the upstream notice and [RemoteOK terms](https://remoteok.com/legal) before use. The API metadata says the API is free for non-commercial use, and RemoteOK's terms require a hyperlink back where API or site data is used. Keep `source_url` and `attribution_url`, link back visibly, and obtain written permission before commercial redistribution or Store publication.

**Where can I report a problem?** Include the Actor run ID, `RUN_SUMMARY` or `ERROR_SUMMARY`, and one example `source_url` in your support request. Never include credentials because this Actor does not need any.

**I'm on the free Apify plan — are there limits?** Yes. Free Apify plan users get **10 runs** of this Actor and **up to 1,000 jobs per run**. These limits are set by the Actor developer (not Apify). When you hit the run cap, the run finishes with a clear status message — it is not a platform bug. Upgrade to a paid Apify plan for unlimited runs.

***

Explore more tools from [lentic\_clockss on Apify](https://apify.com/lentic_clockss).

# Actor input Schema

## `searchQuery` (type: `string`):

Optional keyword or phrase. When set, the Actor filters current RemoteOK job records by title, company, description, tags, location, slug, and URLs.

## `geo` (type: `string`):

Optional region slug or free-text location filter matched against RemoteOK location fields. Common slugs: usa, uk, europe, india, canada, worldwide. See README geo slug table. Leave empty for all regions.

## `industry` (type: `string`):

Optional RemoteOK tag/industry slug (for example dev, python, marketing, customer support). Spaces and hyphens are interchangeable. When set, the Actor requests RemoteOK with the official tag query and keeps matching rows. See README industry slug table.

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

Set 0 to keep every matching current RemoteOK job record returned by the API (paid Apify plans). Free Apify plan users: capped at 1,000 jobs per run and limited to 10 total runs of this Actor (Actor developer policy). Use a positive number when you deliberately want a smaller output.

## `workerBaseUrl` (type: `string`):

Override worker origin for this run. Default: Actor env WORKER\_BASE\_URL. Production migrations should update WORKER\_BASE\_URL in Actor settings (no code change).

## Actor input object example

```json
{
  "searchQuery": "python",
  "maxItems": 0
}
```

# Actor output Schema

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

All valid matching job records returned by the RemoteOK API unless the user explicitly sets maxItems.

## `runSummary` (type: `string`):

Source, search query, counts for the source response, emitted records, duplicates, and malformed records.

## `inputEcho` (type: `string`):

Normalized non-secret input showing the actual collection or search scope.

## `errorSummary` (type: `string`):

Structured failure details when input validation or source acquisition fails.

# 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 = {
    "searchQuery": "python",
    "geo": "",
    "industry": "",
    "maxItems": 0
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/remoteok-all-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQuery": "python",
    "geo": "",
    "industry": "",
    "maxItems": 0,
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/remoteok-all-jobs-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 '{
  "searchQuery": "python",
  "geo": "",
  "industry": "",
  "maxItems": 0
}' |
apify call lentic_clockss/remoteok-all-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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