VOOZH about

URL: https://apify.com/jurooravec/profesia-sk-scraper/api

⇱ Profesia.sk Scraper API Β· Apify


Pricing

$25.00/month + usage

Go to Apify Store

Profesia.sk Scraper

One-stop-shop for all data on Profesia.sk Extract job offers, list of companies, positions, locations... Job offers include salary, textual info, company, and more

Pricing

$25.00/month + usage

Rating

1.0

(1)

Developer

πŸ‘ Juro Oravec

Juro Oravec

Maintained by Community

Actor stats

2

Bookmarked

41

Total users

1

Monthly active users

3 years ago

Last modified

Categories

Share

You might also like

Profesia.sk Scraper

unfenced-group/profesia-sk-scraper

Extract job listings from Profesia.sk β€” Slovakia largest job board. Filter by keyword, region and contract type. No API key required.

πŸ‘ User avatar

Unfenced Group

9

Profesia.sk Jobs Scraper - lacnΓ½ CheapπŸ”ŽπŸ’ΌπŸ‡ΈπŸ‡°

scrapestorm/profesia-sk-jobs-scraper---lacny-cheap

πŸ”Ž Looking to collect job listings & insights from Profesia.sk? With this scraper you can extract job data including job titles, companies, locations, salaries, posting dates & job links all in a clean, structured format Perfect for lead generation, recruitment intelligence & talent insights πŸ“ŠπŸš€

3

Profesia.sk Jobs Scraper - Poceni Low-costπŸ’²πŸ”₯πŸ’ΌπŸ‡ΈπŸ‡°

delectable_incubator/profesia-sk-jobs-scraper-poceni-low-cost

πŸ’ΌπŸ”Ž Extract job listings from Profesia.sk with ease. Collect job titles, company names, locations, salaries, posting dates, employment details, and job URLs in a structured format. Ideal for recruitment intelligence, talent sourcing, lead generation, HR analytics and hiring trend analysis. πŸ“ŠπŸš€

Profesia.sk Scraper πŸ’° $1.45/1K β€” Slovakia Jobs

blackfalcondata/profesia-scraper

Scrape profesia.sk - Slovakia’s largest job board. Capture salary data from listings and use incremental mode to keep recurring Slovak job searches focused on new and changed vacancies across the national market.

πŸ‘ User avatar

Black Falcon Data

10

Profesia.cz Scraper

unfenced-group/profesia-cz-scraper

Scrape 50,000+ Czech job listings from Profesia.cz. Filter by keyword, region, contract type, and remote. Full descriptions, salary, and publish date. No API key needed.

πŸ‘ User avatar

Unfenced Group

7

Worki.sk Scraper ISTP.sk

unfenced-group/istp-sk-scraper

Scrapes job listings from worki.sk (formerly istp.sk), Slovakia's official job portal. Extracts title, company, salary, location, contract type, description and more. No API key required.

πŸ‘ User avatar

Unfenced Group

2

Career Scraper

appealing_jingle/career-scraper

Scrape job offers from kariera.sk with filters for position, location, salary, and employment type. Supports pagination and stores structured data in a dataset (JSON, CSV).

Kariera.Sk Scraper

unfenced-group/kariera-sk-scraper

Extract job listings from Kariera.sk β€” Slovakia's leading job board. Keyword search, salary parsing, contract type. No API key needed.

πŸ‘ User avatar

Unfenced Group

3

Martinus.sk Scraper

appealing_jingle/martinus-sk-scraper

Scrape all books from https://www.martinus.sk/ with titles, descriptions, formats, prices, and currencies in structured data.

Pracuj.pl Job Offers Scraper

piotrv1001/pracuj-pl-job-offers-scraper

The Pracuj.pl Job Offers Scraper extracts job listings from Poland's largest job board, capturing titles, companies, salary ranges, locations, contract types, AI requirement summaries, full descriptions, and application links β€” ideal for recruitment analytics and labor market research.

You can access the Profesia.sk Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.

πŸ‘ Python

Python

πŸ‘ JavaScript

JavaScript

CLI

πŸ‘ OpenAPI

OpenAPI

HTTP

MCP

