Skip to content

Commit eb5ce8e

Browse files
authored
Merge branch 'master' into feat/n8n-wcc-docs
2 parents 6654136 + 6dcf4e5 commit eb5ce8e

File tree

14 files changed

+879
-933
lines changed

14 files changed

+879
-933
lines changed

apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,24 @@ properties:
5050
oneOf:
5151
- nullable: true
5252
- $ref: ./DefaultRunOptions.yaml
53+
taggedBuilds:
54+
type: object
55+
description: |
56+
Object containing the Actor's tagged builds, where the key is the tag name (e.g., _latest_) and the value is an object containing the build ID.
57+
The object you provide will completely overwrite all existing tagged builds for the Actor.
58+
59+
- To create or reassign a tag: Include it in the object with the desired `buildId`.
60+
- To remove a specific tag: Submit the object without that tag's key.
61+
- To remove all tags: Provide an empty object: `{}`.
62+
- If this field is omitted or `null`, the existing tags will not be changed.
63+
nullable: true
64+
additionalProperties:
65+
type: object
66+
required:
67+
- buildId
68+
properties:
69+
buildId:
70+
type: string
71+
example:
72+
latest:
73+
buildId: z2EryhbfhgSyqj6Hn

apify-api/openapi/paths/actor-runs/actor-runs@{runId}@charge.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ post:
77
The event you are charging for must be one of the configured events in your Actor. If the Actor is not set up as pay per event, or if the event is not configured,
88
the endpoint will return an error. The endpoint must be called from the Actor run itself, with the same API token that the run was started with.
99
10+
:::info Learn more about pay-per-event pricing
11+
12+
For more details about pay-per-event (PPE) pricing, refer to our [PPE documentation](/platform/actors/publishing/monetize/pay-per-event).
13+
14+
:::
15+
1016
operationId: PostChargeRun
1117
parameters:
1218
- name: runId

apify-api/openapi/paths/datasets/datasets@{datasetId}@items.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,14 @@ get:
367367
schema:
368368
type: boolean
369369
example: false
370+
- name: signature
371+
in: query
372+
description: Signature used to access the items.
373+
required: false
374+
style: simple
375+
schema:
376+
type: string
377+
example: 2wTI46Bg8qWQrV7tavlPI
370378
responses:
371379
'200':
372380
description: ''

apify-api/openapi/paths/key-value-stores/key-value-stores@{storeId}@keys.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ get:
4848
schema:
4949
type: string
5050
example: post-images-
51+
- name: signature
52+
in: query
53+
description: Signature used to access the keys.
54+
required: false
55+
style: simple
56+
schema:
57+
type: string
58+
example: 2wTI46Bg8qWQrV7tavlPI
5159
responses:
5260
'200':
5361
description: ''

apify-api/openapi/paths/key-value-stores/key-value-stores@{storeId}@records@{recordKey}.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ get:
3232
schema:
3333
type: string
3434
example: someKey
35+
- name: signature
36+
in: query
37+
description: Signature used to access the record.
38+
required: false
39+
style: simple
40+
schema:
41+
type: string
42+
example: 2wTI46Bg8qWQrV7tavlPI
3543
responses:
3644
'200':
3745
description: ''

package-lock.json

