Website Technology Checker by Domain | Launch 30% Off avatar

Website Technology Checker by Domain | Launch 30% Off

Pricing

from $16.50 / 1,000 tech stacks

Go to Apify Store
Website Technology Checker by Domain | Launch 30% Off

Website Technology Checker by Domain | Launch 30% Off

Run a website technology checker on your domain list. One row per domain with tech stack names, categories, and last_visited. Index lookup without fetching the site. No proxy, WHOIS, DNS, or SSL.

Pricing

from $16.50 / 1,000 tech stacks

Rating

0.0

(0)

Developer

Winning Solutions

Winning Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Website Technology Checker: Tech Stack Lookup

A lookup Actor that checks detected technologies for your domains at scale. Paste a domain list and the Actor turns each entry into a structured tech stack row automatically.

It returns structured JSON with domain, technology names, categories, contact fields, and lastVisited.

Designed for sales teams, marketers, and agencies, the Actor delivers categorized index data with an honest data timestamp. Crawl-index lookup. No site fetch. No proxy setup.

Launch price: 30% OFF until 8 November 2026

Now $16.50 / 1,000 domains. Regular rate is $24.00 / 1,000 from 8 November 2026.

Same events. Same fields. Lower rate until that date.

Index lookup without site fetch

No HTTP scan. No proxy field.

Enter domains and get each tech stack from a crawl index. The Actor does not load the target page. Each row shows technology names, categories, and lastVisited so you know the data age.

Use Cases

  • Enrich domain lists with technology names and categories for outbound sales
  • Check website tech stacks on prospect domains before outreach
  • Detect CMS and frameworks on competitor sites from a domain list
  • Replace manual one-by-one tech lookups with batch index results
  • Filter lead lists by stack signals such as WordPress or Shopify

Index

Release Notes

v1.1 - Full index fields

  • Contact fields: emails, phoneNumbers, and socialGraphUrls on every result row
  • Grouped stack: technologyGroups, technologyCategories, and fixed category columns

v1.0 - Initial public release

  • Domain list input: Look up up to 100 domains per run from one array field
  • Index lookup: Tech stacks from crawl index with lastVisited on every result row

Features

šŸ” Website technology checker: One dataset row per domain with flat technology names, group rollups, and category columns.

šŸ“‹ Domain list input: Paste domains or URLs. The Actor normalizes hosts and deduplicates exact matches.

šŸ“… Honest data age: Every result row includes lastVisited from the crawl index, not a live scan time.

šŸ·ļø Categorized stack: Technologies include group and category fields, group rollups, and fixed columns such as cms, ecommerce, and cdn.

āš ļø Diagnosis rows: Invalid domains and lookup failures become dataset rows with _metadata.error instead of silent drops.

šŸ†“ Free plan guard: Free plan accounts stop after 10 source calls per run and keep results already written.

šŸ“Š Companion fields: domainRank, country, language, title, description, emails, phone numbers, and social URLs when the index has them.

Pricing

Launch 30% OFF until 8 November 2026. $16.50 / 1,000 domains now. $24.00 / 1,000 from 8 November 2026.

Launch pricing (until 2026-11-08)

Cost itemRate
Tech stack (1 domain)$16.50 / 1,000 domains
Actor start$0.00005 (infrequent)
Apify platform compute (RAM/time)Billed by Apify platform pricing

Regular pricing (from 2026-11-08)

Cost itemRate
Tech stack (1 domain)$24.00 / 1,000 domains
Actor start$0.00005 (infrequent)
Apify platform compute (RAM/time)Billed by Apify platform pricing

Launch cost per domain: ~$0.0165 (30% OFF $0.024). One billed tech-stack row equals one domain lookup in the default run.

Diagnosis rows and invalid domains are not charged. Only delivered result rows with resultCharged true bill as tech-stack.

Free plan limit

Runs from Apify free plan accounts are limited to 10 source calls per run. The run finishes normally at that point and keeps every result already written.

Cost Examples

Based on launch rates in force until 2026-11-08.

Scenario A: 1 domain

  • Actor start: $0.00005
  • 1 domain: $0.0165
  • Total: ~$0.01655

Scenario B: 10 domains

  • Actor start: $0.00005
  • 10 domains: $0.165
  • Total: ~$0.16505

Scenario C: 100 domains

  • Actor start: $0.00005
  • 100 domains: $1.65
  • Total: ~$1.65005

Input

The Actor accepts the following input parameters (see the Input tab in the Apify Console for the full, interactive schema):

ParameterTypeRequiredDefaultDescription
domainsarray of stringyesnoneDomains to look up. One array entry is one domain or URL. The actor uses the host. It does not fetch the page. Empty values after trim are dropped. Exact duplicate hosts run once. www stays part of the host. Max 100 domains per run. More than 100 is rejected. Free plan accounts stop after 10 source calls.

Input Example

{
"domains": ["winning-solutions.de"]
}

API and MCP usage

Runs write one dataset row per domain. Fetch rows from the default dataset after the run succeeds (or use the synchronous endpoint below).

REST (sync, returns dataset items): replace YOUR_USERNAME, YOUR_API_TOKEN, and use the same JSON body as in Input Example.