# Set API token
$API_TOKEN=<YOUR_API_TOKEN>
# Prepare Actor input
$cat> input.json <<'EOF'
<{
< "datasetType": "jobOffers",
< "jobOfferFilterMinSalaryPeriod": "month",
< "inputExtendFromFunction": "\n/**\n * Inputs:\n *\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async ({ io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Load Actor config from GitHub URL (public)\n// const config = await sendRequest.get('https://raw.githubusercontent.com/username/project/main/config.json').json();\n// \n// // Increase concurrency during off-peak hours\n// // NOTE: Imagine we're targetting a small server, that can be slower during the day\n// const hours = new Date().getUTCHours();\n// const isOffPeak = hours < 6 || hours > 20;\n// config.maxConcurrency = isOffPeak ? 8 : 3;\n// \n// return config;\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "startUrlsFromFunction": "\n/**\n * Inputs:\n *\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async ({ io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Create and load URLs from a Dataset by combining multiple fields\n// const dataset = await io.openDataset(datasetNameOrId);\n// const data = await dataset.getData();\n// const urls = data.items.map((item) => `https://example.com/u/${item.userId}/list/${item.listId}`);\n// return urls;\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "requestMaxEntries": 50,
< "requestTransform": "\n/**\n * Inputs:\n * `request` - Request holding URL to be scraped.\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async (request, { io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Tag requests\n// // (maybe because we use RequestQueue that pools multiple scrapers)\n// request.userData.tag = \"VARIANT_A\";\n// return requestQueue;\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "requestTransformBefore": "\n/**\n * Inputs:\n *\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async ({ io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Fetch data or run code BEFORE requests are processed.\n// state.categories = await sendRequest.get('https://example.com/my-categories').json();\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "requestTransformAfter": "\n/**\n * Inputs:\n *\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async ({ io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Fetch data or run code AFTER requests are processed.\n// delete state.categories;\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "requestFilter": "\n/**\n * Inputs:\n * `request` - Request holding URL to be scraped.\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async (request, { io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Filter requests based on their tag\n// // (maybe because we use RequestQueue that pools multiple scrapers)\n// return request.userData.tag === \"VARIANT_A\";\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "requestFilterBefore": "\n/**\n * Inputs:\n *\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async ({ io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Fetch data or run code BEFORE requests are processed.\n// state.categories = await sendRequest.get('https://example.com/my-categories').json();\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "requestFilterAfter": "\n/**\n * Inputs:\n *\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async ({ io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Fetch data or run code AFTER requests are processed.\n// delete state.categories;\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "outputMaxEntries": 50,
< "outputTransform": "\n/**\n * Inputs:\n * `entry` - Scraped entry.\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async (entry, { io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Add extra custom fields like aggregates\n// return {\n// ...entry,\n// imagesCount: entry.images.length,\n// };\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "outputTransformBefore": "\n/**\n * Inputs:\n *\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async ({ io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Fetch data or run code BEFORE entries are scraped.\n// state.categories = await sendRequest.get('https://example.com/my-categories').json();\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "outputTransformAfter": "\n/**\n * Inputs:\n *\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async ({ io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Fetch data or run code AFTER entries are scraped.\n// delete state.categories;\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "outputFilter": "\n/**\n * Inputs:\n * `entry` - Scraped entry.\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async (entry, { io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Filter entries based on number of images they have (at least 5)\n// return entry.images.length > 5;\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "outputFilterBefore": "\n/**\n * Inputs:\n *\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async ({ io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Fetch data or run code BEFORE entries are scraped.\n// state.categories = await sendRequest.get('https://example.com/my-categories').json();\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "outputFilterAfter": "\n/**\n * Inputs:\n *\n * `ctx.io` - Apify Actor class, see https://docs.apify.com/sdk/js/reference/class/Actor.\n * `ctx.input` - The input object that was passed to this Actor.\n * `ctx.state` - An object you can use to persist state across all your custom functions.\n * `ctx.sendRequest` - Fetch remote data. Uses 'got-scraping', same as Apify's `sendRequest`.\n * See https://crawlee.dev/docs/guides/got-scraping\n * `ctx.itemCacheKey` - A function you can use to get cacheID for current `entry`.\n * It takes the entry itself, and a list of properties to be used for hashing.\n * By default, you should pass `input.cachePrimaryKeys` to it.\n *\n */\n// async ({ io, input, state, sendRequest, itemCacheKey }) => {\n// // Example: Fetch data or run code AFTER entries are scraped.\n// delete state.categories;\n//\n// /* ========== SEE BELOW FOR MORE EXAMPLES ========= */\n//\n// /**\n// * ======= ACCESSING DATASET ========\n// * To save/load/access entries in Dataset.\n// * Docs:\n// * - https://docs.apify.com/platform/storage/dataset\n// * - https://docs.apify.com/sdk/js/docs/guides/result-storage#dataset\n// * - https://docs.apify.com/sdk/js/docs/examples/map-and-reduce\n// */\n// // const dataset = await io.openDataset('MyDatasetId');\n// // const info = await dataset.getInfo();\n// // console.log(info.itemCount);\n// // // => 0\n//\n// /**\n// * ======= ACCESSING REMOTE DATA ========\n// * Use `sendRequest` to get data from the internet:\n// * Docs:\n// * - https://github.com/apify/got-scraping\n// */\n// // const catFact = await sendRequest.get('https://cat-fact.herokuapp.com/facts/5887e1d85c873e0011036889').json();\n// // console.log(catFact.text);\n// // // => \"Cats make about 100 different sounds. Dogs make only about 10.\",\n//\n// /**\n// * ======= USING CACHE ========\n// * To save the entry to the KeyValue cache (or retrieve it), you can use\n// * `itemCacheKey` to create the entry's ID for you:\n// */\n// // const cacheId = itemCacheKey(item, input.cachePrimaryKeys);\n// // const cache = await io.openKeyValueStore('MyStoreId');\n// // cache.setValue(cacheId, entry);\n// };",
< "maxRequestRetries": 3,
< "maxRequestsPerMinute": 120,
< "minConcurrency": 1,
< "requestHandlerTimeoutSecs": 180,
< "logLevel": "info",
< "errorReportingDatasetId": "REPORTING"
<}
<EOF
# Run the Actor using an HTTP API
# See the full API reference at https://docs.apify.com/api/v2
$curl"https://api.apify.com/v2/acts/jurooravec~profesia-sk-scraper/runs?token=$API_TOKEN"\
<-X POST \
<-d @input.json \
<-H'Content-Type: application/json'

