From 63786cb37cafb34d8b7b8c30f080435deddc3be2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 1 Sep 2025 10:37:13 +0200 Subject: [PATCH 1/8] docs: fix dead links --- sources/academy/platform/actorization_playbook.mdx | 4 ++-- .../actor_definition/key_value_store_schema/index.md | 2 +- .../platform/integrations/workflows-and-notifications/n8n.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sources/academy/platform/actorization_playbook.mdx b/sources/academy/platform/actorization_playbook.mdx index a512d7258f..d846c380f6 100644 --- a/sources/academy/platform/actorization_playbook.mdx +++ b/sources/academy/platform/actorization_playbook.mdx @@ -51,8 +51,8 @@ You can Actorize various projects ranging from open-source libraries, throughout | Monolith | Open source library | [https://github.com/Y2Z/monolith](https://github.com/Y2Z/monolith) | [https://apify.com/snshn/monolith](https://apify.com/snshn/monolith) | | Crawl4AI | Open source library | [https://github.com/unclecode/crawl4ai](https://github.com/unclecode/crawl4ai) | [https://apify.com/janbuchar/crawl4ai](https://apify.com/janbuchar/crawl4ai) | | Docling | Open source library | [https://github.com/docling-project/docling](https://github.com/docling-project/docling) | https://apify.com/vancura/docling/source-code | -| Playwright MCP | Open source MCP server | [https://github.com/microsoft/playwright-mcp](https://github.com/microsoft/playwright-mcp) | [https://apify.com/jiri.spilka/playwright-mcp](https://apify.com/jiri.spilka/playwright-mcp) | -| Browserbase MCP | SaaS MCP server | [https://www.browserbase.com/](https://www.browserbase.com/) | [https://apify.com/jakub.kopecky/browserbase-mcp](https://apify.com/jakub.kopecky/browserbase-mcp) | +| Playwright MCP | Open source MCP server | [https://github.com/microsoft/playwright-mcp](https://github.com/microsoft/playwright-mcp) | [https://apify.com/jiri.spilka/playwright-mcp-server](https://apify.com/jiri.spilka/playwright-mcp-server) | +| Browserbase MCP | SaaS MCP server | [https://www.browserbase.com/](https://www.browserbase.com/) | [https://apify.com/jakub.kopecky/browserbase-mcp-server](https://apify.com/jakub.kopecky/browserbase-mcp-server) | ### What projects are suitable for Actorization diff --git a/sources/platform/actors/development/actor_definition/key_value_store_schema/index.md b/sources/platform/actors/development/actor_definition/key_value_store_schema/index.md index cb742e0d85..2cb42da6f5 100644 --- a/sources/platform/actors/development/actor_definition/key_value_store_schema/index.md +++ b/sources/platform/actors/development/actor_definition/key_value_store_schema/index.md @@ -121,7 +121,7 @@ GET https://api.apify.com/v2/key-value-stores/{storeId}/keys?prefix=document- When you define a key-value store schema with specific `contentTypes` for collections, the Apify platform validates any data being stored against these specifications. For example, if you've specified that a collection should only contain JSON data with content type `application/json`, attempts to store data with other content types in that collection will be rejected. -The validation happens automatically when you call `Actor.setValue()` or use the [Put record](https://docs.apify.com/api/v2/reference/key-value-stores/record/put-record) API endpoint. +The validation happens automatically when you call `Actor.setValue()` or use the [Put record](https://docs.apify.com/api/v2/key-value-store-record-put) API endpoint. If you've defined a `jsonSchema` for a collection with content type `application/json`, the platform will also validate that the JSON data conforms to the specified schema. This helps ensure data consistency and prevents storing malformed data. diff --git a/sources/platform/integrations/workflows-and-notifications/n8n.md b/sources/platform/integrations/workflows-and-notifications/n8n.md index e6f2c83b38..c6d8b7a8b2 100644 --- a/sources/platform/integrations/workflows-and-notifications/n8n.md +++ b/sources/platform/integrations/workflows-and-notifications/n8n.md @@ -19,7 +19,7 @@ In this guide, you'll learn how to install the Apify node, set up authentication Before you begin, make sure you have: - An [Apify account](https://console.apify.com/) -- An [n8n instance](https://docs.n8n.io/getting-started/) (self‑hosted or cloud) +- An [n8n instance](https://docs.n8n.io/learning-path/) (self‑hosted or cloud) ## Install the Apify Node (self-hosted) @@ -73,7 +73,7 @@ The Apify node offers two authentication methods to securely connect to your Api 1. n8n automatically retrieves and stores the OAuth2 tokens. ![Apify Auth](../images/n8n-oauth.png) - + :::note For simplicity on n8n Cloud, use the API key method if you prefer manual control over credentials. From 225588c87968f5b133675230194d0ae3b8adddae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 1 Sep 2025 10:49:25 +0200 Subject: [PATCH 2/8] add console backed link to .lycheeignore --- .lycheeignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.lycheeignore b/.lycheeignore index 232df66e7d..2adfc61b07 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -9,3 +9,4 @@ file:\/\/\/.* https://chrome\.google\.com/webstore/.* https?:\/\/(www\.)?npmjs\.com\/.* ^https://apify\.com/og-image.* +https://console-backend.apify.com/ From 31e2b23fcd70b5e4aaee31331876bc95ad8a2281 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 1 Sep 2025 10:58:45 +0200 Subject: [PATCH 3/8] further link fixes & rewrite --- .../academy/webscraping/anti_scraping/techniques/captchas.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/academy/webscraping/anti_scraping/techniques/captchas.md b/sources/academy/webscraping/anti_scraping/techniques/captchas.md index 46c5cdefd4..b8d24fb55e 100644 --- a/sources/academy/webscraping/anti_scraping/techniques/captchas.md +++ b/sources/academy/webscraping/anti_scraping/techniques/captchas.md @@ -37,7 +37,7 @@ Tons of different types of captchas exist, but one of the most popular is Google **reCAPTCHA**s can be solved using the [Anti Captcha Recaptcha](https://apify.com/petr_cermak/anti-captcha-recaptcha) Actor on the Apify platform (note that this method requires an account on [anti-captcha.com](https://anti-captcha.com)). -Another popular captcha is the [Geetest slider captcha](https://www.geetest.com/en/adaptive-captcha-demo). You can find a guide for solving these types of captchas in Puppeteer [here](https://scraperbox.com/blog/solving-a-geetest-slider-captcha-with-puppeteer). Amazon's captcha can similarly also be solved programmatically. +Another popular captcha is the [Geetest slider captcha](https://www.geetest.com/en/adaptive-captcha-demo). You can learn how to solve these types of captchas in Puppeteer by reading this [guide on solving Geetest slider captchas](https://filipvitas.medium.com/how-to-solve-geetest-slider-captcha-with-js-ac764c4e9905). Amazon's captcha can similarly also be solved programmatically. ## Wrap up From e3cee45d2319b789a1af2c2e59343648166557da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 1 Sep 2025 11:10:16 +0200 Subject: [PATCH 4/8] slightly increase timeout --- .github/workflows/lychee.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml index b9fad21209..bf23853cfa 100644 --- a/.github/workflows/lychee.yml +++ b/.github/workflows/lychee.yml @@ -46,6 +46,7 @@ jobs: --max-retries 6 --verbose --no-progress + --timeout '45' --accept '100..=103,200..=299,403..=403,429' --format markdown './build/**/*.html' From 0c3a04f9275f575344299a7eadf1686ae7c93825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 1 Sep 2025 11:47:37 +0200 Subject: [PATCH 5/8] add user agent flag & slightly increase timeout --- .github/workflows/lychee.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml index bf23853cfa..5e96e81492 100644 --- a/.github/workflows/lychee.yml +++ b/.github/workflows/lychee.yml @@ -46,7 +46,8 @@ jobs: --max-retries 6 --verbose --no-progress - --timeout '45' + --user-agent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' + --timeout '60' --accept '100..=103,200..=299,403..=403,429' --format markdown './build/**/*.html' From 389ba0510f7d90f3c8c7c8db38541e159a70184f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 1 Sep 2025 11:57:38 +0200 Subject: [PATCH 6/8] remove user-agent flag --- .github/workflows/lychee.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml index 5e96e81492..83913de51e 100644 --- a/.github/workflows/lychee.yml +++ b/.github/workflows/lychee.yml @@ -46,7 +46,6 @@ jobs: --max-retries 6 --verbose --no-progress - --user-agent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' --timeout '60' --accept '100..=103,200..=299,403..=403,429' --format markdown From dc74d6a3bd02c6e6fb6b09eb6828135449a98ac0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 1 Sep 2025 13:20:22 +0200 Subject: [PATCH 7/8] add mcp.apify.com to ignored --- .lycheeignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.lycheeignore b/.lycheeignore index 2adfc61b07..fa54008726 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -10,3 +10,4 @@ https://chrome\.google\.com/webstore/.* https?:\/\/(www\.)?npmjs\.com\/.* ^https://apify\.com/og-image.* https://console-backend.apify.com/ +https://mcp.apify.com/ From ee233c1f38ea51f97d3796b9549cc6344053e104 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Olender?= <92638966+TC-MO@users.noreply.github.com> Date: Mon, 1 Sep 2025 13:20:49 +0200 Subject: [PATCH 8/8] add deviceinfo to ignore --- .lycheeignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.lycheeignore b/.lycheeignore index fa54008726..0fc1c03f97 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -11,3 +11,4 @@ https?:\/\/(www\.)?npmjs\.com\/.* ^https://apify\.com/og-image.* https://console-backend.apify.com/ https://mcp.apify.com/ +https://www.deviceinfo.me/