POST /web_pixels • Credits: 1 credit per call
Tracking Pixel Detector scans one public web page and returns the advertising and analytics pixels on that page. The response groups the pixel IDs by platform, such as Meta Pixel, LinkedIn Insight Tag, TikTok Pixel, Google Tag Manager and Google Analytics 4. Each call costs 1 credit.
What is a tracking pixel?
A tracking pixel is a small block of JavaScript that a website loads on every page view. The pixel sends the visit back to an advertising platform or an analytics platform. Each pixel carries an account ID, and that ID sits in the page HTML. Tracking Pixel Detector reads the page HTML and extracts those IDs. The presence of a Meta Pixel ID means that the company connected the site to a Meta advertising account.
What does Tracking Pixel Detector do?
A company web page does not state the advertising budget of the company. The page HTML still names every ad platform that the company connected to the site. Tracking Pixel Detector solves that problem. The endpoint fetches the raw HTML of one URL and matches it against a fixed set of pixel patterns. It returns each pixel ID that it finds, grouped by platform, plus a total count. One call covers one URL. Tracking Pixel Detector is a specialized endpoint of the RichAPI web scraper family.
Which endpoint does Tracking Pixel Detector use?
Method:
POSTURL:
https://api.richapi.ai/api/v1/web_pixelsAuthentication:
x-api-keyheaderResponse: Synchronous JSON
Credits: 1 credit per call
How to send a Tracking Pixel Detector request
Copy your API key from the RichAPI dashboard.
Set the
urlparameter to the full page URL.To accept a cached result, set the
cacheparameter totrue.Send a
POSTrequest tohttps://api.richapi.ai/api/v1/web_pixels.Send the API key in the
x-api-keyheader.Read the
data.pixelsobject from the response.
cURL
curl -X POST https://api.richapi.ai/api/v1/web_pixels
-H "x-api-key: YOUR_API_KEY"
-H "Content-Type: application/json"
-d '{
"url": "https://hubspot.com",
"cache": true
}'
Python
import requests
response = requests.post(
"https://api.richapi.ai/api/v1/web_pixels",
headers={"x-api-key": "YOUR_API_KEY"},
json={
"url": "https://hubspot.com",
"cache": True,
},
timeout=60,
)
response.raise_for_status()
print(response.json())
Node.js
const response = await fetch("https://api.richapi.ai/api/v1/web_pixels", {
method: "POST",
headers: {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
url: "https://hubspot.com",
cache: true,
}),
});
const data = await response.json();
console.log(data);
Which parameters does Tracking Pixel Detector accept?
Parameter | Type | Required | Default | Description |
| string | Yes | None | The full HTTP or HTTPS URL of the page to scan for tracking pixels. |
| boolean | No |
| Set to |
The parameter names in the request body match the names in the RichAPI dashboard, the MCP tool web_pixels and the n8n operation web_pixels.
Which pixels does Tracking Pixel Detector find?
Tracking Pixel Detector matches 11 pixel patterns. The key in the data.pixels object names the platform. The value is an array of the account IDs found for that platform.
Key in | Platform | Kind | ID format |
| Meta Pixel (Facebook Pixel) | Advertising | Digits, for example |
| LinkedIn Insight Tag | Advertising | Digits, for example |
| TikTok Pixel | Advertising | Letters and digits, for example |
| X Pixel (Twitter Pixel) | Advertising | Letters and digits, for example |
| Pinterest Tag | Advertising | Digits, for example |
| Snapchat Pixel | Advertising | Hexadecimal with hyphens, for example |
| Google Tag Manager | Tag manager |
|
| Google Analytics 4 | Analytics |
|
| Google Analytics (Universal Analytics) | Analytics |
|
| Microsoft Clarity | Analytics | Letters and digits, for example |
| Hotjar | Analytics | Digits, for example |
Tracking Pixel Detector finds no pixel outside this list. The response holds a key only for a platform with at least one pixel ID. A page with no Pinterest Tag holds no pinterest_tag key.
How do you qualify a company by its ad spend signals?
The six advertising pixels in the table above are the buy signals. A company installs a Meta Pixel, a LinkedIn Insight Tag or a TikTok Pixel to measure paid campaigns on that platform. The pixel is evidence that the company holds an account there and sends traffic to the site.
Use the result to sort a target list:
Send one Tracking Pixel Detector call for the homepage of each company domain.
Read the
data.pixelsobject from each response.Count the advertising keys, such as
facebook_pixel,linkedin_insightandtiktok_pixel.Rank a domain with three or more advertising pixels above a domain with none.
Match the platform to your offer. A
linkedin_insightkey marks a B2B advertiser.
A domain with a LinkedIn Insight Tag and a Meta Pixel runs paid acquisition on two channels. That company is a fit for an ad agency, an attribution tool or a conversion rate product. A domain with only google_analytics_ga4 measures traffic but shows no paid social signal.
What are the limits of pixel detection?
Tracking Pixel Detector matches text patterns against the HTML that the page delivers. That mechanism sets four limits.
Limit | What happens |
One URL per call | Tracking Pixel Detector scans the URL that you send and no other page. A pixel that loads only on a checkout page or a pricing page is absent from a homepage scan. |
Consent gates | If a consent banner loads a pixel only after the visitor accepts cookies, the pixel ID is not in the delivered HTML. Tracking Pixel Detector does not find it. |
Server-side tags | If a company fires a tag from its own server, the account ID never reaches the browser. Tracking Pixel Detector does not find it. |
ID only, no spend | Tracking Pixel Detector returns the account ID. It returns no budget, no campaign and no spend figure. |
Tracking Pixel Detector runs two passes. The first pass reads the raw HTML over HTTP. If the first pass finds zero pixels, the second pass loads the page in a browser and reads the HTML after the JavaScript runs. The second pass catches a pixel that a tag manager injects at run time.
CAUTION: An empty data.pixels object is not proof that the company buys no ads. The scan still costs 1 credit. Confirm a negative result against a second page of the same site.
What does Tracking Pixel Detector return?
Tracking Pixel Detector returns a synchronous JSON response. The following block is an example response for https://hubspot.com. The pixel IDs are illustrative.
{
"data": {
"pixels": {
"facebook_pixel": ["1017371921696996"],
"google_tag_manager": ["GTM-NZBM4G"],
"google_analytics_ga4": ["G-8XKJ2M1Q4P"],
"linkedin_insight": ["63628"],
"tiktok_pixel": ["C4B9RQJ3K7UVN2A0LSDG"],
"hotjar": ["1387381"]
},
"total_pixels_found": 6
},
"meta": {
"cache_hit": false,
"execution_time_ms": 612,
"quality_warning": null
}
}
Which fields does the Tracking Pixel Detector response hold?
Field | Type | Description |
| object | The pixels grouped by platform. Each key is a platform name from the pixel table. Each value is an array of account ID strings. An empty object means that the scan found no pixel. |
| integer | The total count of pixel IDs across every platform. The value is the sum of the array lengths in |
| boolean | The cache status of the response. |
| integer | The time that the call took, in milliseconds. |
| string or null | A note about a degraded result. The value is |
How long does Tracking Pixel Detector cache a result?
Tracking Pixel Detector caches a scanned URL for 12 hours. With cache set to true, a second call for the same URL inside that window returns the cached result, and meta.cache_hit is true. The cache parameter defaults to false, so a call scans the live page. To accept a cached result, set cache to true. A cached call and a live call both cost 1 credit.
How much does Tracking Pixel Detector cost?
Tracking Pixel Detector costs 1 credit per call. 1 credit costs $0.02 on the 1,000 and 5,000 credit packs, and less on larger packs. The table uses $0.02. The credit count does not change with the number of pixels found. A page with 11 pixels and a page with zero pixels both cost 1 credit.
Calls | Credits | Cost |
1 | 1 | $0.02 |
100 | 100 | $2.00 |
1,000 | 1,000 | $20.00 |
10,000 | 10,000 | $200.00 |
To qualify 5,000 domains by ad spend signal, send 5,000 calls. That costs 5,000 credits, or $100.00.
Which errors can Tracking Pixel Detector return?
Status | Meaning | What to do |
| The request body failed validation. | Correct the parameter that the message names. Send a full HTTP or HTTPS URL. |
| The API key is missing, wrong or revoked. | Send a valid key in the |
| The organization has no credits left, or the team reached its monthly spend limit. | Buy credits in the RichAPI dashboard. |
|
| Call |
| The endpoint name is wrong. | Send the request to |
| The request used a method other than | Send the request again with the |
| The service could not process a value, for example a URL that does not start with | Send a full public HTTP or HTTPS URL. |
| The request rate is over the limit. | Wait, then send the request again. For a higher limit, write to [email protected]. |
| The API failed. | Send the request again. If the failure repeats, write to [email protected]. |
| The target page did not load. | Check that the URL opens in a browser. Wait a few seconds, then send the request again. |
| The target page took too long. | Send the request again. |
RichAPI charges no credit for a 400, 401, 402, 403, 404, 405, 422, 429, 500, 502 or 504 response.
Frequently asked questions
Does Tracking Pixel Detector find a Google Ads conversion tag?
Tracking Pixel Detector holds no pattern for a Google Ads conversion tag, so it reports no google_ads key. It detects the Google Tag Manager container ID and the Google Analytics 4 measurement ID on the same page. A google_tag_manager key shows that the company manages tags in a container, but the container contents are not in the page HTML.
Why does the response hold no facebook_pixel key?
Tracking Pixel Detector adds a key to data.pixels only for a platform with at least one pixel ID. A missing facebook_pixel key means that the scanned page carries no Meta Pixel ID in its HTML. Scan a second page of the same site before you record the company as a non-advertiser.
Does a page with no pixels cost a credit?
Yes. Tracking Pixel Detector costs 1 credit for every 200 response, and an empty data.pixels object is a 200 response. RichAPI charges the credit for the scan, not for the number of pixels found.
Can Tracking Pixel Detector read a page behind a login?
No. Tracking Pixel Detector fetches a public URL and sends no session cookie and no credential. To scan a page behind a login, use the public equivalent of that page.
What is the difference between Tracking Pixel Detector and Tech Stack Detector?
Tracking Pixel Detector returns advertising and analytics pixel IDs, such as a Meta Pixel ID and a Google Tag Manager container ID. Tech Stack Detector returns the technology categories of the site, such as the CMS, the CDN, the framework and the payment tools. Use Tracking Pixel Detector for a paid media signal. Use Tech Stack Detector for a build and hosting signal.
How do you scan many domains at once?
Tracking Pixel Detector accepts one URL per call. Send one call per domain, and run the calls in parallel from your own code. One website_intelligence call returns pixels, meta tags, tech stack, social links and emails for one domain. That call costs 5 credits.
