App Scanner
App Scanner
Detects whether a domain has a web application or login area. Use this enrichment to identify companies that have built software products, helping you qualify leads for B2B SaaS sales, partnership opportunities, or competitive analysis.
[!NOTE]
See the API Guide for the shared request lifecycle (sync, async polling, async webhook), error envelope, rate limits, custom_vars, and deduplication. This page documents only the fields and behaviour unique to this endpoint.
Try it
Pricing
Endpoint
Examples
Output Fields
Detection Result Values
| Value |
Description |
app |
A web application interface was detected (e.g., dashboard, portal, admin panel) |
login |
A login or authentication page was detected, but no app interface was found |
none |
No application or login area was detected on this domain |
Detection Priority
When multiple signals are found, the enrichment returns the highest priority match:
- App subdomains - Subdomains like
app., portal., dashboard., console., my., admin., panel., client., member., user., account.
- App paths - URL paths containing
/app, /dashboard, /portal, /console, /admin, /panel
- Login subdomains - Subdomains like
login., auth., signin., sso., accounts., id., identity.
- Login paths - URL paths containing
/login, /signin, /sign-in, /auth, /account, /member, /signup, /register, /profile, /settings
If an app subdomain exists, it takes priority over login paths on the main domain.
Error Responses
Validation Error (422)
{
"message": "The domain field is required.",
"errors": {
"domain": ["The domain field is required."]
}
}
Failed Enrichment (422 Unprocessable Entity)
When the enrichment fails, the HTTP status code is 422 and the response body contains "status": "failed" with an error_message:
{
"id": 123,
"type": "app_scanner",
"status": "failed",
"input": {
"domain": "invalid-domain"
},
"output": null,
"error_message": "Unable to analyze domain"
}
Typical Response Times
- Average: 5-10 seconds
- Maximum timeout: 60 seconds
The scanner checks multiple subdomains and analyzes page content concurrently to minimize response time.