Lines changed: 359 additions & 664 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,24 +46,18 @@
4646
"devDependencies": {
4747
"@apify/eslint-config": "^1.0.0",
4848
"@apify/tsconfig": "^0.1.0",
49-
"@rsbuild/plugin-styled-components": "^1.1.0",
5049
"@types/react": "^19.0.0",
5150
"babel-plugin-styled-components": "^2.1.4",
5251
"cross-env": "^7.0.3",
5352
"eslint": "^9.32.0",
54-
"eslint-plugin-json": "^4.0.1",
55-
"eslint-plugin-markdown": "^5.1.0",
5653
"eslint-plugin-react": "^7.37.5",
57-
"eslint-plugin-react-hooks": "^5.2.0",
58-
"fs-extra": "^11.1.1",
5954
"globals": "^16.0.0",
60-
"globby": "^14.0.0",
6155
"markdownlint": "^0.38.0",
6256
"markdownlint-cli": "^0.45.0",
6357
"patch-package": "^8.0.0",
6458
"path-browserify": "^1.0.1",
6559
"rimraf": "^6.0.0",
66-
"typescript": "5.9.2",
60+
"typescript": "5.9.3",
6761
"typescript-eslint": "^8.38.0"
6862
},
6963
"dependencies": {
@@ -75,27 +69,21 @@
7569
"@docusaurus/preset-classic": "^3.8.1",
7670
"@docusaurus/theme-common": "^3.8.1",
7771
"@docusaurus/theme-mermaid": "^3.8.1",
78-
"@docusaurus/utils": "^3.8.1",
7972
"@giscus/react": "^3.0.0",
80-
"@mdx-js/react": "^3.0.1",
8173
"@redocly/cli": "^1.27.1",
8274
"@signalwire/docusaurus-plugin-llms-txt": "^1.2.1",
83-
"ajv": "^8.17.1",
8475
"clsx": "^2.0.0",
8576
"docusaurus-plugin-image-zoom": "^3.0.1",
8677
"docusaurus-plugin-openapi-docs": "^4.3.7",
8778
"docusaurus-theme-openapi-docs": "^4.3.7",
88-
"form-data": "^4.0.0",
8979
"github-buttons": "^2.28.0",
9080
"postcss-preset-env": "^10.0.0",
9181
"prism-react-renderer": "^2.4.0",
9282
"prop-types": "^15.8.1",
93-
"proxy-from-env": "^1.1.0",
9483
"raw-loader": "^4.0.2",
9584
"react": "^19.1.0",
9685
"react-dom": "^19.1.0",
9786
"react-github-btn": "^1.4.0",
98-
"search-insights": "2.17.3",
9987
"styled-components": "6.1.19",
10088
"unist-util-visit": "^5.0.0"
10189
},

sources/academy/ai/ai-agents.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,12 @@ Common issues and solutions:
251251

252252
Apify's pay-per-event (PPE) pricing model allows charging users based on specific triggered events through the API or SDKs.
253253

254+
:::info How pay-per-event pricing works
255+
256+
If you want more details about PPE pricing, refer to our [PPE documentation](/platform/actors/publishing/monetize/pay-per-event).
257+
258+
:::
259+
254260
### Step 1: Define chargeable events
255261

256262
You can configure charges for events like the Actor starting, a task completing successfully, or custom events such as specific API calls.

sources/academy/platform/get_most_of_actors/store_basics/how_actor_monetization_works.md

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ Monetizing your Actor on the Apify platform involves several key steps:
3333
- 2nd user starts their trial but pays next month.
3434
- 3rd user on a free plan finishes the trial without upgrading to a paid plan and can’t use the Actor further.
3535

