Web3.career Jobs Scraper avatar

Web3.career Jobs Scraper

Pricing

Pay per event

Go to Apify Store
Web3.career Jobs Scraper

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

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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-jobs
  • https://web3.career/solidity-jobs
  • https://web3.career/marketing-jobs
  • https://web3.career/rust-jobs
  • https://web3.career/defi-jobs

searchQueries

Use keyword searches when you want the actor to build Web3.career search URLs for you.

Examples:

  • solidity remote
  • rust protocol engineer
  • marketing crypto
  • community manager web3
  • security 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
}
{
"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

  1. Open the actor on Apify.
  2. Add one or more Web3.career URLs in startUrls, or add keyword phrases in searchQueries.
  3. Set maxItems to the number of jobs you need.
  4. Keep includeDetails enabled if you need apply URLs and description text.
  5. Set maxPagesPerStartUrl based on the depth you want.
  6. Click Start.
  7. Export the dataset or connect it to your workflow.

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.

EventWhat it meansCurrent actor config
Run startedOne-time startup event$0.005 per run
Item extractedOne saved job rowTiered per-result pricing

Per-result pricing is tiered by Apify plan. The configured item event prices are approximately:

Plan tierPrice 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 sizeStartupItem costEstimated total
20 jobs$0.005about $0.00082about $0.00582
100 jobs$0.005about $0.00411about $0.00911
1,000 jobs$0.005about $0.04109about $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 ApifyClient
client = 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:

  1. Run the actor on one or more stable category URLs.
  2. Export or sync the dataset.
  3. Deduplicate downstream by id or jobUrl.
  4. Alert only on new rows.
  5. 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 includeDetails if you do not need apply URLs or descriptions.
  • Keep maxItems small while testing.
  • Increase maxPagesPerStartUrl only 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

FieldTypeNotes
idstring or nullWeb3.career job id when available
titlestringJob title
companystring or nullCompany name
companyUrlstring or nullConstructed Web3.career company URL
companyLogoUrlstring or nullLogo URL when displayed
locationstring or nullClean visible location text
isRemotebooleanRemote signal from title, tags, source, or location
salarystring or nullVisible salary/compensation text
tagsstring[]Visible job tags
postedAtstring or nullDatetime attribute from source
postedTextstring or nullHuman-readable posted age
jobUrlstringWeb3.career detail URL
applyUrlstring or nullApply link when found on detail page
sourceUrlstringListing page URL that produced the row
sourceCategorystring or nullPage title or heading
descriptionstring or nullDetail-page description text
descriptionSnippetstring or nullFirst 500 characters of description
scrapedAtstringISO timestamp

Use these alongside Web3.career Jobs Scraper when you need broader hiring 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.