curl "https://api.apify.com/v2/acts/YOUR_USERNAME~website-technology-stack-lookup/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-X POST \
-H "Content-Type: application/json" \
-d '{"domains":["winning-solutions.de"]}'

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
domains: ['winning-solutions.de'],
};
const run = await client.actor('YOUR_USERNAME~website-technology-stack-lookup').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Apify MCP server (AI agents): configure your MCP client with URL https://mcp.apify.com?tools=YOUR_USERNAME~website-technology-stack-lookup (you can combine multiple tools per Apify MCP docs). Pass the API token via your client (for example an Authorization: Bearer ... header), not inside the Actor input JSON.

Output Structure

The Actor returns structured data for each domain. The table below lists the main fields. Optional dataset views in the Apify Console may show a subset.

FieldTypeDescriptionExample Value
inputDomainstringNormalized host sent to the lookupwinning-solutions.de
domainstringDomain value from the indexwww.winning-solutions.de
titlestring | nullPage title when presentWinning Solutions
descriptionstring | nullMeta description when presentAgency site
metaKeywordsarray | nullMeta keywords when presentnull
domainRanknumber | nullDomain rank when present455
lastVisitedstring | nullCrawl index timestamp for this domain2022-10-10 12:57:46 +00:00
countryIsoCodestring | nullCountry ISO code when presentDE
languageCodestring | nullLanguage code when presentde
contentLanguageCodestring | nullContent language when presentde
emailsarray of stringEmails from the index. Empty array when none["info@example.com"]
phoneNumbersarray of stringPhone numbers from the index. Empty array when none["+49-261-13490322"]
socialGraphUrlsarray of stringSocial URLs from the index. Empty array when none["https://twitter.com/example"]
technologiesarray of objectFlat list with group, category, and name[{"group":"web_development","category":"programming_languages","name":"PHP"}]
technologyNamesarray of stringUnique technology names in first-seen order["PHP","WordPress"]
technologyCountnumberCount of unique technology names2
technologyGroupsarray of objectUnique names rolled up by group[{"group":"web_development","names":["PHP"],"count":1}]
technologyCategoriesarray of objectUnique names rolled up by group and category[{"group":"content","category":"cms","names":["WordPress"],"count":1}]
cmsarray of stringCMS names. Empty array when none["WordPress"]
analyticsarray of stringAnalytics tools. Empty array when none[]
advertisingarray of stringAdvertising tools. Empty array when none[]
ecommercearray of stringEcommerce platforms. Empty array when none[]
paymentProcessorsarray of stringPayment processors. Empty array when none[]
javascriptLibrariesarray of stringJavaScript libraries. Empty array when none["jQuery"]
programmingLanguagesarray of stringProgramming languages. Empty array when none["PHP"]
webServersarray of stringWeb servers. Empty array when none[]
cdnarray of stringCDN names. Empty array when none["Cloudflare"]
databasesarray of stringDatabases. Empty array when none["MySQL"]
paasarray of stringPaaS names. Empty array when none[]
marketingAutomationarray of stringMarketing automation tools. Empty array when none[]
wordpressPluginsarray of stringWordPress plugins. Empty array when none[]
shopifyAppsarray of stringShopify apps. Empty array when none[]
securityarray of stringSecurity tools. Empty array when none[]
_metadata.resultChargedbooleanWhether this row was chargedtrue
_metadata.errorstring | nullPresent on failure / empty diagnostic rows(varies)
_metadata.errorContextstring | nullExtra error context when error is set(varies)

Output Example

{
"inputDomain": "winning-solutions.de",
"domain": "www.winning-solutions.de",
"title": "Winning Solutions",
"description": "Agency site",
"metaKeywords": null,
"domainRank": 455,
"lastVisited": "2022-10-10 12:57:46 +00:00",
"countryIsoCode": "DE",
"languageCode": "de",
"contentLanguageCode": "de",
"emails": ["info@example.com"],
"phoneNumbers": ["+49-261-13490322"],
"socialGraphUrls": ["https://twitter.com/example"],
"technologies": [
{
"group": "web_development",
"category": "programming_languages",
"name": "PHP"
},
{
"group": "content",
"category": "cms",
"name": "WordPress"
}
],
"technologyNames": ["PHP", "WordPress"],
"technologyCount": 2,
"technologyGroups": [
{ "group": "web_development", "names": ["PHP"], "count": 1 },
{ "group": "content", "names": ["WordPress"], "count": 1 }
],
"technologyCategories": [
{ "group": "web_development", "category": "programming_languages", "names": ["PHP"], "count": 1 },
{ "group": "content", "category": "cms", "names": ["WordPress"], "count": 1 }
],
"cms": ["WordPress"],
"analytics": [],
"advertising": [],
"ecommerce": [],
"paymentProcessors": [],
"javascriptLibraries": [],
"programmingLanguages": ["PHP"],
"webServers": [],
"cdn": [],
"databases": [],
"paas": [],
"marketingAutomation": [],
"wordpressPlugins": [],
"shopifyApps": [],
"security": [],
"_metadata": {
"resultCharged": true,
"error": null,
"errorContext": null
}
}