GEThttps://api.deepinfo.com/v1/lookup/webdata

Loads a web page in a real browser and returns everything Deepinfo extracts from it, in one call: detected technologies, page metadata (title, description, Open Graph tags, JSON-LD), the HTML source and visible text, links, scripts, trackers (Google Analytics, AdSense and Tag Manager IDs), e-mail addresses, favicons, robots.txt, and the HTTP response headers, cookies and redirects. Add screenshot=true to capture a screenshot as well.

Use it to profile a website in depth, for example to compare a look-alike domain's page with your own or to find the analytics IDs it shares with other sites. For technologies only, Technology is lighter; for an image only, use Screenshot.

A request takes several seconds (about 10 s in our tests).

Authentication

Send your API key in the apikey request header.

Query Parameters

ParameterRequiredDescription
urlRequired
Web page to analyze, e.g. https://www.deepinfo.com.
Examplehttps://www.deepinfo.com
screenshotOptional
Also capture a JPEG screenshot of the rendered page. The response then includes a screenshot object. Default false.
Exampletrue
wait_untilOptional
Page load events to wait for before the page is parsed, comma-separated. Ignored when screenshot is true: the page is then always parsed after load. One or more of load, domcontentloaded, networkidle0, networkidle2. Default networkidle2,load,domcontentloaded.
Examplenetworkidle2,load,domcontentloaded
max_file_sizeOptional
Maximum size of html.source_code, in bytes. For a larger page, source_code holds a placeholder message instead of the HTML. Range 1–33554432. Default 8388608.
Example8388608
proxyOptional
Proxy to load the page through, as a URL with an explicit port, e.g. http://user:password@host:8080. The proxy host must be a public IP address or an allowed domain.

Response Fields

FieldDescription
url
The requested URL
technology.stacks[]
One entry per detected technology
technology.stacks[].slug
Identifier of the technology
technology.stacks[].name
Name of the technology
technology.stacks[].description
What the technology is
technology.stacks[].categories
Categories it belongs to
technology.stacks[].confidence
Detection confidence (0–100)
technology.stacks[].version
Detected version; empty when the site does not reveal it
technology.stacks[].clean_version
The version as a number, or null
technology.stacks[].cpe
CPE name
technology.stacks[].alternative_cpe_names
Other CPE names of the technology
technology.stacks[].website
The vendor's website
technology.stacks[].icon
Icon file name
html.meta.title
Page title
html.meta.name
Site name given in the page metadata
html.meta.description
Meta description
html.meta.keywords
Meta keywords
html.meta.language
Language of the page
html.meta.language_alternatives
Other language versions the page declares
html.meta.encoding
Character encoding
html.meta.noindex_status
Whether the page asks search engines not to index it
html.meta.canonical_url
Canonical URL
html.meta.og[]
Open Graph and Twitter card tags, one entry per tag
html.meta.og[].name
Tag name
html.meta.og[].value
Tag value
html.meta.json_ld
Structured data blocks, in expanded JSON-LD form
html.source_code
The page HTML. For a page larger than max_file_size, a placeholder message instead of the HTML
html.source_code_hash
SHA-256 hash of html.source_code
html.content
The visible text of the page
html.content_hash
SHA-256 hash of html.content
html.content_keywords
The most frequent words of html.content
html.internal_links_fqdns
Host names on the site's own domain that the page links to
html.external_links
Links to other sites
html.external_links_fqdns
Host names of those links
html.external_links_domains
Registered domains of those links
html.script_links
Scripts the page loads
html.iframe_links
Iframes the page loads
html.favicon_links
Icons the page links to
html.trackers[]
Tracking IDs found in the page, one entry per tracker (e.g. Google Analytics)
html.trackers[].name
Tracker name
html.trackers[].values
IDs found for that tracker
html.emails
E-mail addresses found in the page
html.emails_internal
E-mail addresses found in the page that are on the site's own domain
html.inspect_disabled
Whether the page tries to block inspection of its content
favicon[]
One entry per icon
favicon[].url
Icon URL
favicon[].hash
Hash of the icon
robots_txt.content
Content of the site's robots.txt
robots_txt.hash
Hash of robots_txt.content
robots_txt.disallowed_links
The Disallow paths
http.headers[]
HTTP response headers, one entry per header
http.headers[].name
Header name
http.headers[].value
Header value
http.cookies[]
Cookies the page set, one entry per cookie
http.cookies[].name
Cookie name
http.cookies[].value
Cookie value
http.cookies[].domain
Domain the cookie applies to
http.cookies[].path
Path the cookie applies to
http.cookies[].expires
Expiry time
http.cookies[].secure
Whether the cookie is sent over HTTPS only
http.cookies[].http_only
Whether the cookie is hidden from JavaScript
http.cookies[].same_site
The cookie's SameSite attribute
http.cookies[].same_party
The cookie's SameParty attribute
http.cookies[].priority
The cookie's Priority attribute
http.cookies[].size
Size of the cookie, in bytes
http.cookies[].session
Whether it is a session cookie
http.redirection_history[]
Each URL on the way to the final page
http.redirection_history[].url
The URL
http.redirection_history[].status_code
The HTTP status it returned
screenshot
Only with screenshot=true: the capture, with the screenshot.* fields below
screenshot.url
The requested URL
screenshot.redirected_url
The URL the browser ended up on after redirects
screenshot.screenshot_url
Link to the JPEG image: a signed link that expires after 7 days. null if the capture was skipped
screenshot.connection_status
success when the page was loaded
screenshot.check_date
When the screenshot was taken (UTC)
connection_status
success when the page was loaded
version
Version of the result format (currently 1)
check_date
When the lookup was performed (UTC)

