Desktop Insights
  • Apps
  • Tech
  • Statistics
  • Documentation
  • Pricing
Sign InSign Up
    • Getting Started
    • Authentication
    • Errors
    • Lookup
    • Search
    • HTTP API Setup
    • Use Cases
    • Claude Code
    • Claude Desktop
    • Cursor

Lookup

Look up the technology profile of any desktop app. Returns SDKs, frameworks, dependencies, and more.

GET /v1/lookup — Returns detected technologies, SDK summary, and app metadata for a desktop application.

API at a glance

  • Base URL: https://desktopinsights.com/api/v1/lookup
  • Method: GET
  • Auth: Authorization: Bearer <API_KEY>
  • Required param: app (string) — app name or bundle ID
  • Optional param: platform — macos or windows
  • Response: JSON with data[] array containing app, sdkSummary, and technologies objects

Parameters

ParameterTypeRequiredDescription
appstringyesApp name or bundle ID (e.g., Notion or com.figma.Desktop)
platformstringnomacos or windows. Omit to search both.

Example request

curl "https://desktopinsights.com/api/v1/lookup?app=Notion&platform=macos" \
  -H "Authorization: Bearer di_live_your_key_here"

Response

{
  "data": [{
    "app": {
      "name": "Notion",
      "bundleId": null,
      "slug": "notion",
      "developer": "Notion Labs, Incorporated",
      "developerWebsite": null,
      "platform": "macos",
      "currentVersion": "7.9.0",
      "runtime": "electron",
      "electronVersion": "39.6.0",
      "chromiumVersion": null,
      "nodeVersion": null,
      "dependencyCount": 45,
      "appSizeBytes": 285253632,
      "architectures": ["arm64"],
      "minOsVersion": "12.0",
      "localizations": ["en", "ja", "de", "fr", "..."],
      "extractedAt": "2026-03-29T20:57:11.783Z",
      "signed": true,
      "notarized": true,
      "installerType": null,
      "bundledLibraryCount": 3
    },
    "sdkSummary": {
      "errorTrackingSdk": null,
      "analyticsSdk": null,
      "featureFlagSdk": null,
      "databaseSdk": "SQLite",
      "uiFramework": "React",
      "stateManagement": "Redux",
      "paymentsSdk": null,
      "authSdk": null,
      "observabilitySdk": "electron-log",
      "realtimeSdk": null,
      "autoUpdateSdk": "electron-updater"
    },
    "technologies": [{
      "name": "Electron",
      "version": "39.6.0",
      "category": "Runtime",
      "confidence": 100
    }, {
      "name": "React",
      "version": "16.13.1",
      "category": "UI Framework",
      "confidence": 80
    }, {
      "name": "Redux",
      "version": "2.2.3",
      "category": "State Management",
      "confidence": 80
    }, {
      "name": "SQLite",
      "version": "12.4.6",
      "category": "Database",
      "confidence": 80
    }, {
      "name": "electron-updater",
      "version": "4.1.2",
      "category": "Auto-Update",
      "confidence": 80
    }]
  }],
  "meta": {
    "requestId": "req_f0480c69",
    "resultCount": 1,
    "query": "Notion",
    "platform": "macos"
  }
}

App object

Always present in the response.

FieldTypeDescription
namestringDisplay name
bundleIdstring or nullmacOS bundle identifier (e.g., com.figma.Desktop)
slugstringURL-safe identifier
developerstring or nullDeveloper/company name
developerWebsitestring or nullDeveloper website URL (primarily Windows apps)
platformstringmacos or windows
currentVersionstringLatest detected version
runtimestringelectron, native, qt, flutter, dotnet, jvm, rust, python, etc.
electronVersionstring or nullElectron version if applicable
chromiumVersionstring or nullChromium version if detected
dependencyCountintegerTotal detected dependencies
appSizeBytesintegerApp bundle size in bytes
architecturesstring[]["arm64"], ["x86_64"], or ["arm64", "x86_64"]
minOsVersionstringMinimum supported OS version
localizationsstring[]Supported language codes
extractedAtstringISO 8601 timestamp of last extraction
signedboolean or nullWhether the app binary is code-signed
notarizedboolean or nullWhether the app is Apple-notarized (macOS only)
installerTypestring or nullWindows installer type: wix, nsis, inno, msi, etc.
bundledLibraryCountinteger or nullNumber of bundled native libraries detected

SDK summary object

Flat object with one field per major SDK category. Designed to map directly to Clay table columns. null means no SDK was detected in that category.

