{
  "openapi": "3.0.1",
  "info": {
    "title": "Website Tech Stack Detector – BuiltWith Alternative",
    "description": "Find the tech stack of any website: CMS, ecommerce platform, analytics, CDN, hosting, frameworks and 7,600+ tools. Scan thousands of sites or a Google Maps dataset. Unreachable sites are free.",
    "version": "0.1",
    "x-build-id": "9qiu1xg0WrsRu7dJK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dbsimpjr28~website-tech-detector/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dbsimpjr28-website-tech-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/dbsimpjr28~website-tech-detector/runs": {
      "post": {
        "operationId": "runs-sync-dbsimpjr28-website-tech-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/dbsimpjr28~website-tech-detector/run-sync": {
      "post": {
        "operationId": "run-sync-dbsimpjr28-website-tech-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",
        "properties": {
          "startUrls": {
            "title": "Websites",
            "type": "array",
            "description": "Website URLs or bare domains (e.g. example.com). One row per site; duplicates are removed.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "datasetId": {
            "title": "Or: Apify dataset ID",
            "type": "string",
            "description": "Analyze every website in an existing dataset, for example the output of a Google Maps or Google Search scraper run. Each source row is copied into the result under \"source\"."
          },
          "websiteField": {
            "title": "Website field in that dataset",
            "type": "string",
            "description": "Column holding the URL. Google Maps scrapers use \"website\". Dot paths like \"company.url\" work.",
            "default": "website"
          },
          "maxSites": {
            "title": "Max websites",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many websites.",
            "default": 10000
          },
          "maxPagesPerSite": {
            "title": "Pages per site",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "1 = homepage only (fastest). 2–3 also scans a shop/pricing/blog/about page, which finds a few more tools.",
            "default": 1
          },
          "categories": {
            "title": "Only output sites using these categories",
            "type": "array",
            "description": "Leave empty for all sites. Example: pick \"Ecommerce\" to get only online stores. Sites filtered out are not charged.",
            "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"
              ]
            }
          },
          "technologyFilter": {
            "title": "Only output sites using any of these technologies",
            "type": "array",
            "description": "Technology names as they appear in the output, e.g. Shopify, WordPress, HubSpot, Klaviyo. Case-insensitive. Sites filtered out are not charged.",
            "items": {
              "type": "string"
            }
          },
          "minConfidence": {
            "title": "Minimum confidence",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Hide detections below this confidence (0–100). Most detections are 100; weak single hints score 25–50.",
            "default": 50
          },
          "includeDns": {
            "title": "Check DNS records",
            "type": "boolean",
            "description": "Look up NS, MX, SOA, CNAME and TXT records to detect DNS hosting, email providers and SaaS domain verifications. Adds about 0.1 s per site.",
            "default": true
          },
          "includeContacts": {
            "title": "Include contacts",
            "type": "boolean",
            "description": "Also extract emails, phone numbers and social profile links from the scanned pages. No extra charge.",
            "default": false
          },
          "includeEvidence": {
            "title": "Include detection evidence",
            "type": "boolean",
            "description": "Adds the matched rule and snippet for each technology. Useful for auditing results.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Parallel sites",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many websites to scan at the same time.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed for most websites. Turn on Apify Proxy if many sites return http-403.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}