Response Schema

Inferred from examples Built from the 2 saved 2xx example responses: the fields they contain, with the types seen there. It is not a contract.

FieldTypePresentExample
htmlobject2 of 2
html.metaobject2 of 2
html.meta.namestring2 of 2"Deepinfo"
html.meta.descriptionstring2 of 2"Deepinfo is a Continuous Threat Exp…"
html.meta.languagestring2 of 2"en"
html.meta.language_alternativesarray2 of 2
html.meta.keywordsarray2 of 2
html.meta.noindex_statusboolean2 of 2false
html.meta.encodingstring2 of 2"utf-8"
html.meta.canonical_urlstring2 of 2"https://www.deepinfo.com/"
html.meta.titlestring2 of 2"Deepinfo | Continuous Threat Exposu…"
html.meta.json_ldarray<object>2 of 2
html.meta.json_ld[].@idstring2 of 2"https://www.deepinfo.com/#organizat…"
html.meta.json_ld[].@typearray<string>2 of 2"http://schema.org/Organization"
html.meta.json_ld[].*array<object>2 of 2
html.meta.json_ld[].*[].@valuestring2 of 2"Deepinfo"
html.meta.ogarray<object>2 of 2
html.meta.og[].namestring2 of 2"og:site_name"
html.meta.og[].valuestring2 of 2"Deepinfo"
html.internal_links_fqdnsarray<string>2 of 2"www.deepinfo.com"
html.external_links_fqdnsarray<string>2 of 2"linkedin.com"
html.external_links_domainsarray<string>2 of 2"linkedin.com"
html.external_linksarray<string>2 of 2"https://linkedin.com/company/deepin…"
html.script_linksarray<string>2 of 2"https://www.deepinfo.com//static/js…"
html.iframe_linksarray2 of 2
html.trackersarray2 of 2
html.emailsarray2 of 2
html.emails_internalarray2 of 2
html.favicon_linksarray<string>2 of 2"https://www.deepinfo.com//static/im…"
html.inspect_disabledboolean2 of 2false
html.source_codestring2 of 2"<!DOCTYPE html><html lang=\"en\"><hea…"
html.source_code_hashstring2 of 2"ad93f88fec2753e10d83cad96f866788c00…"
html.contentstring2 of 2"Skip to main content Platform PLATF…"
html.content_keywordsarray<string>2 of 2"data"
html.content_hashstring2 of 2"14ab6575f7a485db17770369046e7516de0…"
httpobject2 of 2
http.redirection_historyarray<object>2 of 2
http.redirection_history[].urlstring2 of 2"https://www.deepinfo.com"
http.redirection_history[].status_codenumber2 of 2200
http.cookiesarray<object>2 of 2
http.cookies[].namestring2 of 2"intercom-device-id-xki6sc8r"
http.cookies[].valuestring2 of 2"<cookie value>"
http.cookies[].domainstring2 of 2".www.deepinfo.com"
http.cookies[].pathstring2 of 2"/"
http.cookies[].same_partystring2 of 2"Lax"
http.cookies[].prioritynull2 of 2
http.cookies[].sizenumber2 of 263
http.cookies[].expiresstring2 of 2"2027-06-20T15:18:37.000Z"
http.cookies[].secureboolean2 of 2false
http.cookies[].http_onlyboolean2 of 2false
http.cookies[].same_sitestring2 of 2"Lax"
http.cookies[].sessionboolean2 of 2false
http.headersarray<object>2 of 2
http.headers[].namestring2 of 2"content-type"
http.headers[].valuestring2 of 2"text/html; charset=utf-8"
urlstring2 of 2"https://www.deepinfo.com"
faviconarray<object>2 of 2
favicon[].urlstring2 of 2"https://www.deepinfo.com//static/im…"
favicon[].hashstring2 of 2"b742b1a1b669ce7b299449865e7cf766abd…"
robots_txtobject2 of 2
robots_txt.contentstring2 of 2"# AI training crawlers — explicit a…"
robots_txt.hashstring2 of 2"8a12283023f4ae29941dca8de0633eb44d9…"
robots_txt.disallowed_linksarray<string>2 of 2"/404.html"
versionnumber2 of 21
check_datestring2 of 2"2026-09-23T14:45:19.751Z"
connection_statusstring2 of 2"success"
technologyobject2 of 2
technology.stacksarray<object>2 of 2
technology.stacks[].slugstring2 of 2"cloudflare"
technology.stacks[].namestring2 of 2"Cloudflare"
technology.stacks[].confidencenumber2 of 2100
technology.stacks[].iconstring2 of 2"CloudFlare.svg"
technology.stacks[].websitestring2 of 2"http://www.cloudflare.com"
technology.stacks[].cpestring2 of 2"cpe:/a:deepvendor:cloudflare"
technology.stacks[].versionstring2 of 2""
technology.stacks[].categoriesarray<string>2 of 2"CDN"
technology.stacks[].descriptionstring2 of 2"Cloudflare is a web-infrastructure…"
technology.stacks[].alternative_cpe_namesarray2 of 2
technology.stacks[].clean_versionnull2 of 2
screenshotobject1 of 2
screenshot.screenshot_urlstring1 of 2"https://diss-999.storage.googleapis…"
screenshot.check_datestring1 of 2"2026-09-23T14:45:36.767Z"
screenshot.connection_statusstring1 of 2"success"
screenshot.redirected_urlstring1 of 2"https://www.deepinfo.com/"
screenshot.urlstring1 of 2"https://www.deepinfo.com"

Errors

400 (10400) if url is missing or invalid, or a parameter is out of range. The validation error currently names the parameter domain, although the request parameter is url (see the example). A 400 without parameters (only details, e.g. "Target is not allowed.") means the target cannot be analyzed. 500 for an unexpected error. 503 means the service or its browser is busy: retry after the number of seconds in the Retry-After header. See Getting Started → Errors.

Examples

Saved examples from the Deepinfo API. Selecting one loads it into the request and response panels.

Worked Examples

Worked examples of this endpoint, each on its own page with the exact request and the response it returns.

See all examples

Reference updated