Preview companies by tech stack
curl --request POST \
--url https://app.pipecorn.com/api/v2/intents/accounts/stack/preview \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"stacks": [
"shopify",
"webflow"
],
"stack_match": "or",
"excluded_stacks": [
"wordpress"
],
"countries": [
"US",
"FR"
],
"included_industries": [
"2190",
"34"
],
"excluded_industries": [
"27"
],
"company_size": [
"11-50",
"51-200"
]
}
'import requests
url = "https://app.pipecorn.com/api/v2/intents/accounts/stack/preview"
payload = {
"stacks": ["shopify", "webflow"],
"stack_match": "or",
"excluded_stacks": ["wordpress"],
"countries": ["US", "FR"],
"included_industries": ["2190", "34"],
"excluded_industries": ["27"],
"company_size": ["11-50", "51-200"]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
stacks: ['shopify', 'webflow'],
stack_match: 'or',
excluded_stacks: ['wordpress'],
countries: ['US', 'FR'],
included_industries: ['2190', '34'],
excluded_industries: ['27'],
company_size: ['11-50', '51-200']
})
};
fetch('https://app.pipecorn.com/api/v2/intents/accounts/stack/preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.pipecorn.com/api/v2/intents/accounts/stack/preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'stacks' => [
'shopify',
'webflow'
],
'stack_match' => 'or',
'excluded_stacks' => [
'wordpress'
],
'countries' => [
'US',
'FR'
],
'included_industries' => [
'2190',
'34'
],
'excluded_industries' => [
'27'
],
'company_size' => [
'11-50',
'51-200'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.pipecorn.com/api/v2/intents/accounts/stack/preview"
payload := strings.NewReader("{\n \"stacks\": [\n \"shopify\",\n \"webflow\"\n ],\n \"stack_match\": \"or\",\n \"excluded_stacks\": [\n \"wordpress\"\n ],\n \"countries\": [\n \"US\",\n \"FR\"\n ],\n \"included_industries\": [\n \"2190\",\n \"34\"\n ],\n \"excluded_industries\": [\n \"27\"\n ],\n \"company_size\": [\n \"11-50\",\n \"51-200\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.pipecorn.com/api/v2/intents/accounts/stack/preview")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"stacks\": [\n \"shopify\",\n \"webflow\"\n ],\n \"stack_match\": \"or\",\n \"excluded_stacks\": [\n \"wordpress\"\n ],\n \"countries\": [\n \"US\",\n \"FR\"\n ],\n \"included_industries\": [\n \"2190\",\n \"34\"\n ],\n \"excluded_industries\": [\n \"27\"\n ],\n \"company_size\": [\n \"11-50\",\n \"51-200\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.pipecorn.com/api/v2/intents/accounts/stack/preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"stacks\": [\n \"shopify\",\n \"webflow\"\n ],\n \"stack_match\": \"or\",\n \"excluded_stacks\": [\n \"wordpress\"\n ],\n \"countries\": [\n \"US\",\n \"FR\"\n ],\n \"included_industries\": [\n \"2190\",\n \"34\"\n ],\n \"excluded_industries\": [\n \"27\"\n ],\n \"company_size\": [\n \"11-50\",\n \"51-200\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"total_count": 428,
"preview": [
{
"name": "Acme",
"domain": "acme.com",
"website": "https://acme.com",
"industry": "Software Development",
"location": "Paris France",
"city": "Paris",
"country": "France",
"linkedin_url": "https://linkedin.com/company/acme",
"technologies_found": [
{
"technology_name": "Shopify",
"confidence": "high",
"job_mentions": 3
}
]
}
]
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Signals
Find companies by tech stack (preview)
Count and preview companies using a given technology stack
POST
/
intents
/
accounts
/
stack
/
preview
Preview companies by tech stack
curl --request POST \
--url https://app.pipecorn.com/api/v2/intents/accounts/stack/preview \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"stacks": [
"shopify",
"webflow"
],
"stack_match": "or",
"excluded_stacks": [
"wordpress"
],
"countries": [
"US",
"FR"
],
"included_industries": [
"2190",
"34"
],
"excluded_industries": [
"27"
],
"company_size": [
"11-50",
"51-200"
]
}
'import requests
url = "https://app.pipecorn.com/api/v2/intents/accounts/stack/preview"
payload = {
"stacks": ["shopify", "webflow"],
"stack_match": "or",
"excluded_stacks": ["wordpress"],
"countries": ["US", "FR"],
"included_industries": ["2190", "34"],
"excluded_industries": ["27"],
"company_size": ["11-50", "51-200"]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
stacks: ['shopify', 'webflow'],
stack_match: 'or',
excluded_stacks: ['wordpress'],
countries: ['US', 'FR'],
included_industries: ['2190', '34'],
excluded_industries: ['27'],
company_size: ['11-50', '51-200']
})
};
fetch('https://app.pipecorn.com/api/v2/intents/accounts/stack/preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.pipecorn.com/api/v2/intents/accounts/stack/preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'stacks' => [
'shopify',
'webflow'
],
'stack_match' => 'or',
'excluded_stacks' => [
'wordpress'
],
'countries' => [
'US',
'FR'
],
'included_industries' => [
'2190',
'34'
],
'excluded_industries' => [
'27'
],
'company_size' => [
'11-50',
'51-200'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.pipecorn.com/api/v2/intents/accounts/stack/preview"
payload := strings.NewReader("{\n \"stacks\": [\n \"shopify\",\n \"webflow\"\n ],\n \"stack_match\": \"or\",\n \"excluded_stacks\": [\n \"wordpress\"\n ],\n \"countries\": [\n \"US\",\n \"FR\"\n ],\n \"included_industries\": [\n \"2190\",\n \"34\"\n ],\n \"excluded_industries\": [\n \"27\"\n ],\n \"company_size\": [\n \"11-50\",\n \"51-200\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.pipecorn.com/api/v2/intents/accounts/stack/preview")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"stacks\": [\n \"shopify\",\n \"webflow\"\n ],\n \"stack_match\": \"or\",\n \"excluded_stacks\": [\n \"wordpress\"\n ],\n \"countries\": [\n \"US\",\n \"FR\"\n ],\n \"included_industries\": [\n \"2190\",\n \"34\"\n ],\n \"excluded_industries\": [\n \"27\"\n ],\n \"company_size\": [\n \"11-50\",\n \"51-200\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.pipecorn.com/api/v2/intents/accounts/stack/preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"stacks\": [\n \"shopify\",\n \"webflow\"\n ],\n \"stack_match\": \"or\",\n \"excluded_stacks\": [\n \"wordpress\"\n ],\n \"countries\": [\n \"US\",\n \"FR\"\n ],\n \"included_industries\": [\n \"2190\",\n \"34\"\n ],\n \"excluded_industries\": [\n \"27\"\n ],\n \"company_size\": [\n \"11-50\",\n \"51-200\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"total_count": 428,
"preview": [
{
"name": "Acme",
"domain": "acme.com",
"website": "https://acme.com",
"industry": "Software Development",
"location": "Paris France",
"city": "Paris",
"country": "France",
"linkedin_url": "https://linkedin.com/company/acme",
"technologies_found": [
{
"technology_name": "Shopify",
"confidence": "high",
"job_mentions": 3
}
]
}
]
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Size a segment of companies by the technologies they use before spending any
credits. This is the free, first step of the two-step tech-stack search:
Company identifiers in the preview may be blurred;
- Preview (this endpoint) — returns the exact total match count plus a blurred company sample. No credits.
- Extract — starts an async import and delivers the full company records to your webhook. Spends enrichment credits.
Credits and rate limits
- Credits: free — no credits are spent
- Authentication: standard v2 scheme (
X-API-KEY)
Resolving technology slugs
stacks and excluded_stacks take technology slugs, not display names.
Resolve names to slugs with the
Technology slug lookup
endpoint.
Example request
{
"stacks": ["shopify", "webflow"],
"stack_match": "or",
"countries": ["US", "FR"],
"included_industries": ["2190"],
"company_size": ["11-50", "51-200"]
}
Example response
{
"total_count": 428,
"preview": [
{
"name": "Acme",
"domain": "acme.com",
"website": "https://acme.com",
"industry": "Software Development",
"location": "Paris France",
"city": "Paris",
"country": "France",
"linkedin_url": "https://linkedin.com/company/acme",
"technologies_found": [
{ "technology_name": "Shopify", "confidence": "high", "job_mentions": 3 }
]
}
]
}
total_count is exact.
For the complete list of industry IDs used by included_industries /
excluded_industries, see the
LinkedIn Industry List.Authorizations
Body
application/json
Technology slugs to match. Resolve names to slugs with GET /accounts/technologies.
Example:
["shopify", "webflow"]
How stacks combine. or matches companies using any listed technology; and requires all of them.
Available options:
or, and Example:
"or"
Technology slugs to exclude.
Example:
["wordpress"]
ISO country codes, OR-matched against the company's country.
Example:
["US", "FR"]
LinkedIn industry IDs to include, OR-matched.
Example:
["2190", "34"]
LinkedIn industry IDs to exclude.
Example:
["27"]
Company size display buckets to include.
Available options:
Self-employed, 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+ Example:
["11-50", "51-200"]
Was this page helpful?