Pricing
| Apify plan | Per result | Per 1,000 |
|---|---|---|
| Free plan | $0.02 | $20 |
| Starter | $0.016 | $16 |
| Scale | $0.014 | $14 |
| Business | $0.012 | $12 |
| Enterprise | $0.012 | $12 |
| Enterprise+ | $0.012 | $12 |
Primary event rates from a catalog snapshot; this is not the total price of a run. Additional charge events and Actor Start fees may apply; start fees can scale with memory. Check the Actor's Pricing tab on Apify for all events, conditions and current plan-specific rates, and set a maximum run budget before starting.
Sample output
{
"domain": "apify.com",
"startUrl": "https://apify.com",
"title": "Apify: Marketplace of ready-to-run tools for AI",
"description": "Thousands of tools to automate your business. Get real-time web data, track competitors, generate leads, and integrate your apps and AI agents.",
"generator": null,
"cms": [],
"ecommerce": [],
"analytics": [
"Google Tag Manager"
],
"advertising": [],
"emailMarketing": [
"HubSpot"
],
"chat": [
"Intercom"
],
"payments": [],
"frameworks": [
"Next.js"
],
"cookieConsent": [
"OneTrust"
],
"cdn": [
"Amazon CloudFront"
],
"server": [],
"primaryCms": null,
"primaryEcommerce": null,
"isEcommerce": false,
"trackingIds": {
"gtm": [
"GTM-MNGXGGB"
]
},
"technologies": [
{
"name": "Algolia",
"categories": [
"Search engines"
],
"version": null,
"confidence": 100
},
{
"name": "Amazon CloudFront",
"categories": [
"CDN"
],
"version": null,
"confidence": 100
},
{
"name": "Amazon S3",
"categories": [
"CDN"
],
"version": null,
"confidence": 100
}
],
"technologyCount": 11,
"byCategory": {
"Search engines": [
"Algolia"
],
"CDN": [
"Amazon CloudFront",
"Amazon S3"
],
"PaaS": [
"Amazon Web Services"
],
"Documentation": [
"Docusaurus"
],
"Static site generator": [
"Docusaurus"
],
"Security": [
"HSTS"
],
"Miscellaneous": [
"HTTP/3",
"Webpack"
],
"Analytics": [
"Leadfeeder",
"Linkedin Insight Tag"
],
"JavaScript frameworks": [
"React"
]
},
"pagesCrawled": 3,
"scrapedAt": "2026-10-03T15:21:12.177Z",
"error": null
}Call from code
Use the existing catalog input below as a starting point. Review the tool's input form on Apify before running it.
import json
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("webdatatools/tech-stack-detector").call(run_input=json.loads("{\n \"startUrls\": [\n {\n \"url\": \"https://apify.com\"\n }\n ],\n \"maxPagesPerDomain\": 3,\n \"categories\": []\n}"))
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('webdatatools/tech-stack-detector').call({
"startUrls": [
{
"url": "https://apify.com"
}
],
"maxPagesPerDomain": 3,
"categories": []
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);curl -X POST "https://api.apify.com/v2/acts/webdatatools~tech-stack-detector/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://apify.com"}],"maxPagesPerDomain":3,"categories":[]}'