CrawlForge MCP
Panduan Pertengahan

API Papan Kerja

Enam sistem penjejakan pemohon menerbitkan jawatan kosong sesebuah syarikat melalui API yang mereka sendiri dokumenkan untuk kegunaan awam tanpa pengesahan. scrape_template membaca API tersebut secara terus — nilai yang tepat, tiada LLM dalam laluan, dan dibenarkan secara binaan dan bukan melalui hujah.

Mengapa API platform sendiri menang
Enam penyambung itu
Satu bentuk pekerjaan
Apa yang kami tidak buat, dan sebabnya

1. Mengapa API platform itu sendiri mengatasi scraping papan kerja

Halaman kerjaya sesebuah syarikat hanyalah paparan sebuah pangkalan data. Sistem penjejakan pemohon di belakangnya — Greenhouse, Lever, Ashby, Workable, Recruitee, Teamtailor — ialah sistem rekod yang majikan benar-benar terbitkan, dan kesemua enam itu mendokumenkan satu endpoint awam yang menyajikan rekod yang sama sebagai JSON atau RSS.

Membaca endpoint itu bukan cara scraping yang lebih murah. Ia satu operasi berbeza dengan mod kegagalan yang berbeza: tiada markup untuk tersalah huraikan, tiada widget penomboran untuk diklik, dan tiada model bahasa yang menentukan maksud sesuatu medan.

Papan kerja yang sama, dua cara

Scraping papan yang dipaparkanMembaca API platform
NilaiDihurai daripada markup; reka bentuk baharu mengubahnya secara senyapTepat, seperti yang dimasukkan oleh majikan
LiputanApa sahaja yang halaman paparkan pada lukisan pertamaSetiap jawatan yang diterbitkan pada papan itu
PermintaanSatu setiap halaman, ditambah penomboranSatu permintaan untuk papan itu, dinombor hanya di mana platform menomborkan
TafsiranPemilih atau LLM menentukan maksud sesuatu medanTiada apa-apa disimpulkan; medan yang tiada dibaca sebagai null
KebenaranDihujahkan kes demi kesPlatform mendokumenkan endpoint itu untuk kegunaan awam
Utamakan API berdokumentasi berbanding scraping. Ini salah satu peraturan operasi tetap CrawlForge, bukan petua prestasi. Apabila sesuatu sumber menerbitkan API sendiri, itulah laluan yang kami ambil — lihat peraturan operasi perangkak.

2. Enam penyambung papan kerja

Setiap penyambung ditujukan kepada endpoint yang platform itu sendiri dokumenkan untuk kegunaan awam tanpa pengesahan, pada hos yang robots.txt-nya mengizinkannya. Hantar URL papan kerja dan penyambung akan menyelesaikan endpoint API untuk anda, atau hantar params dengan pengecam syarikat pada papan tersebut.

greenhouse-jobs
Job Board API. Setiap jawatan yang diterbitkan berserta tajuk, lokasi, pengecam dan cap masa dalam satu permintaan. Penerangan bersifat pilihan melalui content: true.

Token papan daripada job-boards.greenhouse.io/<token>

lever-postings
Postings API, dengan pasukan, jenis komitmen, mod tempat kerja dan penerangan teks biasa yang sudah diasingkan. Menyokong penomboran skip dan limit.

Syarikat daripada jobs.lever.co/<company>

ashby-jobs
Public Job Posting API. Jabatan, pasukan, jenis pekerjaan, mod tempat kerja dan penerangan teks biasa bagi setiap jawatan yang disenaraikan.

Nama halaman kerja daripada jobs.ashbyhq.com/<name>

workable-jobs
Endpoint accounts awam. Tajuk, jabatan, jenis pekerjaan, bahagian-bahagian lokasi dan penanda kerja jarak jauh. Penerangan bersifat pilihan melalui details: true.

Subdomain akaun daripada apply.workable.com/<subdomain>

recruitee-offers
Careers Site API. Tajuk, jabatan, lokasi, kod jenis pekerjaan, julat gaji dan penerangan teks biasa bagi setiap jawatan yang dibuka.

