{
  "openapi": "3.0.1",
  "info": {
    "title": "Tech Stack Detector — Wappalyzer Alternative for Any Website",
    "description": "Detect the tech stack of any website in bulk: CMS, ecommerce platform, analytics, CDN, hosting, JS frameworks, email provider. 3,000+ technologies via plain HTTP + DNS, no browser. $10 per 1,000 domains.",
    "version": "0.1",
    "x-build-id": "iJA7gOEHctMy2qMH4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/factpipe~tech-stack-detector/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-factpipe-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/factpipe~tech-stack-detector/runs": {
      "post": {
        "operationId": "runs-sync-factpipe-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/factpipe~tech-stack-detector/run-sync": {
      "post": {
        "operationId": "run-sync-factpipe-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": [
          "urls"
        ],
        "properties": {
          "urls": {
            "title": "Websites",
            "type": "array",
            "description": "Website URLs or bare domains (e.g. shopify.com). One row per site; duplicates by host (www and non-www count as one) are analyzed once. Bare domains are tried over https first, then http.",
            "items": {
              "type": "string"
            }
          },
          "includeDns": {
            "title": "Include DNS signals",
            "type": "boolean",
            "description": "Also look up MX, TXT, NS and SOA records (via 1.1.1.1 / 8.8.8.8) to detect the email provider, DNS provider, SPF/DMARC and services verified by TXT records (e.g. Google Workspace, Microsoft 365, HubSpot, Zendesk).",
            "default": true
          },
          "categoriesFilter": {
            "title": "Only these categories",
            "type": "array",
            "description": "Optional. Return only technologies in these categories (e.g. CMS, Ecommerce, Analytics). Sites with no matching technology are delivered but not charged. Flat columns like cms and cdn are always filled.",
            "items": {
              "type": "string",
              "enum": [
                "A/B Testing",
                "Accessibility",
                "Accounting",
                "Advertising",
                "Affiliate programs",
                "Analytics",
                "Appointment scheduling",
                "Augmented reality",
                "Authentication",
                "Blogs",
                "Browser fingerprinting",
                "Buy now pay later",
                "Caching",
                "Cart abandonment",
                "CDN",
                "CI",
                "CMS",
                "Comment systems",
                "Containers",
                "Content curation",
                "Control systems",
                "Cookie compliance",
                "CRM",
                "Cross border ecommerce",
                "Cryptominers",
                "Customer data platform",
                "Database managers",
                "Databases",
                "Development",
                "Digital asset management",
                "DMS",
                "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",
                "Live chat",
                "Livestreaming",
                "LMS",
                "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",
                "Recruitment & staffing",
                "Referral marketing",
                "Remote access",
                "Reservations & delivery",
                "Retargeting",
                "Returns",
                "Reverse proxies",
                "Reviews",
                "Rich text editors",
                "RUM",
                "Search engines",
                "Security",
                "Segmentation",
                "SEO",
                "Shipping carriers",
                "Shopify apps",
                "Shopify themes",
                "SSL/TLS certificate authorities",
                "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": "Max concurrency",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many websites are fetched in parallel.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}