Jobicy Remote Jobs Scraper - Search & All Current Remote Jobs avatar

Jobicy Remote Jobs Scraper - Search & All Current Remote Jobs

Pricing

from $1.10 / 1,000 results

Go to Apify Store
Jobicy Remote Jobs Scraper - Search & All Current Remote Jobs

Jobicy Remote Jobs Scraper - Search & All Current Remote Jobs

Search or filter current Jobicy remote jobs by keyword, geo, and industry, or export all current records with salary, level, location, apply links, and normalized fields.

Pricing

from $1.10 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

Architecture: this Apify Actor is a thin client. Scraping runs on the jobicy-com Cloud Run worker (curl_cffi → Jobicy public API) over HTTPS + API key. Input/output 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). If you migrate the worker to a new host, update WORKER_BASE_URL (and WORKER_AUTH if the API key changes) in Apify Console — no Actor code change required.

Search or filter Jobicy remote jobs by keyword, region (geo), and industry, or export every current remote job listing with salary, level, location, and application links as a clean Dataset. This Actor calls the public Jobicy Remote Jobs API and returns normalized, deduplicated job records ready for spreadsheets, dashboards, recruitment pipelines, or AI agent workflows.

There are no preset search keywords and no preset geo/industry filters. Leave filters empty to collect all current Jobicy records returned by the API. Enter values only when you want Jobicy’s official title/description search or region/category filters.


Need a dedicated scraper for one website?

This Actor is the general tool for protected public pages. If you already have one specific site and a field list, a dedicated scraper is faster and more stable: listing + detail, your export format, delivered to your Apify account or as a standalone runnable client.

I confirm the tier before you pay. The clock starts after that confirmation.

Start here: Submit a custom scraper request

Starter $50Dedicated $100Hard target $200–999
Site1 simple anti-bot public site1 medium anti-bot public siteCloudflare / aggressive anti-bot / custom parser
ScopeFull listing + detail fieldsListing + detail + pagination, your field listAgreed fields, repeatable runs
DeliveryCSV/JSON · Apify Actor or standalone runnable client (script/CLI)Same, plus a sample run and short instructionsFeasibility first, then build
Time24 hours after we confirm the URL is in scope48 hours after confirmationQuoted after feasibility
Fixes30 days for small public-layout changes30 daysScoped in the quote

Hard-target sites are not a 100% uptime promise. You get a dedicated parser that can be re-run on the agreed fields. If the URL is not feasible, you get a refund or pay an assessment fee only — you will know before the build starts.

Not in Starter/Dedicated: login-walled data, native APK / Windows installer / full web apps, or two-year maintenance. Those are a separate quote.


Why use this Jobicy Scraper?

  • Keyword search: set searchQuery and the Actor queries Jobicy with the official tag search over job title and description.
  • Region filter: set geo to a Jobicy geo slug such as usa, emea, or apac.
  • Industry filter: set industry to a Jobicy industry slug such as marketing or design-multimedia.
  • All-current export by default: empty input returns all current jobs from the Jobicy API response (API cap applies).
  • No hidden filters: defaults contain no industry, geo, or tag filters.
  • Structured output: title, company, salary, industry, level, location, posting date, job URL, and more.
  • Original raw data: each row keeps the unmodified upstream API object in raw.
  • Search/filter provenance: keyword rows include sourceSearchQuery/searchRank; geo/industry modes include sourceGeo/sourceIndustry.
  • No credentials needed: public API only.
  • Attribution built in: source_url and attribution_url make it easy to credit Jobicy.

More Actors like this

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

Similar jobs & freelance Actors

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

Real Estate

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.


Tutorial

  1. Click Try for free on this Actor page.
  2. Optionally enter a keyword in searchQuery (for example python, seo, or customer support).
  3. Optionally set geo (region slug) and/or industry (category slug).
  4. To export all current jobs, leave searchQuery, geo, and industry empty.
  5. Optionally set maxItems to cap output size. 0 means no client-side limit.
  6. Click Start and wait for the run to finish.
  7. Open the Dataset tab to download JSON, CSV, Excel, or JSONL.
  8. Check RUN_SUMMARY in the key-value store for source counts, applied filters, and skipped records.

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

LimitFree Apify planPaid Apify plan
Runs of this Actor10 runs totalUnlimited
Jobs per run (maxItems)Up to 1,000Up to 5,000 (0 = unlimited up to safety cap)

