Web3.career Jobs Scraper
Pricing
Pay per event
Web3.career Jobs Scraper
Scrape Web3.career job listings for crypto recruiting: roles, companies, locations, salaries, tags, descriptions, and apply URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract structured crypto, blockchain, and Web3 job listings from public Web3.career pages.
This actor turns Web3.career category pages, remote-job feeds, keyword searches, and public job detail pages into clean dataset rows for recruiting teams, market analysts, job-board operators, and AI workflows.
It is designed for repeatable monitoring: point it at Web3.career URLs or search terms, choose how many jobs you need, and export results as JSON, CSV, Excel, XML, RSS, or through the Apify API.
What does Web3.career Jobs Scraper do?
Web3.career Jobs Scraper collects job cards and optional detail-page fields from Web3.career.
It extracts:
- Job title
- Company name
- Company profile URL
- Company logo URL when displayed
- Location text
- Remote-work flag
- Salary or compensation text when displayed
- Tags such as remote, engineer, solidity, marketing, DeFi, crypto, or blockchain
- Posted date and posted-age text
- Job URL
- Apply URL when visible on the public detail page
- Source URL and source category
- Description and description snippet when detail pages are enabled
- Scrape timestamp
Why scrape Web3.career?
Web3.career is a focused niche job board for crypto, blockchain, and Web3 roles.
General job boards often mix Web3 roles with unrelated software listings. Web3.career gives recruiters and analysts a cleaner starting point for blockchain labor-market monitoring, salary checks, and lead generation.
This actor is useful when you need a repeatable dataset instead of manually browsing pages.
Who is it for?
Web3 recruiters and sourcers
Use the actor to build candidate-demand intelligence for roles such as Solidity engineer, protocol engineer, Rust engineer, growth lead, product manager, community manager, and security researcher.
Crypto hiring teams
Monitor what competitors are hiring for, which functions are expanding, and which roles appear repeatedly across the Web3 ecosystem.
Talent-market analysts
Track hiring volume by category, salary text, remote status, tags, and company over time.
Job-board and newsletter operators
Import public Web3.career jobs into internal review queues, curated newsletters, or niche job boards.
AI and automation builders
Feed structured Web3 job data into LLM workflows, enrichment pipelines, alerting systems, or dashboards.
Common use cases
- Monitor new remote Web3 jobs every morning
- Build a list of Solidity or Rust roles with salary text
- Track hiring activity by company or category
- Compare remote and location-specific crypto hiring
- Collect apply URLs for recruiter review
- Send new job alerts to Slack, Notion, Airtable, or Google Sheets
- Feed a Web3 jobs dataset into an AI summarization workflow
- Watch competitors, portfolio companies, or target accounts
Input options
The actor accepts a small set of practical inputs.
startUrls
Use direct Web3.career URLs when you already know the page you want.
Examples:
https://web3.career/remote-jobshttps://web3.career/solidity-jobshttps://web3.career/marketing-jobshttps://web3.career/rust-jobshttps://web3.career/defi-jobs
searchQueries
Use keyword searches when you want the actor to build Web3.career search URLs for you.
Examples:
solidity remoterust protocol engineermarketing cryptocommunity manager web3security audit blockchain
maxItems
Maximum number of jobs to save.
Use a low value such as 20 while testing. Increase it for monitoring or larger exports.
includeDetails
When enabled, the actor opens each public job detail page and tries to extract the apply URL and richer description text.
Disable it when you only need listing-page fields and want the fastest run.
maxPagesPerStartUrl
Maximum listing pages to scan for each start URL.
Use 1 or 2 for quick checks. Increase it when building larger datasets.
Example input: remote Web3 jobs
{"startUrls": [{ "url": "https://web3.career/remote-jobs" }],"maxItems": 50,"includeDetails": true,"maxPagesPerStartUrl": 2}
Example input: Solidity search
{"searchQueries": ["solidity remote"],"maxItems": 25,"includeDetails": true,"maxPagesPerStartUrl": 2}
Example input: multiple categories
{"startUrls": [{ "url": "https://web3.career/remote-jobs" },{ "url": "https://web3.career/rust-jobs" },{ "url": "https://web3.career/marketing-jobs" }],"maxItems": 100,"includeDetails": false,"maxPagesPerStartUrl": 3}
Example output
{"id": "150582","title": "Senior Systems Engineer Solana Remote Germany Europe m f d","company": "Staking Facilities GmbH","companyUrl": "https://web3.career/companies/staking-facilities-gmbh","companyLogoUrl": null,"location": "New York, NY, United States","isRemote": true,"salary": "$90k - $150k","tags": ["remote", "engineer", "senior", "blockchain", "crypto"],"postedAt": "2026-06-19 09:06:10+07:00","postedText": "1d","jobUrl": "https://web3.career/senior-systems-engineer-solana-remote-germany-europe-m-f-d-stakingfacilitiesgmbh/150582","applyUrl": "https://web3.career/...","sourceUrl": "https://web3.career/remote-jobs","sourceCategory": "Remote Web3 Jobs - Jun 2026 (15 New)","description": "Public detail-page description text...","descriptionSnippet": "Public detail-page description text...","scrapedAt": "2026-06-20T19:30:00.000Z"}
How to scrape Web3.career jobs
- Open the actor on Apify.
- Add one or more Web3.career URLs in
startUrls, or add keyword phrases insearchQueries. - Set
maxItemsto the number of jobs you need. - Keep
includeDetailsenabled if you need apply URLs and description text. - Set
maxPagesPerStartUrlbased on the depth you want. - Click Start.
- Export the dataset or connect it to your workflow.
Recommended settings
For quick validation:
{"startUrls": [{ "url": "https://web3.career/remote-jobs" }],"maxItems": 10,"includeDetails": false,"maxPagesPerStartUrl": 1}
For recruiter review:
{"searchQueries": ["solidity remote", "rust protocol engineer"],"maxItems": 100,"includeDetails": true,"maxPagesPerStartUrl": 3}
For recurring monitoring:
{"startUrls": [{ "url": "https://web3.career/remote-jobs" }],"maxItems": 200,"includeDetails": true,"maxPagesPerStartUrl": 5}
Pricing and free-plan estimate
The actor uses Apify pay-per-event pricing.
| Event | What it means | Current actor config |
|---|---|---|
| Run started | One-time startup event | $0.005 per run |
| Item extracted | One saved job row | Tiered per-result pricing |
Per-result pricing is tiered by Apify plan. The configured item event prices are approximately:
| Plan tier | Price per extracted job |
|---|---|
| FREE | $0.000041092 |
| BRONZE | $0.000035732 |
| SILVER | $0.000027871 |
| GOLD | $0.000021439 |
| PLATINUM | $0.000014293 |
| DIAMOND | $0.000010005 |
Example estimate for a FREE-plan user:
| Run size | Startup | Item cost | Estimated total |
|---|---|---|---|
| 20 jobs | $0.005 | about $0.00082 | about $0.00582 |
| 100 jobs | $0.005 | about $0.00411 | about $0.00911 |
| 1,000 jobs | $0.005 | about $0.04109 | about $0.04609 |
Always check the live Apify pricing panel before starting a run, because platform pricing information is authoritative.
Data quality notes
Web3.career pages can display separate signals for location and remote work.
For example, a job may have a physical location such as New York, NY, United States and also be listed under remote tags or remote source pages. The actor keeps the visible location text and sets isRemote from title, tags, source page, and location signals.
If Web3.career does not expose a location, salary, logo, apply link, or description on the public page, the corresponding output field is returned as null.
Punctuation-only placeholder locations are cleaned to null rather than saved as invalid strings.
Remote-job detection
The actor marks isRemote as true when remote indicators appear in any of these fields:
- Job title
- Location text
- Tags
- Source URL
- Source category
This avoids missing remote roles that use a city or country location while also appearing in a remote feed.
Integrations
You can connect the output dataset to common recruiting and analytics tools.
Google Sheets
Export CSV or use Apify integrations to send new job rows into Sheets for recruiter review.
Airtable
Store jobs as records, deduplicate by id or jobUrl, and add workflow status fields such as reviewed, contacted, or rejected.
Notion
Create a lightweight Web3 hiring research database with company, role, salary, and apply URL columns.
Slack
Use Apify webhooks or automation platforms to post new matching jobs into sourcing channels.
HubSpot or CRM systems
Import company names and role signals into account research workflows.
BI dashboards
Export recurring datasets into a warehouse to analyze category counts, salary text, and remote-job trends.
API usage
Use the Apify API, CLI, or SDKs to run the actor programmatically.
Actor ID:
automation-lab/web3-career-jobs-scraper
Node.js API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/web3-career-jobs-scraper').call({startUrls: [{ url: 'https://web3.career/remote-jobs' }],maxItems: 20,includeDetails: true,maxPagesPerStartUrl: 2,});console.log(run.defaultDatasetId);
Python API example
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/web3-career-jobs-scraper').call(run_input={'startUrls': [{'url': 'https://web3.career/remote-jobs'}],'maxItems': 20,'includeDetails': True,'maxPagesPerStartUrl': 2,})print(run['defaultDatasetId'])
cURL API example
curl "https://api.apify.com/v2/acts/automation-lab~web3-career-jobs-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"startUrls":[{"url":"https://web3.career/remote-jobs"}],"maxItems":20,"includeDetails":true,"maxPagesPerStartUrl":2}'
MCP setup for AI agents
You can expose this actor through Apify MCP for AI-agent workflows.
Claude Code CLI example:
$claude mcp add apify-web3-career-jobs https://mcp.apify.com/ --transport http --header "Authorization: Bearer $APIFY_TOKEN"
Use this tool filter in the MCP URL or configuration when you want to limit available tools:
https://mcp.apify.com/?tools=automation-lab/web3-career-jobs-scraper
Claude Desktop example:
{"mcpServers": {"apify-web3-career-jobs": {"url": "https://mcp.apify.com/?tools=automation-lab/web3-career-jobs-scraper","transport": "http","headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN"}}}}
Example prompts showing MCP usage
- Scrape 50 remote Web3 jobs and summarize the most common role families.
- Find Solidity jobs with salary text and return company, title, salary, and apply URL.
- Monitor Web3.career marketing jobs weekly and alert me when a new remote role appears.
- Compare Web3 engineering roles by visible location and remote status.
- Extract crypto compliance jobs and prepare a shortlist for recruiter review.
Scheduling
Schedule the actor daily, weekly, or monthly from the Apify Console.
Recommended monitoring pattern:
- Run the actor on one or more stable category URLs.
- Export or sync the dataset.
- Deduplicate downstream by
idorjobUrl. - Alert only on new rows.
- Keep historical rows for trend analysis.
Handling duplicates
Web3.career jobs can appear in multiple category or keyword pages.
The actor deduplicates jobs inside a single run by job id or job URL. If you schedule multiple runs, deduplicate downstream using the same fields.
Performance tips
- Use direct category URLs for the most predictable results.
- Disable
includeDetailsif you do not need apply URLs or descriptions. - Keep
maxItemssmall while testing. - Increase
maxPagesPerStartUrlonly when you need deeper historical coverage. - Split unrelated searches into separate scheduled runs when you need separate exports.
Troubleshooting: fewer results than expected
A run may return fewer rows than maxItems when:
- The selected category has fewer public listings.
- Pagination ends before the limit is reached.
- Duplicate jobs appear across multiple sources in the same run.
- Web3.career changes or temporarily hides page content.
Try a broader category URL, add another start URL, or lower the expectation for narrow searches.
Troubleshooting: missing apply URLs
Keep includeDetails enabled.
Some Web3.career postings do not expose a direct external apply link on the public page. In those cases, the actor keeps applyUrl as null and still saves the listing fields.
Troubleshooting: missing salary
Salary data is not present on every Web3.career job card.
When salary text is absent, the actor returns salary: null. Do not treat missing salary as a failed extraction unless the source page visibly contains salary text.
Legality and responsible use
This actor extracts publicly available job-board pages.
Use the data responsibly, respect applicable laws and platform terms, and avoid using scraped data for spam or discriminatory employment practices.
Output schema summary
| Field | Type | Notes |
|---|---|---|
id | string or null | Web3.career job id when available |
title | string | Job title |
company | string or null | Company name |
companyUrl | string or null | Constructed Web3.career company URL |
companyLogoUrl | string or null | Logo URL when displayed |
location | string or null | Clean visible location text |
isRemote | boolean | Remote signal from title, tags, source, or location |
salary | string or null | Visible salary/compensation text |
tags | string[] | Visible job tags |
postedAt | string or null | Datetime attribute from source |
postedText | string or null | Human-readable posted age |
jobUrl | string | Web3.career detail URL |
applyUrl | string or null | Apply link when found on detail page |
sourceUrl | string | Listing page URL that produced the row |
sourceCategory | string or null | Page title or heading |
description | string or null | Detail-page description text |
descriptionSnippet | string or null | First 500 characters of description |
scrapedAt | string | ISO timestamp |
Related Automation Lab scrapers
Use these alongside Web3.career Jobs Scraper when you need broader hiring coverage:
- Multi ATS Jobs Scraper for company career pages across ATS platforms
- Himalayas Remote Jobs Scraper for remote-first job listings
- LinkedIn Jobs Scraper for general professional job listings
- Indeed Scraper for broad job-market coverage
When to use another scraper
Use this actor when Web3.career is the source of truth.
Use a broader jobs actor when you need jobs from many boards, ATS systems, or general employment search pages.
Use a company-specific career-page scraper when you already have a list of target employers and want the most direct source.
Support
If a Web3.career page stops parsing correctly, open an issue with:
- The run id
- The input used
- A source URL that did not parse as expected
- A short description of the missing or incorrect field
This makes it faster to reproduce the problem and update the scraper.
FAQ
Can I scrape remote-only Web3 jobs?
Yes. Use https://web3.career/remote-jobs or a search query such as solidity remote.
Can I get apply URLs?
Yes, when they are available on public detail pages. Keep includeDetails enabled.
Can I run this actor on a schedule?
Yes. Scheduling is one of the best uses for this actor because new jobs appear over time.
Does the actor scrape private data?
No. It extracts public Web3.career pages.
How should I deduplicate results?
Use id first. If id is missing, use jobUrl.
Why can a remote job still have a city in location?
Some postings show both a physical location and remote tags or remote source placement. The actor preserves the visible location and sets isRemote from all available remote signals.