diff --git a/sources/platform/console/settings.md b/sources/platform/console/settings.md index 25df3408f7..b27205474c 100644 --- a/sources/platform/console/settings.md +++ b/sources/platform/console/settings.md @@ -44,7 +44,7 @@ The **MCP connectors** section lets you authorize third-party MCP servers (such #### Create a connector -1. Open **Settings > API & Integrations > MCP connectors** and click **Create new connector**. +1. Open **Settings > API & Integrations > MCP connectors** and click **Add connector**. 1. Enter the MCP server URL, for example: ```text diff --git a/sources/platform/console/store.md b/sources/platform/console/store.md index 256ce435da..2df28d332a 100644 --- a/sources/platform/console/store.md +++ b/sources/platform/console/store.md @@ -22,4 +22,4 @@ Once you select an Actor from the store, you'll be directed to its specific page Search results in Apify Console are personalized to each individual user, so the same query can return different Actors than the public Store at [apify.com/store](https://apify.com/store). Both Console and the public Store rank Actors using parameters similar to those in the [Actor quality score](/platform/actors/publishing/quality-score). -For more information, see [Actors in Store](/sources/platform/actors/running/store/index.md). +For more information, see [Actors in Store](/platform/actors/running/actors-in-store). diff --git a/sources/platform/monitoring/index.md b/sources/platform/monitoring/index.md index 2b94d18481..76dcd6a9d8 100644 --- a/sources/platform/monitoring/index.md +++ b/sources/platform/monitoring/index.md @@ -43,7 +43,7 @@ When you set up an alert, you have four choices for how you want the metrics to 2. **Alert, when the metric is higher than** - This type of alert is checked both during the run and after the run finishes. During the run, we do periodic checks (approximately every 5 minutes) so that we can notify you as soon as possible if the metric is higher than the value you set. After the run finishes, we do a final check to make sure that the metric does not go over the limit in the last few minutes of the run. -3. **Alert, when run status is one of following** - This type of alert is checked only after the run finishes. It makes possible to track the status of your finished runs and send an alert if the run finishes in a state you do not expect. If your Actor runs very often and suddenly starts failing, you will receive a single alert after the first failed run in 1 minute, and then aggregated alert every 15 minutes. +3. **Alert, when run status is one of following** - This type of alert is checked only after the run finishes. It makes possible to track the status of your finished runs and send an alert if the run finishes in a state you do not expect. If your Actor runs very often and suddenly starts failing, you will receive a single alert after the first failed run in 1 minute, and then aggregated alert every 20 minutes. 4. **Alert for dataset field statistics** - If you have a [dataset schema](../actors/development/actor_definition/dataset_schema/validation.md) set up, then you can use the field statistics to set up an alert. You can use field statistics for example to track if some field is filled in all records, if some numeric value is too low/high (for example when tracking the price of a product over multiple sources), if the number of items in an array is too low/high (for example alert on Instagram Actor if post has a lot of comments) and many other tasks like these. diff --git a/sources/platform/proxy/datacenter_proxy.md b/sources/platform/proxy/datacenter_proxy.md index 4ec5fb9eb4..f2806aa6ab 100644 --- a/sources/platform/proxy/datacenter_proxy.md +++ b/sources/platform/proxy/datacenter_proxy.md @@ -17,7 +17,7 @@ You can refer to the [blog post](https://blog.apify.com/datacenter-proxies-when- ## Features * Periodic health checks of proxies in the pool so requests are not forwarded via dead proxies. -* Intelligent rotation of IP addresses so target hosts are accessed via proxies that have accessed them the longest time ago, to reduce the chance of blocking. +* Intelligent rotation of IP addresses so target hosts are accessed via proxies from a random subset that have accessed them the longest time ago, to reduce the chance of blocking. * Periodically checks whether proxies are banned by selected target websites. If they are, stops forwarding traffic to them to get the proxies unbanned as soon as possible. * Ensures proxies are located in specific countries using IP geolocation. * Allows selection of groups of proxy servers with specific characteristics. diff --git a/sources/platform/proxy/index.md b/sources/platform/proxy/index.md index 4c01e0ceb1..2d3f39b9ea 100644 --- a/sources/platform/proxy/index.md +++ b/sources/platform/proxy/index.md @@ -232,7 +232,7 @@ Sessions allow you to use the same IP address for multiple connections. When you To set a new session, pass the `session` parameter in your [username](#username-parameters) field when connecting to a proxy. This will serve as the session's ID and an IP address will be assigned to it. To [use that IP address in other requests](/platform/proxy/datacenter-proxy#connecting-to-datacenter-proxies), pass that same session ID in the username field. We recommend the [SessionPool](https://crawlee.dev/api/core/class/SessionPool) abstraction for managing sessions. The created session will then store information such as cookies and can be used to generate [browser fingerprints](/academy/anti-scraping/mitigation/generating-fingerprints). You can also assign custom user data such as authorization tokens and specific headers. -Sessions are available for [datacenter](./datacenter_proxy.md) and [residential](./residential_proxy.md#session-persistence) proxies. For datacenter proxies, a session persists for **26 hours** ([more info](./datacenter_proxy.md)). For residential proxies, it persists for **1 minute** ([more info](./residential_proxy.md#session-persistence)) but you can prolong the lifetime by regularly using the session. Google SERP proxies do not support sessions. +Sessions are available for [datacenter](./datacenter_proxy.md) and [residential](./residential_proxy.md#session-persistence) proxies. For datacenter proxies, a session persists for **26 hours** ([more info](./datacenter_proxy.md)). For residential proxies, it persists for around **30 minutes** ([more info](./residential_proxy.md#session-persistence)). Google SERP proxies do not support sessions. ## Proxy groups diff --git a/sources/platform/proxy/residential_proxy.md b/sources/platform/proxy/residential_proxy.md index d1ccf4122f..879a7edacb 100644 --- a/sources/platform/proxy/residential_proxy.md +++ b/sources/platform/proxy/residential_proxy.md @@ -162,13 +162,13 @@ When using residential proxy with the `session` [parameter](./index.md#sessions) **Session IDs represent IP addresses. Therefore, you can manage the IP addresses you use by managing sessions.** [[More info](./index.md#sessions)] -This IP/session ID combination is persisted for 1 minute. Each subsequent request resets the expiration time to 1 minute. +This IP/session ID combination persists for around 30 minutes. If the proxy server becomes unresponsive or the session expires, a new IP address is selected for the next request. -:::tip Keep sessions alive +:::tip Reuse sessions -To keep a session active, send a request through it before its 1-minute timer expires (for example, every 20 seconds). Each request resets the timer, so as long as the connection isn't interrupted, the session persists. +To keep using the same IP address, reuse the same session ID within its lifetime. Once the session expires, a new IP address is assigned. ::: diff --git a/sources/platform/proxy/your_own_proxies.md b/sources/platform/proxy/your_own_proxies.md index c9f54f6411..5a448095e8 100644 --- a/sources/platform/proxy/your_own_proxies.md +++ b/sources/platform/proxy/your_own_proxies.md @@ -9,7 +9,7 @@ In addition to Apify Proxy, you can use your own proxies both in Apify Console a ## Custom proxies in console -To use your own proxies with Apify Console, in your Actor's **Input and options** tab, scroll down and open the **Proxy and browser configuration** section. Enter your proxy URLs, and you're good to go. +To use your own proxies with Apify Console, in your Actor's **Input** tab, scroll down and open the **Proxy and browser configuration** section (available for Actors whose input schema defines it). Enter your proxy URLs, and you're good to go. ![Using custom proxy in Apify Console](../images/proxy-custom.png) diff --git a/sources/platform/storage/dataset.md b/sources/platform/storage/dataset.md index 89a77cb28f..bb333cd448 100644 --- a/sources/platform/storage/dataset.md +++ b/sources/platform/storage/dataset.md @@ -484,7 +484,7 @@ See the [Storage overview](/platform/storage#share-storages-between-runs) for de ## Limits -- Data storage formats that use tabulation (like HTML, CSV, and EXCEL) are limited to a maximum of _3000_ columns. Data exceeding this limit will not be retrieved. +- Data storage formats that use tabulation (like HTML, CSV, and Excel) are limited to a maximum of _2000_ columns. Data exceeding this limit will not be retrieved. - The `pushData()`method is constrained by the receiving API's size limit. It accepts objects with JSON size under _9MB_. While individual objects within an array must not exceed _9MB_, the overall size has no restriction. diff --git a/sources/platform/storage/key_value_store.md b/sources/platform/storage/key_value_store.md index 137a9e0360..46689d6d86 100644 --- a/sources/platform/storage/key_value_store.md +++ b/sources/platform/storage/key_value_store.md @@ -346,4 +346,4 @@ Key-value storage uses the [AWS S3](https://aws.amazon.com/s3/) service. Accordi ## Limits -- The maximum length for a key in a key-value store is 63 characters. +- The maximum length for a key in a key-value store is 256 characters. Keys may only contain the following characters: `a-zA-Z0-9!-_.'()`. diff --git a/sources/platform/storage/request_queue.md b/sources/platform/storage/request_queue.md index 0f3b774659..9f0208abcf 100644 --- a/sources/platform/storage/request_queue.md +++ b/sources/platform/storage/request_queue.md @@ -642,6 +642,10 @@ CRUD ([add](/api/v2/request-queue-requests-post), [delete](/api/v2/request-queue-request-delete)) operation requests are limited to _400 requests per second_ per request queue. This helps protect Apify servers from being overloaded. +Request-lock operations ([prolong a lock](/api/v2/request-queue-request-lock-put) and [delete a lock](/api/v2/request-queue-request-lock-delete)) are also limited to _400 requests per second_ per request queue. + +Batch operations ([add](/api/v2/request-queue-requests-batch-post) and [delete](/api/v2/request-queue-requests-batch-delete)) and the [list and lock head](/api/v2/request-queue-head-lock-post) endpoint are limited to _40 requests per second_ per request queue. + All other request queue API [endpoints](/api/v2/storage-request-queues) are limited to _60 requests per second_ per request queue. Check out the [API documentation](/api/v2#rate-limiting) for more information and guidance on actions to take if you exceed these rate limits.