These caps are enforced by the Actor developer (not Apify platform errors). When you hit the 10-run limit, the run finishes gracefully with a clear status message asking you to upgrade.

Example inputs

All-current mode:

{}

Keyword search mode:

{
"searchQuery": "python",
"maxItems": 10
}

Region + industry filter:

{
"geo": "usa",
"industry": "marketing",
"maxItems": 20
}

Combined keyword + filters:

{
"searchQuery": "seo",
"geo": "usa",
"industry": "marketing",
"maxItems": 10
}

Input and output examples

Input fields

FieldTypeDefaultDescription
searchQuerystringemptyOptional keyword or phrase. When set, Jobicy searches job title and description.
geostringemptyOptional Jobicy geo slug (for example usa, emea, apac, australia). Leave empty for all regions.
industrystringemptyOptional Jobicy industry slug (for example marketing, design-multimedia, supporting). Leave empty for all industries.
maxItemsinteger0Max jobs after normalize/dedupe (safety cap 5000); free users capped at 1,000/run + 10 runs total

Unsupported aliases such as query, keywords, tag, filters, jobGeo, and jobCategory are rejected so runs do not silently change scope.

Output fields

FieldDescription
idJobicy job ID.
record_typeAlways job.
titleJob title.
company_nameHiring company.
company_logoLogo URL when available.
description, excerptJob description and short excerpt when available.
job_typeEmployment types (for example Full-Time).
locationJob geo; defaults to remote when missing.
industry, tagsJobicy industry categories.
levelExperience level when available.
salary, salary_min, salary_max, salary_currency, salary_periodSalary metadata when supplied.
published_atPublication timestamp.
url, slug, source_urlJobicy links.
sourceAlways jobicy.
sourceSearchQuery, searchRankPresent in keyword search mode.
sourceGeo, sourceIndustryPresent when the corresponding input filter was set.
attribution_urlhttps://jobicy.com.
crawled_atWhen this Actor collected the row.
phonesLead key: posting-body phone numbers (almost always empty; see Lead fields).
emailsLead key: posting-body mailto: addresses (partial; see Lead fields).
addressLead key: city-level location only (locality/full = Jobicy geo string).
geoLead key: always {"lat": null, "lng": null} (no coordinates on site).
personLead key: always null (no recruiter/contact-person keys on site).
orgLead key: employer {name, id} (id always null).
webLead key: employer {website, socials[]} from detail/company enrich.
leadSourceLead key: detail (API rows carry posting-body depth).
leadRevealLead key: visible when org/email/city present, else absent.
leadAbsencesLead key: per-subfield missing reason (本站无 / 闸门锁 / 未验证).
rawOriginal Jobicy API object.

Schema note: .actor/dataset_schema.json additionally declares nullable company_website / company_socials as reserved keys. They are enrich-internal and folded into web.website / web.socials before emit, so live items do not carry them as top-level keys. They stay declared (nullable) so the schema remains additive.

Lead / Contact fields (线索字段)

Every item carries the full lead-output.md key set (omitting a key is a defect; null/empty is always paired with a leadAbsences reason). Site-measured meaning per key (recon ~/Downloads/Jobicy页面调研分析报告_2026-09-04.md, worker contract worker/docs/worker-contract.md):

