{
  "openapi": "3.0.1",
  "info": {
    "title": "Website Tech Stack Detector: CMS, Frameworks, Analytics",
    "description": "Find what technology a website uses: CMS (WordPress, Shopify), frameworks, analytics, ad tech, CDN, hosting and email provider. Bulk tech stack lookup for lead lists, 7,600+ technologies. Never charges for a failed or empty result.",
    "version": "0.1",
    "x-build-id": "LQvkj15ZbgKGjokwM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/pavel.tashev~website-tech-stack-detector/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-pavel.tashev-website-tech-stack-detector",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/pavel.tashev~website-tech-stack-detector/runs": {
      "post": {
        "operationId": "runs-sync-pavel.tashev-website-tech-stack-detector",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/pavel.tashev~website-tech-stack-detector/run-sync": {
      "post": {
        "operationId": "run-sync-pavel.tashev-website-tech-stack-detector",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "startUrls"
        ],
        "properties": {
          "startUrls": {
            "title": "Websites",
            "type": "array",
            "description": "Domains or URLs to analyze, one per line, for example apify.com, https://www.shopify.com or www.example.com/shop. The page you enter (usually the homepage) is loaded once per website.",
            "items": {
              "type": "string"
            }
          },
          "includeDns": {
            "title": "Check DNS records",
            "type": "boolean",
            "description": "Also look up the domain's MX, TXT, NS and SOA records to find the email provider (for example Google Workspace or Microsoft 365), DNS host and SaaS tools that verified the domain. These are listed separately in emailProviders and dnsServices.",
            "default": true
          },
          "includeCategories": {
            "title": "Only these categories",
            "type": "array",
            "description": "Keep only technologies from these categories, for example CMS, Ecommerce or Analytics. Leave empty to keep everything.",
            "items": {
              "type": "string",
              "enum": [
                "A/B Testing",
                "Accessibility",
                "Accounting",
                "Advertising",
                "Affiliate programs",
                "Analytics",
                "Appointment scheduling",
                "Artificial Intelligence",
                "Augmented reality",
                "Authentication",
                "Blogs",
                "Browser fingerprinting",
                "Buy now pay later",
                "CDN",
                "CI",
                "CMS",
                "CRM",
                "Caching",
                "Cart abandonment",
                "Comment systems",
                "Containers",
                "Content curation",
                "Control systems",
                "Cookie compliance",
                "Cross border ecommerce",
                "Cryptominers",
                "Customer data platform",
                "DMS",
                "Database managers",
                "Databases",
                "Development",
                "Digital asset management",
                "Documentation",
                "Domain parking",
                "Drupal themes",
                "Ecommerce",
                "Ecommerce frontends",
                "Editors",
                "Email",
                "Feature management",
                "Feed readers",
                "Font scripts",
                "Form builders",
                "Fulfilment",
                "Fundraising & donations",
                "Geolocation",
                "Hosting",
                "Hosting panels",
                "IaaS",
                "Issue trackers",
                "JavaScript frameworks",
                "JavaScript graphics",
                "JavaScript libraries",
                "LMS",
                "Live chat",
                "Livestreaming",
                "Load balancers",
                "Loyalty & rewards",
                "Maps",
                "Marketing automation",
                "Media servers",
                "Message boards",
                "Miscellaneous",
                "Mobile frameworks",
                "Network devices",
                "Network storage",
                "Operating systems",
                "PaaS",
                "Page builders",
                "Payment processors",
                "Performance",
                "Personalisation",
                "Photo galleries",
                "Programming languages",
                "RUM",
                "Recruitment & staffing",
                "Referral marketing",
                "Remote access",
                "Reservations & delivery",
                "Retargeting",
                "Returns",
                "Reverse proxies",
                "Reviews",
                "Rich text editors",
                "SEO",
                "SSL/TLS certificate authorities",
                "Search engines",
                "Security",
                "Segmentation",
                "Shipping carriers",
                "Shopify apps",
                "Shopify themes",
                "Static site generator",
                "Surveys",
                "Tag managers",
                "Ticket booking",
                "Translation",
                "UI frameworks",
                "User onboarding",
                "Video players",
                "Web frameworks",
                "Web server extensions",
                "Web servers",
                "Webcams",
                "Webmail",
                "Widgets",
                "Wikis",
                "WordPress plugins",
                "WordPress themes"
              ]
            }
          },
          "maxConcurrency": {
            "title": "Websites in parallel",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many websites are loaded at the same time.",
            "default": 10
          },
          "timeoutSecs": {
            "title": "Timeout per website (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Give up on a website that doesn't respond within this time. Websites that fail are not charged.",
            "default": 20
          },
          "extraPages": {
            "title": "Extra pages per website",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Also check this many other pages on the same site (blog, pricing, shop, cart). A homepage is a marketing page; checkout, analytics and help-desk tools usually live elsewhere. Links found on the homepage are preferred over guessed paths. Each site is still charged once.",
            "default": 0
          },
          "minConfidence": {
            "title": "Minimum confidence",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Drop detections below this confidence (0-100). Leave at 0 to keep everything, including lower-confidence guesses.",
            "default": 0
          },
          "includeSecurity": {
            "title": "Security headers report",
            "type": "boolean",
            "description": "Report which security headers the site sets, which are missing and what each gap means, plus any headers that disclose software versions. Read from the response we already fetch, so it costs nothing extra.",
            "default": true
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}