Profesia.sk Scraper API

Below, you can find a list of relevant HTTP API endpoints for calling the Profesia.sk Scraper Actor. For this, you’ll need an Apify account. Replace <YOUR_API_TOKEN> in the URLs with your Apify API token, which you can find under Integrations in Apify Console. For details, see the API reference.

Run Actor

POST
https://api.apify.com/v2/acts/jurooravec~profesia-sk-scraper/runs?token=<YOUR_API_TOKEN>

Note: By adding the method=POST query parameter, this API endpoint can be called using a GET request and thus used in third-party webhooks. Please refer to our Run Actor API documentation.

Run Actor synchronously and get dataset items

POST
https://api.apify.com/v2/acts/jurooravec~profesia-sk-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>

Note: This endpoint supports both POST and GET request methods. However, only the POST method allows you to pass input data. For more information, please refer to our Run Actor synchronously and get dataset items API documentation.

Get Actor

GET
https://api.apify.com/v2/acts/jurooravec~profesia-sk-scraper?token=<YOUR_API_TOKEN>

For more information, please refer to our Get Actor API documentation.

Actors can be used to scrape web pages, extract data, or automate browser tasks. Use the Profesia.sk Scraper API programmatically via the Apify API.

You can choose from:

Profesia.sk Scraper API in Python

Profesia.sk Scraper API in JavaScript

Profesia.sk Scraper API through CLI

Profesia.sk Scraper OpenAPI definition

You can start Profesia.sk Scraper with the Apify API by sending an HTTP POST request to the Run Actorendpoint. An Actor’s input and its content type can be passed as a payload of the POST request, and additional options can be specified using URL query parameters. The Profesia.sk Scraper is identified within the API by its ID, which is the creator’s username and the name of the Actor.

When the Profesia.sk Scraper run finishes you can list the data from its default dataset(storage) via the API or you can preview the data directly on Apify Console.