FieldTypeMeaning on jobicy.com
phones[{value, type}]Phone numbers found in the posting body. Almost always []. The only measured exception is an accommodation/EEO hotline printed inside the job description (e.g. +1 (203) 964-0096, typed accommodation-hotline). Never an employer switchboard; the API has no phone key and company pages return telephone: null.
emails[{value, type}]mailto: addresses in the posting body (description HTML + detail-page enrich). Partial: ~12% of postings in the 50-row recon sample. Values are real employer inboxes but mostly HR/EEO/accommodation addresses (careers@, humanresources@, ApplicantAccommodations@, e.g. recruitingops@thumbtack.com, careers@mantech.com) — not per-job recruiter direct lines. ?subject= query strings are stripped; wa.me share links are never treated as company numbers.
address{street, unit, locality, region, postalCode, country, full}City-level only. locality/full carry the Jobicy geo string (USA, Canada, …); street, unit (门牌), postalCode are always null. Company pages confirm the same ceiling (PostalAddress with addressLocality only, e.g. Amsterdam, New York / San Francisco, CA).
geo{lat, lng}Always null. No surface (API, detail JSON-LD, company page) exposes coordinates. Kept for schema compatibility; leadAbsences.geo records 本站无.
person{name, role?}Always null. No recruiter/hiring-contact name or role key exists on any surface (company pages carry organization only). leadAbsences.person records 本站无.
org{name, id?}Hiring employer. name comes from the API companyName and is verified on every row; id is always null (Jobicy has no numeric employer id). Company-page enrich backfills nothing into org except a missing name.
web{website, socials[]}Employer website + social links. Sources: detail-page JobPosting.hiringOrganization.sameAs and company-page Organization block (url + sameAs, e.g. twitter.com/Jobicy, linkedin.com/company/...). Absent only when the company surface has neither.
leadSourceenumdetail on all job rows: API rows already contain posting-body depth (description mailto), so they are detail-level leads, not thin search cards. (entity is reserved for company-surface rows.)
leadRevealenumvisible when org name, an email, or a city string is present (the common case); absent otherwise. There is no click-to-reveal channel anywhere on the site (revealControls=[] on all surfaces), so click/xhr never occur.
leadAbsencesobject/mapPer-subfield reason using the mission vocabulary: 本站无 (confirmed site-wide absent: phones/person/geo/street-level address), 闸门锁 (Apply #job-application registration gate, never submitted), 未验证 (recon-verified field not captured on this item). Absent keys are omitted per item (e.g. an item with emails omits the emails absence entry).

Reveal cost (揭示成本)

There is no click-reveal / XHR-after-click cost on Jobicy: contact data is already visible in the API payload and page HTML, and the Apply control is a registration gate the worker never submits (see Honest limitations).

The real per-run cost is the HTTP enrich pass (enrichDetails, default on):

  • Up to 20 rows per run fetch detail HTML (GET /jobs/{id}-{slug}) to pick up body mailto: missing from the API description, then follow the live /company/{slug} link from the detail page (never invented slugs) for the employer website, city, and socials.
  • Concurrency 4, plain curl_cffi (no browser, no unlock layer; Cloudflare is passive on these endpoints). No login, no form submission, no proxy override beyond the standard egress path.
  • Effect on run time: a small bounded number of extra HTTP GETs (tens, not hundreds). Disabling enrichDetails skips these fetches but loses company website/socials and some body emails — lead keys are still emitted with leadAbsences noting the gap.

Honest limitations (诚实限制)

Consistent with the recon report and leadAbsences. Do not expect:

  • Direct phone numbers (phones) — 本站无. The API's 17 job keys contain no phone; detail JSON-LD and company pages return null telephone. The rare accommodation hotline in posting text is the only phone-shaped value and is typed as such, not as a company line.
  • Recruiter/contact person (person) — 本站无. No name/role key on any surface; company pages are organization-only.
  • Coordinates (geo) — 本站无. No lat/lng anywhere.
  • Street-level address incl. 门牌 (address.street/unit/postalCode) — 本站无. City-level strings are the ceiling on every surface.
  • Per-job recruiter emails — 未验证/partial. Posting-body emails exist on a minority of jobs and are HR/EEO/accommodation inboxes, not hiring-manager direct addresses.
  • Apply-gated contact (#job-application modal) — 闸门锁. The detail-page Apply control opens a "Create account & apply" registration modal; the worker records its presence and never submits it (mission Chrome discipline: no Apply/RFQ/login/payment submissions).
  • Historical archive — the API hard-caps responses (currently 100 jobs); output is a current-feed snapshot, not history.

Run artifacts

ArtifactWhenContents
INPUT_ECHOAfter valid inputNormalized scope, keyword, geo, industry, and limits.
RUN_SUMMARYSuccessful runSource, keyword, geo, industry, counts, applied filters, warnings.
ERROR_SUMMARYFailed runError type and safe message.

Data source and search boundary

This Actor uses the public Jobicy endpoint https://jobicy.com/api/v2/remote-jobs.

  • Default mode requests the current feed with count=100 and no tag/geo/industry filters.
  • Keyword mode adds Jobicy’s official tag query for title/description search.
  • geo and industry are passed through as Jobicy’s official region and category filters (slug values).
  • Discoverable values: locations via ?get=locations, industries via ?get=industries.
  • Jobicy hard-caps the response size (currently 100 jobs). This is a current-feed snapshot, not a historical archive.
  • Credit Jobicy with a direct link and keep application buttons pointing to the original job URL, as required by Jobicy’s API notice.

Common geo and industry slugs

Use these slug values in geo / industry. Leave either field empty for no filter. Jobicy may add or rename slugs over time; the live catalogs are:

  • locations: https://jobicy.com/api/v2/remote-jobs?get=locations
  • industries: https://jobicy.com/api/v2/remote-jobs?get=industries

Common geo slugs

SlugRegion
usaUSA
ukUK
canadaCanada
europeEurope
emeaEMEA
apacAPAC
latamLATAM
germanyGermany
franceFrance
netherlandsNetherlands
spainSpain
irelandIreland
australiaAustralia
singaporeSingapore
japanJapan
philippinesPhilippines
brazilBrazil
mexicoMexico
united-arab-emiratesUAE

Tip: prefer the exact geoSlug from Jobicy’s locations feed. Regional buckets such as emea, apac, and latam are often useful when you do not want a single country.

industry slugs

SlugIndustry
admin-supportAdmin & Virtual Assistant
businessBusiness Development
copywritingContent & Editorial
design-multimediaCreative & Design
supportingCustomer Success
cybersecurityCybersecurity
data-scienceData Science & Analytics
adminDevOps & Infrastructure
e-commerceE-commerce
educationEducation & E-learning
accounting-financeFinance & Accounting
healthcareHealthcare & Medical
hrHR & Recruiting
legalLegal & Compliance
marketingMarketing & Sales
managementProduct & Operations
devProgramming
project-managementProject Management
qa-testingQA & Testing
sellerSales
seoSEO
smmSocial Media Marketing
engineeringSoftware Engineering
technical-supportTechnical Support
translation-localizationTranslation & Localization
video-audio-productionVideo & Audio Production
web-app-designWeb & App Design

Example:

{
"geo": "usa",
"industry": "engineering",
"maxItems": 20
}

Pricing

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

EventPriceWhen it is charged
apify-actor-start$0.005Automatically once when a normal Actor run starts.
apify-default-dataset-item$1.50 / 1,000 (FREE / Bronze list price)Automatically for each item written to the default Dataset.

For example, a run returning 100 job records costs $0.155 in Actor events at the list price: $0.005 to start plus $0.150 for results. Paid Apify plans get Store volume discounts on the result event. Platform compute for this Actor is paid by the developer (User pays platform usage = No).

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 (schema max still applies). Limits set by the Actor developer.

Live View and Standby endpoints

This Actor exposes an honest lightweight Live View service. Data collection stays in normal Actor runs.

EndpointPurpose
GET /Readiness and service information.
GET /healthFast health check.
GET /input-exampleLow-cost input compatible with the Actor schema.
GET /openapi.jsonDeployed OpenAPI 3.x contract.

Connect from code

Actor ID: lentic_clockss/jobicy-remote-jobs-scraper

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("lentic_clockss/jobicy-remote-jobs-scraper").call(
run_input={"searchQuery": "python", "maxItems": 10}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["company_name"], item["source_url"])

FAQ and support

Why am I limited to 10 runs / 1,000 jobs on the free plan? Those limits are set by this Actor's developer for free Apify plan users (not an Apify platform bug). Upgrade to a paid Apify plan for unlimited runs. Event pricing (PPE) is separate from these free-tier caps.

Does it search Jobicy by keyword? Yes. Set searchQuery. The Actor uses Jobicy’s official title/description search and records sourceSearchQuery / searchRank.

Can I filter by region or industry? Yes. Set geo and/or industry to Jobicy slugs. The run records sourceGeo / sourceIndustry on output rows.

Does default mode include all historical jobs? No. Default mode exports all valid jobs in the current API response (API cap applies).

Are there preset keywords or filters? No. Defaults send no tag/geo/industry filters.

What happens with zero matches? When any of searchQuery, geo, or industry is set, the run can succeed with zero Dataset rows and a clear RUN_SUMMARY. Source failures write ERROR_SUMMARY and fail.

Where can I report a problem? Include the run ID, RUN_SUMMARY or ERROR_SUMMARY, and one example source_url. This Actor needs no credentials.


Explore more tools from lentic_clockss on Apify.


All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ Browse the full profile: apify.com/lentic_clockss