Subdomain daripada <company>.recruitee.com

teamtailor-jobs
Suapan RSS berdokumentasi bagi tapak kerjaya, dibaca dengan ruang nama tt:-nya dikekalkan supaya lokasi, jabatan, peranan dan bahagian terus kekal. Memulangkan 100 jawatan melainkan per_page menyatakan sebaliknya.

Subdomain daripada <company>.teamtailor.com

Penerangan bersaiz besar, jadi dua platform menjadikannya pilihan. Greenhouse menghantar rekod ringkasan secara lalai; content: true menambah penerangan HTML penuh dan membawa sebuah papan besar daripada 349 KB kepada 4.2 MB (papan 571 jawatan milik Stripe, diukur pada 2026-08-28). details: true Workable berkelakuan sama. Minta penerangan apabila anda memerlukannya, bukan kerana kebiasaan.
Had kadar bergerak bersama penyambung. api.lever.co mengisytiharkan Crawl-delay: 1 dalam robots.txt-nya, jadi lever-postings menerbitkan semula nilai itu sebagai crawlDelaySeconds: 1 untuk dipatuhi oleh lapisan yang membuat permintaan. Penyambung tidak pernah membuat permintaan sendiri — ia membina URL dan menghurai respons, yang mengekalkan had masa, dasar SSRF dan pengehadan kadar pada lapisan yang memilikinya.

3. Satu bentuk pekerjaan merentas enam platform

Kesemua enam penyambung dinormalkan kepada dua belas medan yang sama, jadi dua papan kerja boleh digabungkan tanpa langkah pemetaan bagi setiap sumber. Medan yang platform tidak bawa akan pulang sebagai null — bukan tekaan yang kelihatan munasabah.

Bentuk pekerjaan yang dikongsi

MedanMaksud
idPengecam platform itu sendiri, ditukar kepada teks supaya senarai bergabung mempunyai satu jenis pengecam
titleTajuk jawatan
urlIklan jawatan awam
locationLokasi seperti yang dinyatakan platform
departmentJabatan, apabila platform mempunyai tahap itu
teamPasukan, apabila platform mempunyai tahap itu
employment_typeDisampaikan dalam perkataan platform itu sendiri, tanpa dileburkan kepada satu perbendaharaan kata
remotetrue, false, atau null apabila perkataan sumber tidak menjawabnya
published_atISO 8601, dinormalkan daripada enam format tarikh berbeza
updated_atISO 8601, apabila platform menerbitkannya
descriptionTeks biasa, dengan HTML platform dibuang
sourcePenyambung yang menghasilkan rekod itu
  • Tiada apa-apa disimpulkan. Greenhouse langsung tidak menerbitkan jenis pekerjaan, jadi jawatan Greenhouse melaporkan null di situ dan bukan Full-time yang kedengaran yakin.
  • `remote` menjawab satu soalan sahaja: bolehkah kerja ini dilakukan dari mana-mana? Hibrid memang separa jarak jauh, jadi ia dibaca sebagai null dan perkataan asal platform dikekalkan di sebelahnya. Membaca jawatan hibrid sebagai jarak jauh sama salahnya dengan membacanya sebagai di pejabat.
  • `employment_type` mengekalkan ejaan platform. Menentukan apa sebenarnya Regular Full Time (Salary) Lever ialah hak anda, yang dapat melihat data anda sendiri.
  • Maklumat hubungan perekrut dibuang, bukan dipetakan. Recruitee meletakkan peti masuk permohonan bagi setiap jawatan pada setiap tawaran; medan itu tidak pernah sampai ke output. Iklan jawatan ialah data syarikat, dan itu sahaja yang penyambung ini pulangkan.

Dua papan kerja, satu senarai

Kerana bentuknya dikongsi, menggabungkan papan Greenhouse dengan papan Lever tidak memerlukan kod pemetaan.

Typescript
// Every job-board connector returns the same twelve fields, so two boards
// concatenate with no per-source mapping step.
const API = 'https://crawlforge.dev/api/v1/tools/scrape_template';

