Tech stack
Tech stack
Detect the technologies powering each prospect's website (CMS, JavaScript frameworks, analytics suites, payment processors, hosting and CDN) and return one structured row per site.
Typical use cases:
- Qualify prospects by maturity (custom build vs. drag-and-drop site builder).
- Filter by buying signal (already running paid analytics, already accepting cards).
- Route leads to the right offer based on the platform they operate.
Inputs
Items without a resolvable site_web are dropped before billing.
| Field | Type | Required | Notes |
|---|---|---|---|
items |
array | yes | 1 to 10,000 POI rows |
items[].site_web |
string | yes | HTTP(S) URL of the website to fingerprint |
source_job_id |
string | no | UUID of an upstream job to chain from |
Outputs
Each input row keeps its original columns and gains the columns below. Detection is best-effort: any cell may be empty when the signal is absent or ambiguous. Multi-value cells are joined with \|.
| Column | Description |
|---|---|
status |
Reachability of the site, same values as dead_check (alive, stale, dead, unknown, aggregator). |
cms, cms_version |
Content management system or site builder, and its version when exposed. |
cms_outdated |
yes, no, unknown or n/a. |
page_builder |
Page builder (for WordPress sites, for example). |
frameworks_js, frameworks_css |
JavaScript and CSS frameworks. |
analytics |
Analytics products. |
marketing_crm |
Marketing automation and CRM tools. |
chat |
Chat widgets. |
payment, ecommerce |
Payment providers and e-commerce platforms. |
hosting_cdn |
Hosting provider and CDN. |
tag_manager, ab_testing |
Tag managers and A/B testing tools. |
compliance |
Consent and compliance tools. |
ad_pixels |
Advertising pixels. |
wp_plugins |
WordPress plugins and themes detected. |
schema_types |
schema.org types found on the page. |
schema_telephone, schema_address, schema_opening_hours |
Values declared in the site's own structured data. |
tech_alerts |
Notable technical alerts (outdated CMS, for example). |
tech_all_json |
Full detection as JSON, one entry per technology. |
The full per-site report (three-tier hierarchy, business signals, technical metadata) is available on the job detail page. The registry lists tech_cms, tech_analytics and tech_ads_pixels under produces: these are signals that correspond to the cms, analytics and ad_pixels columns above.
The file also carries cms_version, frameworks_css, ecommerce, ab_testing, schema_address and schema_opening_hours (address and opening hours declared in the site's structured data, when present).
Lifecycle
Standard outsend job lifecycle; see /docs/concepts/jobs-lifecycle. Progress is reported per site, in the sites unit.
Pipeline
needs: [site_web]
produces: [tech_cms, tech_analytics, tech_ads_pixels]
Any upstream module that emits site_web (scrap being the canonical source) can feed techstack.
Endpoints
Create a job
POST /api/jobs/techstack
{
"items": [
{ "site_web": "https://example.com" },
{ "site_web": "https://another.example" }
],
"source_job_id": "8b3e…optional"
}
Returns the created job with its id and initial pending status.
Inspect a job
GET /api/jobs/{job_id}
Stream progress
GET /api/jobs/{job_id}/stream
Server-sent events, one event per processed site plus terminal status transitions.
Download results
GET /api/jobs/{job_id}/download
Returns the enriched list. Each row carries the original POI fields plus the columns documented in Outputs.
Limits
See /docs/concepts/limits for global limits. URL scheme must be http:// or https://. A job with zero valid items after site_web filtering is rejected with 400.
Errors
| HTTP | Code / message | When it happens |
|---|---|---|
| 400 | Aucun établissement avec site web |
No item in the payload has a usable site_web. |
| 400 | Quota dépassé |
The job's EF cost exceeds MAX_EF_PER_JOB. |
| 400 | Validation error | Payload shape invalid (size, missing fields, bad types). |
Errors are returned as JSON with a detail field. Once a job is running, per-item failures land in the result row (empty columns) rather than as HTTP errors.
What's next
The techstack output composes naturally with:
pricing: extract published prices and plans from the same sites.ads_intelligence: profile marketing maturity (pixels, retargeting, CMP, CRM).pagespeed: measure real-world performance and Core Web Vitals.