36-
Learn more about the rental pricing model in our [documentation](/platform/actors/publishing/monetize#rental-pricing-model).
36+
:::info Rental pricing details
37+
38+
If you want more details about rental pricing, refer to our [rental pricing documentation](/platform/actors/publishing/monetize/rental).
39+
40+
:::
3741

3842
### Pay-per-result pricing model
3943

@@ -49,7 +53,11 @@ Learn more about the rental pricing model in our [documentation](/platform/actor
4953
- Dataset storage: $1 per 1,000 GB-hours
5054
- _Example_: you set a price of $1 per 1,000 results. Two users generate 50,000 and 20,000 results, paying $50 and $20, respectively. If the platform usage costs are $5 and $2, your profit is $49.
5155

52-
Learn more about the pay-per-result pricing model in our [documentation](/platform/actors/publishing/monetize#pay-per-result-pricing-model).
56+
:::info Pay-per-result details
57+
58+
If you want more details about PPR pricing, refer to our [PPR documentation](/platform/actors/publishing/monetize/pay-per-result).
59+
60+
:::
5361

5462
### Pay-per-event pricing model
5563

@@ -77,7 +85,11 @@ Learn more about the pay-per-result pricing model in our [documentation](/platfo
7785
- This comes up to $1.625 of total revenue
7886
- That means if platform usage costs are $0.365 for user A and $0.162 for user B your profit is $4.748
7987

80-
Learn more about the pay-per-event pricing model in our [documentation](/platform/actors/publishing/monetize#pay-per-event-pricing-model).
88+
:::info Pay-per-event details
89+
90+
If you want more details about PPE pricing, refer to our [PPE documentation](/platform/actors/publishing/monetize/pay-per-event).
91+
92+
:::
8193

8294
## Setting up monetization
8395

@@ -104,7 +116,7 @@ The easiest way to understand your tool's value is to look around. Are there sim
104116

105117
Try competitor tools yourself (to assess the value and the quality they provide), check their SEO (to see how much traffic they get), and note ballpark figures. Think about what your Actor can do that competitors might be missing.
106118

107-
Also, remember that your Actor is a package deal with the Apify platform. So all the platform's features automatically transfer onto your Actor and its value. Scheduling, monitoring runs, ways of exporting data, proxies, and integrations can all add value to your Actor (on top of its own functionalities). Be sure to factor this into your tool's value proposition and communicate that to the potential user.
119+
Also, remember that your Actor is a package deal with the Apify platform. All the platform's features automatically transfer onto your Actor and its value. Scheduling, monitoring runs, ways of exporting data, proxies, and integrations can all add value to your Actor (on top of its own functionalities). Be sure to factor this into your tool's value proposition and communicate that to the potential user.
108120

109121
### Do research in Apify Store
110122

@@ -114,13 +126,19 @@ Learn more about what makes a good readme here: [How to create an Actor README](
114126

115127
### Rental, pay-per-result (PPR), or pay-per-event (PPE)
116128

117-
Rental pricing is technically easier: you set the rental fee, and the user covers their CU usage. So all you have to define is how much you want to charge the users. With pay-per-result, you’ll need to include both CU usage and your margin. So you have to calculate how much the average run is going to cost for the user + define how much you want to charge them.
129+
Rental pricing allows you to charge a monthly fee for your Actor and users cover their own compute usage.
130+
131+
Pay-per-result (PPR) charges users based on the number of items your Actor adds to the dataset. This model works best when each dataset item represents clear value to the user - like scraped product listings, extracted contact information, or processed documents.
118132

119-
To figure out the average cost per run for users, just run a few test runs and look at the statistics in the Actor [**Analytics**](https://console.apify.com/actors?tab=analytics) tab.
133+
Pay-per-event (PPE) gives you the most flexibility and growth potential. You can charge for any meaningful event your Actor performs (for example, page scraped, browser page opened, or an external API call). This makes costs predictable for users, lets you model value precisely, and is fully compatible with AI and MCP-based integrations.
120134

121-
From an average user's perspective, pay-per-result is often easier to grasp — $25 for a thousand pages, $5 for a thousand videos, $1 for a thousand images, etc. It gives users a clearer idea of what they’re paying for and allows them to estimate faster. But rental pricing has its fans, too — if your tool provides high value, users will come.
135+
:::tip Additional benefits
136+
137+
Actors that implement PPE receive additional benefits, including increased visibility in Apify Store and enhanced discoverability.
138+
139+
:::
122140

123-
Pay-per-event (PPE) lets you define pricing for individual events. You can charge for specific events directly from your Actor by calling our PPE charging API. The most common events will most likely be Actor start, dataset item, external API calls, etc. PPE is great for users who want to optimize their costs and value transparency. PPE is also a fairer pricing model for integration and AI-driven use cases, where dataset-based pricing doesn’t make sense.
141+
To estimate pricing, run a few test runs and review the statistics in the Actor [**Analytics**](https://console.apify.com/actors?tab=analytics) tab.
124142

125143
### Adapt when needed
126144

sources/platform/actors/publishing/monetize/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ The following table compares the two main pricing models available for monetizin
3535
| AI/MCP compatibility | ❌ Not compatible | ✅ Fully compatible | ✅ Fully compatible |
3636
| User cost predictability| Unpredictable (rental + usage) | Predictable | Predictable |
3737
| Store discounts | ❌ Single price only | ✅ Store discounts available | ✅ Store discounts available |
38-
| Marketing boost | Standard visibility | Priority store placement | Priority store placement |
38+
| Marketing boost | Standard visibility | Standard visibility | Priority store placement |
3939
| Commission opportunities| Standard 20% | Standard 20% | Promotional 0% periods |
4040
| Custom event billing | Not available | Not available | ✅ Charge for any event |
4141
| Per-result billing | Not available | ✅ Charge per dataset item | Optional (via event) |

0 commit comments

Comments
 (0)