async function board(template: string, params: Record<string, unknown>) {
  const response = await fetch(API, {
    method: 'POST',
    headers: {
      'X-API-Key': process.env.CRAWLFORGE_API_KEY!,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ template, params }),
  });

  const payload = await response.json();
  return payload.data.data.items;
}

const jobs = [
  ...(await board('greenhouse-jobs', { company: 'stripe' })),
  ...(await board('lever-postings', { company: 'matterport' })),
];

// One filter over both boards. `remote` is null wherever the platform's own
// word did not answer the question — hybrid is not remote and not on-site.
const remote = jobs.filter((j) => j.remote === true);

// Cost: 1 credit per call — 2 credits for both boards, however many jobs.

4. Cara memanggilnya: params dan auto

Penyambung papan kerja memerlukan pengecam syarikat pada platform itu, iaitu satu rentetan pendek dalam URL papan dan bukan keseluruhan URL. Hantarkannya dalam params.

Apabila anda sudah mempunyai URL dan tidak mahu memikirkan templat mana yang mengendalikannya, hantar template: "auto" dan CrawlForge akan memilih templat daripada URL tersebut — secara deterministik, dengan corak yang menamakan hos mengatasi corak yang hanya sepadan dengan bentuk laluan.

Kedua-dua gaya panggilan

Papan kerja yang sama, dicapai dengan dua cara.

Bash
# A job-board connector needs the company's identifier on that platform,
# not the whole careers-page URL. That is what `params` carries.
curl -X POST https://crawlforge.dev/api/v1/tools/scrape_template \
  -H "X-API-Key: $CRAWLFORGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "greenhouse-jobs",
    "params": {
      "company": "stripe"
    }
  }'

# Add "content": true to the params for full descriptions — it takes a large
# board past 4 MB, so ask for it only when you need the text.
Ketahui apa yang tersedia. Hantar { "template": "list" } tanpa URL untuk mendapatkan setiap templat berserta pengecam, penerangan dan mode-nya — list untuk penyambung yang memulangkan banyak rekod daripada satu panggilan, entity untuk yang memulangkan satu rekod sahaja.

5. Idea yang sama, di luar bidang pengambilan pekerja

Papan kerja ialah kes yang paling jelas, tetapi prinsipnya berlaku di mana-mana: apabila sesuatu pengendali menerbitkan datanya sendiri, itulah yang dibaca.

shopify-collection
Setiap produk dalam sesuatu koleksi daripada products.json kedai itu sendiri — harga tepat, harga banding dan stok yang sama seperti yang shopify-product pulangkan bagi satu item, jadi koleksi dan halaman produk tidak mungkin bercanggah.
nhtsa-vin
Penyahkodan VIN melalui API vPIC NHTSA. Percuma, tanpa kunci, dan dibina daripada penyerahan pengilang itu sendiri, jadi tiada apa-apa disimpulkan. VIN separa diterima dan kod ralat vPIC sendiri dipaparkan dan bukan ditelan.
npi-provider
Daftar NPPES CMS bagi penyedia penjagaan kesihatan AS, boleh dicari mengikut nombor, nama, taksonomi atau lokasi. Percuma dan tanpa kunci. Ia carian daftar yang memulangkan satu rekod bagi setiap NPI dan tidak mencantumkan apa-apa padanya.

6. Apa yang kami tidak buat, dan sebabnya

Senarai di bawah bukan pelan hala tuju. Setiap entri ialah laluan yang kami pertimbangkan, yang secara teknikal boleh kami ambil, dan yang kami tolak atas sebab yang dinyatakan.

Scraping LinkedIn atau Indeed dengan log masuk
Log masuk untuk mencapai data yang tidak ditunjukkan oleh halaman tanpa log masuk melanggar terma kedua-dua platform, dan LinkedIn aktif mengambil tindakan guaman mengenainya. Penyambung pada halaman ini ialah jawapan kepada permintaan itu: data pekerjaan yang sama, secara sah, dan dengan lebih lengkap — dibaca daripada sistem rekod yang majikan terbitkan, bukan daripada indeks sesebuah pengagregat terhadapnya.

