Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ view:
description: |
Defines the view configuration for dataset items based on the schema definition.
This parameter determines how the data will be filtered and presented.
For complete specification details, see the [dataset schema documentation](/actors/development/actor-definition/dataset-schema).
For complete specification details, see the [dataset schema documentation](/storage/dataset-schema).
schema:
type: string
example: overview
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ properties:
description: ""
schema:
type: [object, "null"]
description: Defines the schema of items in your dataset, the full specification can be found in [Apify docs](/actors/development/actor-definition/dataset-schema)
description: Defines the schema of items in your dataset, the full specification can be found in [Apify docs](/storage/dataset-schema)
example:
actorSpecification: 1
title: My dataset
Expand Down
8 changes: 0 additions & 8 deletions apify-docs-theme/src/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,14 +67,6 @@ const themeConfig = {
target: '_self',
rel: 'dofollow',
},
{
label: 'Limits',
href: `${absoluteUrl}/limits`,
activeBasePath: 'limits',
position: 'left',
target: '_self',
rel: 'dofollow',
},
{
label: 'Security',
href: `${absoluteUrl}/security`,
Expand Down
1 change: 0 additions & 1 deletion apify-docs-theme/src/theme/DocItemContent/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ export default function DocItemContent({ children }) {
'/proxy',
'/account',
'/integrations',
'/limits',
'/security',
'/sdk',
'/cli',
Expand Down
1 change: 0 additions & 1 deletion apify-docs-theme/src/theme/SearchBar/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ function matchesCurrentInstance(href, baseUrl) {
href.startsWith('/proxy') ||
href.startsWith('/account') ||
href.startsWith('/integrations') ||
href.startsWith('/limits') ||
href.startsWith('/security')
);
}
Expand Down
7 changes: 7 additions & 0 deletions nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -808,6 +808,13 @@ server {
# the rest of the way to /storage and /proxy. The post-flip cleanup PR collapses
# that double-hop.)

# IA v3 follow-ups (#2746): storage schema pages moved from Actor development to Storage.
# 302 while the IA settles; promote to permanent once stable.
rewrite ^/actors/development/actor-definition/dataset-schema(/.*)?$ /storage/dataset-schema$1 redirect;
rewrite ^/actors/development/actor-definition/key-value-store-schema$ /storage/key-value-store-schema redirect;
# Limits moved from top-nav (/limits) into Account.
rewrite ^/limits$ /account/limits redirect;

# Soft-landings for deleted URLs (better UX than a 404)
rewrite ^/platform/integrations/airtable/console-integration$ /integrations/airtable permanent;
rewrite ^/platform/?$ / permanent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ These steps are the bare minimum you need to run your code on Apify. The rest of

Most Actors accept an input and produce an output. As part of Actorization, you need to define the input and output structure of your application.

For detailed information, read the docs for [input schema](/actors/development/actor-definition/input-schema), [dataset schema](/actors/development/actor-definition/dataset-schema), and general [storage](/storage).
For detailed information, read the docs for [input schema](/actors/development/actor-definition/input-schema), [dataset schema](/storage/dataset-schema), and general [storage](/storage).


#### Design guidelines
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ Great! Now that everything is set up, it's time to run the Actor and admire your

:::tip Additional resources

Visit the [dataset schema documentation](/actors/development/actor-definition/dataset-schema) for more detailed information about how to implement this feature.
Visit the [dataset schema documentation](/storage/dataset-schema) for more detailed information about how to implement this feature.

:::

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
---
title: Limits
description: View default resource limits for the Apify platform, including max memory, disk size, and number of Actors and tasks per user per plan tier.
sidebar_position: 16
category: platform
slug: /limits
sidebar_position: 3.5
slug: /account/limits
---

The tables below demonstrate the Apify platform's default resource limits. For API limits such as rate limits and max payload size, see the [API documentation](/api/v2#rate-limiting).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ Actor `name`, `version`, `buildTag`, and `environmentVariables` are currently on
| `input` | Optional | You can embed your [input schema](./input_schema/index.md) object directly in `actor.json` under the `input` field. You can also provide a path to a custom input schema. If not provided, the input schema at `.actor/INPUT_SCHEMA.json` or `INPUT_SCHEMA.json` is used, in this order of preference. You can also use the `inputSchema` alias interchangeably. |
| `output` | Optional | You can embed your [output schema](./output_schema/index.md) object directly in `actor.json` under the `output` field. You can also provide a path to a custom output schema. [Read more](/actors/development/actor-definition/output-schema) about Actor output schemas. You can also use the `outputSchema` alias interchangeably. |
| `changelog` | Optional | The path to the CHANGELOG file displayed in the Information tab of the Actor in Apify Console next to Readme. If not provided, the CHANGELOG at `.actor/CHANGELOG.md` or `CHANGELOG.md` is used, in this order of preference. Your Actor doesn't need to have a CHANGELOG but it is a good practice to keep it updated for published Actors. |
| `storages.dataset` | Optional | You can define the schema of the items in your dataset under the `storages.dataset` field. This can be either an embedded object or a path to a JSON schema file. [Read more](/actors/development/actor-definition/dataset-schema) about Actor dataset schemas. |
| `storages.datasets` | Optional | You can define multiple datasets for the Actor under the `storages.datasets` field. This can be an object containing embedded objects or paths to a JSON schema files. [Read more](/actors/development/actor-definition/dataset-schema/multiple-datasets) about multiple dataset schemas. |
| `storages.dataset` | Optional | You can define the schema of the items in your dataset under the `storages.dataset` field. This can be either an embedded object or a path to a JSON schema file. [Read more](/storage/dataset-schema) about Actor dataset schemas. |
| `storages.datasets` | Optional | You can define multiple datasets for the Actor under the `storages.datasets` field. This can be an object containing embedded objects or paths to a JSON schema files. [Read more](/storage/dataset-schema/multiple-datasets) about multiple dataset schemas. |
| `defaultMemoryMbytes` | Optional | Specifies the default amount of memory in megabytes to be used when the Actor is started. Can be an integer or a [dynamic memory expression string](./dynamic_actor_memory/index.md). |
| `minMemoryMbytes` | Optional | Specifies the minimum amount of memory in megabytes required by the Actor to run. Requires an _integer_ value. If both `minMemoryMbytes` and `maxMemoryMbytes` are set, then `minMemoryMbytes` must be equal or lower than `maxMemoryMbytes`. Refer to the [Usage and resources](https://docs.apify.com/actors/running/usage-and-resources#memory) for more details about memory allocation. |
| `maxMemoryMbytes` | Optional | Specifies the maximum amount of memory in megabytes required by the Actor to run. It can be used to control the costs of run. Requires an _integer_ value. Refer to the [Usage and resources](https://docs.apify.com/actors/running/usage-and-resources#memory) for more details about memory allocation. |
Expand Down
4 changes: 2 additions & 2 deletions sources/platform/actors/development/actor_definition/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ Actors have the following elements:
- The main **[actor.json](./actor_json.md)** file contains **metadata** such as the Actor name, description, author, version, and links pointing to the other definition files below.
- **[Dockerfile](./docker.md)** which specifies where is the Actor's source code, how to build it, and run it.
- **Documentation** in the form of a **README.md** file.
- **[Input](./input_schema/index.md)** and **[dataset schemas](/actors/development/actor-definition/dataset-schema)** that describe what input the Actor requires and what results it produces.
- **[Input](./input_schema/index.md)** and **[output](./output_schema/index.md)** schemas that describe what input the Actor requires and what output it produces.
- Access to an out-of-box **[storage](../../../storage/index.md)** system for Actor data, results, and files.

The documentation and the input/dataset schemas make it possible for people to easily understand what the Actor does, enter the required inputs both in the user interface or API, and integrate the Actor's results with their other workflows. Actors can easily call and interact with each other, enabling building more complex systems on top of simple ones.
The documentation and the input and output schemas make it possible for people to easily understand what the Actor does, enter the required inputs both in the user interface or API, and integrate the Actor's results with their other workflows. Actors can easily call and interact with each other, enabling building more complex systems on top of simple ones.

The Apify platform provides an open [API](/api/v2), cron-style [scheduler](/actors/running/schedules), [webhooks](../../../integrations/programming/webhooks/index.md), and [integrations](../../integrations) to services such as Zapier or Make, which make it easy for users to integrate Actors with their existing workflows. Anyone is welcome to [publish Actors](/actors/publishing) in [Apify Store](https://apify.com/store), and you can even [monetize your Actors](/actors/publishing/monetize).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Define an output schema to specify where your Actor stores its resu
slug: /actors/development/actor-definition/output-schema
---

The Actor output schema builds upon the schemas for the [dataset](/actors/development/actor-definition/dataset-schema) and [key-value store](/actors/development/actor-definition/key-value-store-schema). It specifies where an Actor stores its output and defines templates for accessing that output. Apify Console uses these output definitions to display run results, and the Actor run's `GET` endpoint includes them in the output property.
The Actor output schema builds upon the schemas for the [dataset](/storage/dataset-schema) and [key-value store](/storage/key-value-store-schema). It specifies where an Actor stores its output and defines templates for accessing that output. Apify Console uses these output definitions to display run results, and the Actor run's `GET` endpoint includes them in the output property.

## Why output schema matters

Expand Down Expand Up @@ -263,7 +263,7 @@ After you define `views` and `collections` in `dataset_schema.json` and `key_val

:::note Output schema complements dataset schema

The output schema defines *where* data is stored and how to access it. The [dataset schema](/actors/development/actor-definition/dataset-schema) defines *what* fields each item contains, including descriptions and examples. Use both schemas together:
The output schema defines *where* data is stored and how to access it. The [dataset schema](/storage/dataset-schema) defines *what* fields each item contains, including descriptions and examples. Use both schemas together:

- Output schema: Declares that results are in the default dataset
- Dataset schema: Describes each field with `title`, `description`, and `example`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Follow the standard [OpenAPI 3.x format](https://spec.openapis.org/oas/latest.ht

## Build and deploy

The build process validates `webServerSchema`, similar to other Actor schemas like [input schema](/actors/development/actor-definition/input-schema) and [dataset schema](/actors/development/actor-definition/dataset-schema). If the spec is malformed, the build fails with a validation error.
The build process validates `webServerSchema`, similar to other Actor schemas like [input schema](/actors/development/actor-definition/input-schema) and [dataset schema](/storage/dataset-schema). If the spec is malformed, the build fails with a validation error.

Once deployed, the **Standby** tab appears automatically on the Actor's detail page when you enable [standby mode](/actors/development/programming-interface/standby). It renders your spec with [Swagger UI](https://swagger.io/tools/swagger-ui/) and handles authentication automatically - Actor users can send requests without configuring API tokens.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ You can start an Actor in several ways:

## Input and environment variables

The run receives input via the `INPUT` record of its default [key-value store](../../../storage/key_value_store.md). Environment variables are also passed to the run. For more information about environment variables check the [Environment variables](../programming_interface/environment_variables.md) section.
The run receives input via the `INPUT` record of its default [key-value store](/storage/key-value-store). Environment variables are also passed to the run. For more information about environment variables check the [Environment variables](../programming_interface/environment_variables.md) section.

## Run duration and timeout

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ Usually, the file is called `INPUT`, but the exact key is defined in the `ACTOR_

## Key-value store access

Use the [Key-value store](../../../storage/key_value_store.md) to read and write arbitrary files
Use the [Key-value store](/storage/key-value-store) to read and write arbitrary files

<Tabs groupId="main">
<TabItem value="JavaScript" label="JavaScript">
Expand Down Expand Up @@ -148,7 +148,7 @@ async def main():

## Push results to the dataset

Store larger results in a [Dataset](../../../storage/dataset.md), an append-only object storage
Store larger results in a [Dataset](/storage/dataset), an append-only object storage

Note that Datasets can optionally be equipped with the schema that ensures only certain kinds of objects are stored in them.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ To make your Actor compatible with metamorph, use `Actor.getInput()` instead of

:::note Runtime limits

There's a limit to how many times you can metamorph a single run. Refer to the [Actor runtime limits](/limits#actor-limits) for more details.
There's a limit to how many times you can metamorph a single run. Refer to the [Actor runtime limits](/account/limits#actor-limits) for more details.

:::

Expand Down
4 changes: 2 additions & 2 deletions sources/platform/actors/publishing/publish-task.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Before you publish a task, make sure you have:

- A [published Actor](./publish.mdx) that you own or maintain.
- A [saved task](/actors/running/tasks) with a complete input configuration.
- An [input schema](/actors/development/actor-definition/input-schema) and at least one [dataset schema view](/actors/development/actor-definition/dataset-schema) defined on the Actor.
- An [input schema](/actors/development/actor-definition/input-schema) and at least one [dataset schema view](/storage/dataset-schema) defined on the Actor.

## What tasks to publish

Expand Down Expand Up @@ -121,7 +121,7 @@ The Dataset schema section selects which view of the Actor's dataset is rendered

![Dataset schema view selection.](./images/public-tasks/task-dataset-schema.webp)

For more on configuring views, see [Dataset schema](/actors/development/actor-definition/dataset-schema).
For more on configuring views, see [Dataset schema](/storage/dataset-schema).

## Task landing page

Expand Down
2 changes: 1 addition & 1 deletion sources/platform/actors/publishing/quality_score.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,4 @@ Developers with a proven track record of publishing successful Actors receive re

### Congruency

Congruency measures the consistency and coherence across your Actor's components. A well-designed Actor maintains alignment between its title, description, documentation, and schemas. Ensure that your [input schema](https://docs.apify.com/actors/development/actor-definition/input-schema), [dataset schema](https://docs.apify.com/actors/development/actor-definition/dataset-schema), [key-value store schema](https://docs.apify.com/actors/development/actor-definition/key-value-store-schema), and README documentation all reflect consistent terminology and accurately describe the Actor's behavior. This coherence reduces user confusion and improves the overall experience.
Congruency measures the consistency and coherence across your Actor's components. A well-designed Actor maintains alignment between its title, description, documentation, and schemas. Ensure that your [input schema](https://docs.apify.com/actors/development/actor-definition/input-schema), [dataset schema](https://docs.apify.com/storage/dataset-schema), [key-value store schema](https://docs.apify.com/storage/key-value-store-schema), and README documentation all reflect consistent terminology and accurately describe the Actor's behavior. This coherence reduces user confusion and improves the overall experience.
2 changes: 1 addition & 1 deletion sources/platform/actors/running/monitoring/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ When you set up an alert, you have four choices for how you want the metrics to

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) 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.
4. **Alert for dataset field statistics** - If you have a [dataset schema](/storage/dataset-schema/validation) 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.

:::important

Expand Down
4 changes: 2 additions & 2 deletions sources/platform/actors/running/usage_and_resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ slug: /actors/running/usage-and-resources

Assigning an Actor a specific **Memory** capacity, also determines the allocated CPU power and its disk size.

Check out the [Limits](../../limits.md) page for detailed information on Actor memory, CPU limits, disk size and other limits.
Check out the [Limits](/account/limits) page for detailed information on Actor memory, CPU limits, disk size and other limits.

### Memory

Expand All @@ -24,7 +24,7 @@ When invoking an Actor, the caller can specify the memory allocation for the Act
- The maximum allowed value is `32768MB`
- Acceptable values include: `128MB`, `256MB`, `512MB`, `1024MB`, `2048MB`, `4096MB`, `8192MB`, `16384MB`, and `32768MB`

Additionally, each user has a certain total limit of memory for running Actors. The sum of memory allocated for all running Actors and builds needs to be within this limit, otherwise the user cannot start a new Actor. For more details, see [limits](../../limits.md).
Additionally, each user has a certain total limit of memory for running Actors. The sum of memory allocated for all running Actors and builds needs to be within this limit, otherwise the user cannot start a new Actor. For more details, see [limits](/account/limits).

### CPU

Expand Down
Loading
Loading