FieldTypeExample values
errorTrackingSdkstring or nullSentry, Bugsnag, Crashpad, Dynatrace, Rollbar
analyticsSdkstring or nullFirebase Analytics, Amplitude, PostHog, Mixpanel, Segment
featureFlagSdkstring or nullLaunchDarkly, Unleash, Statsig, GrowthBook
databaseSdkstring or nullSQLite, electron-store, Realm, LevelDB, NeDB
uiFrameworkstring or nullReact, Vue, Angular, Qt, Svelte, SwiftUI
stateManagementstring or nullRedux, MobX, Zustand, Jotai, XState
paymentsSdkstring or nullStripe
authSdkstring or nullAuth0, Passport.js
observabilitySdkstring or nullOpenTelemetry, Winston, electron-log, Pino
realtimeSdkstring or nullSocket.IO, WebRTC
autoUpdateSdkstring or nullelectron-updater, Sparkle, Squirrel

Technologies array

Detailed list of detected technologies with version and confidence information.

FieldTypeDescription
namestringTechnology name (e.g., "Sentry", "React")
versionstring or nullDetected version, null if unknown
categorystringCategory (e.g., "Error Tracking", "UI Framework", "Runtime")
confidenceintegerDetection confidence: 100 (package.json), 95 (node_modules), 80 (bundle analysis), 70 (binary libraries)

Name matching

The API resolves app names in four steps:

  1. Alias check — common alternative names are resolved first (e.g., VS Code → Code, Zoom → zoom.us, Figma → figma-desktop)
  2. Exact match — case-insensitive name match (e.g., Slack)
  3. Slug match — matches URL-safe slug prefix (e.g., Figma matches figma-desktop)
  4. Fuzzy match — contains match (e.g., Code finds Code, CodeBuddy, etc.)

For best results, use the exact app name as displayed in the macOS Applications folder or Windows Start menu. Common names like "VS Code", "Zoom", and "Figma" are handled automatically.

Advisories (beta)

Beta. The advisory/KEV signal is a beta feature available to authenticated API keys. Every response object carries "beta": true. The shape may change; do not build hard dependencies on it yet.

Add include=advisories to attach known-advisory exposure for the app's bundled dependencies, derived from public sources (OSV advisories + the CISA Known Exploited Vulnerabilities catalog). Data reflects the current inventory; there is no separate derivation — it reuses the same signal that powers our internal exposure tracking.

curl "https://desktopinsights.com/api/v1/lookup?app=Notion&platform=macos&include=advisories" \
  -H "Authorization: Bearer di_live_your_key_here"

The advisories object (present only when the app has been scanned):

FieldTypeDescription
betabooleanAlways true — this surface is beta.
advisoryCountintegerAdvisory hits across the app's vulnerable components (an advisory affecting N components counts N times, not once). Includes null-CVE GHSA/RUSTSEC advisories.
kevCountintegerAdvisories that appear in the CISA KEV catalog — the sharpest, version-confirmed signal.
worstSeveritystringHighest severity band observed (critical/high/medium/low/unknown).
vulnerableComponentsintegerNumber of distinct package URLs (purls) with at least one advisory.
bySeverityobjectCounts by band: critical, high, medium, low, unknown.
coverageobject | nullHow many components were versioned / unversioned / uncovered for matching (honest about what could be checked).
findingsarrayPer-component detail { purl, type, cves: [{ id, cve, kev, band, published }] } (id = OSV/GHSA id, cve may be null for GHSA/RUSTSEC-only advisories, kev = in CISA KEV, band = severity band, published = advisory publish date). Purls for case-insensitive ecosystems (nuget/npm/pypi) are lower-cased for a consistent identifier.

advisoriesSignal sits alongside the object: "scanned" when the app has advisory data, "not-scanned" when it has never been scanned (in which case advisories is null — absence is never reported as "no advisories").

Coming soon

The following capabilities are under development:

  • include modules for controlling response depth (dependencies, security, compliance, scores)
  • Batch lookups (multiple apps per request)
  • apps parameter for batch requests
Desktop Insights

The only technographics platform for desktop software. See the SDKs, frameworks, and dependencies inside thousands of macOS and Windows applications.

© Copyright 2026 Desktop Insights. All Rights Reserved.

About
  • About
  • Blog
  • Contact
  • Twitter / X
Product
  • Statistics
  • Documentation
  • MCP Server
  • Smithery
  • Glama
Legal
  • Terms of Service
  • Privacy Policy
  • Cookie Policy