Sumber awam tanpa pengesahan sahaja

smartrecruiters-postings
SmartRecruiters mendokumenkan Posting API-nya secara awam dan ia tidak memerlukan kunci — tetapi api.smartrecruiters.com/robots.txt melarang segala-galanya bagi setiap ejen, dengan satu pengecualian tunggal untuk LinkedInBot (disahkan 2026-08-28). Mencapai endpoint itu sebagai sesiapa yang lain bermakna membatalkan robots.txt pada setiap panggilan, dan itu bukan keputusan yang boleh dibuat oleh penyambung bagi pihak anda. Dikecualikan sementara menunggu perjanjian dengan SmartRecruiters.

robots.txt dipatuhi — kami tidak membatalkannya

Penyewa Workday
Endpoint wday/cxs Workday ialah endpoint dalaman tapak kerjaya itu sendiri, bukan API yang Workday dokumenkan untuk kegunaan awam. Mana-mana penyambung terhadapnya bergantung pada pengesahan bertulis pelanggan, dan tiada satu pun yang dihantar hari ini.

Bukan API awam berdokumentasi

Menyelesaikan CAPTCHA dan memintas pertahanan bot
Tiada penyelesaian CAPTCHA, tiada pemalsuan token cabaran, tiada pemintasan dinding bayaran, dan tiada pengelakan sekatan yang ditujukan khusus kepada kami. Tiada satu pun penyambung ini memerlukannya, kerana tiada satu pun daripadanya sedang melawan sebarang pertahanan.

Tidak ditawarkan pada mana-mana pelan

Profil individu
Penyambung ini tidak memulangkan data peribadi melebihi apa yang sesuatu sumber terbitkan secara awam, dan CrawlForge tidak menyusun individu menjadi profil. npi-provider ialah carian daftar atas sebab itulah: satu rekod bagi setiap NPI, tanpa apa-apa dicantumkan padanya.

Data syarikat, bukan data orang

Peraturan yang mendasari penyambung ini

  • Halaman dan endpoint awam tanpa pengesahan sahaja.
  • API berdokumentasi diutamakan berbanding scraping di mana sahaja ia wujud.
  • robots.txt dipatuhi secara lalai pada setiap alat yang membuat permintaan. Pembatalan bersifat eksplisit, setiap permintaan, dan direkodkan terhadap API key anda — dan ia tidak akan sesekali mencapai hos dalam senarai pengecualian kekal CrawlForge.
  • CrawlForge memperkenalkan dirinya dengan jujur: satu user agent, nama produk yang sebenar, dan satu URL hubungan. Lihat pengesahan perangkak.
  • Kadar yang sopan secara lalai, dengan Crawl-delay dan Retry-After dipatuhi.
  • Permintaan menarik diri dan permintaan penurunan dipatuhi secara kekal, pada lapisan platform.
Baca keseluruhan papan kerja dalam satu panggilan
scrape_template berharga 1 credit setiap panggilan, apa jua penyambung yang anda guna dan seberapa banyak jawatan yang dipulangkan.
Rujukan scrape_templatePeraturan operasi perangkak

Footer

CrawlForge MCP

Web scraping gred perusahaan untuk Ejen AI. 29 alat MCP khusus yang direka untuk pembangun moden yang membina sistem pintar.

Produk

  • Ciri
  • Playground
  • Harga
  • Kes Penggunaan
  • Integrasi
  • Alternatif
  • Changelog

Sumber

  • Mula Bekerja
  • Rujukan API
  • Templat
  • Panduan
  • Blog
  • Glosari
  • Soalan Lazim
  • Peta Laman

Pembangun

  • Protokol MCP
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

Syarikat

  • Tentang
  • Hubungi
  • Privasi
  • Terma
  • Penggunaan Boleh Diterima
  • Cookies

Kekal dikemas kini

Dapatkan kemas kini terkini tentang alat dan ciri baharu.

Dibina dengan Next.js dan protokol MCP

© 2025-2026 CrawlForge. Hak cipta terpelihara.