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

Search

Search for desktop apps by SDK usage, runtime, platform, and more. Find apps missing a specific SDK (greenfield) or using a competitor.

GET /v1/search — Find desktop apps by what technologies they use (or don't use). The core endpoint for sales prospecting, competitive intelligence, and TAM sizing.

API at a glance

  • Base URL: https://desktopinsights.com/api/v1/search
  • Method: GET
  • Auth: Authorization: Bearer <API_KEY>
  • Required: At least one filter param (see below)
  • Key filters: errorTrackingSdk, analyticsSdk, featureFlagSdk, runtime, platform, developer
  • Greenfield: Pass null as a filter value to find apps without an SDK (e.g., errorTrackingSdk=null)
  • Pagination: limit (default 50, max 500) and offset
  • Response: JSON with data[] array of app objects with sdkSummary, plus meta.totalCount

Parameters

All parameters are optional, but at least one filter is required. Multiple filters are AND-ed together.

SDK filters

Pass any SDK category to filter by. Use a specific value like Sentry to find apps using that SDK, or null to find apps without any SDK in that category (greenfield prospecting).

ParameterExample values
errorTrackingSdkSentry, Bugsnag, Crashpad, Datadog, null
analyticsSdkAmplitude, PostHog, Mixpanel, Segment, null
featureFlagSdkLaunchDarkly, Statsig, Unleash, null
databaseSdkSQLite, Realm, electron-store, null
uiFrameworkReact, Vue, Angular, Qt, null
stateManagementRedux, MobX, Zustand, null
paymentsSdkStripe, null
authSdkAuth0, null
observabilitySdkOpenTelemetry, Winston, null
realtimeSdkSocket.IO, WebRTC, null
autoUpdateSdkelectron-updater, Sparkle, null

Other filters

ParameterTypeDescription
runtimestringelectron, native, qt, flutter, dotnet, jvm, etc. Exact match on the stored value, except two families: dotnet matches the whole .NET family (dotnet, dotnet-framework, dotnet-<version>, …), and native matches every native app: swift, cocoa (Objective-C/AppKit) and native (a native binary not classified further) — the same apps as the stats page's "Native (Swift/ObjC)" + "Native (unclassified)". Pass a specific value such as dotnet-framework, swift or cocoa to match only that one; the bare dotnet and native labels cannot be selected on their own.
platformstringmacos or windows
developerstringPartial match on developer/company name

Date filters

ParameterTypeDescription
updatedAfterISO dateReleased after: apps whose latest vendor release (lastUpdatedAt) is on or after this date. Apps with no known vendor release date — most apps — are excluded.
updatedWithinstringReleased within: 30d, 90d, 365d, … Same column and the same exclusion as updatedAfter.
scannedAfterISO dateScanned after: apps we last scanned (extractedAt) on or after this date.
createdAfterISO dateApps first added to Desktop Insights on or after this date.

Pagination

ParameterTypeDefaultDescription
limitinteger50Max results per page (max 500)
offsetinteger0Skip this many results

Use cases

Greenfield prospecting

Find Electron apps with no error tracking SDK — prime targets for Sentry, Bugsnag, etc.:

curl "https://desktopinsights.com/api/v1/search?errorTrackingSdk=null&runtime=electron&platform=macos" \
  -H "Authorization: Bearer di_live_your_key_here"

Competitive intelligence

Find every app using Sentry for error tracking:

curl "https://desktopinsights.com/api/v1/search?errorTrackingSdk=Sentry" \
  -H "Authorization: Bearer di_live_your_key_here"

TAM sizing

Count all Electron apps across both platforms:

curl "https://desktopinsights.com/api/v1/search?runtime=electron&limit=1" \
  -H "Authorization: Bearer di_live_your_key_here"

Check meta.totalCount in the response for the full count without fetching all results.

Combined filters

Find macOS Electron apps using React but no analytics SDK:

curl "https://desktopinsights.com/api/v1/search?uiFramework=React&analyticsSdk=null&runtime=electron&platform=macos" \
  -H "Authorization: Bearer di_live_your_key_here"

Example response

{
  "data": [{
    "name": "Linear",
    "slug": "linear",
    "platform": "macos",
    "developer": "Linear Orbit, Inc.",
    "developerWebsite": null,
    "runtime": "electron",
    "currentVersion": "1.55.0",
    "electronVersion": "35.2.1",
    "appSizeBytes": 268435456,
    "architectures": ["arm64"],
    "dependencyCount": 38,
    "measurementStatus": "measured",
    "notMeasuredReason": null,
    "sdkSummary": {
      "errorTrackingSdk": null,
      "analyticsSdk": null,
      "featureFlagSdk": null,
      "databaseSdk": "SQLite",
      "uiFramework": "React",
      "stateManagement": "MobX",
      "paymentsSdk": null,
      "authSdk": null,
      "observabilitySdk": "electron-log",
      "realtimeSdk": null,
      "autoUpdateSdk": "electron-updater"
    },
    "extractedAt": "2026-03-29T20:57:11.783Z"
  }],
  "meta": {
    "requestId": "req_f0480c69ab12",
    "resultCount": 1,
    "totalCount": 247,
    "limit": 50,
    "offset": 0,
    "filters": {
      "errorTrackingSdk": null,
      "runtime": "electron"
    }
  }
}

Response fields

App object (compact)

Search results return a compact app object. Use Lookup for the full profile including technologies array.

FieldTypeDescription
namestringDisplay name
slugstringURL-safe identifier
platformstringmacos or windows
developerstring or nullDeveloper/company name
developerWebsitestring or nullDeveloper website URL
runtimestringApp runtime/framework
currentVersionstring or nullLatest detected version; null when no version could be determined
electronVersionstring or nullElectron version if applicable
appSizeBytesintegerApp bundle size in bytes
architecturesstring[]CPU architectures
dependencyCountinteger | nullTotal detected dependencies. null when the dependencies were not measured (the scan did not complete) — never read as 0. Not-measured apps are excluded by minDependencyCount / maxDependencyCount and sort last on sort=dependency_count
measurementStatusstringmeasured or not_measured
notMeasuredReasonstring | nullWhy the dependencies were not measured: extraction-failed, unexpanded-installer (installer could not be opened), unverified-bare-exe (download could not be verified as the app), foreign-binary, empty; null when measured or when no reason was recorded
sdkSummaryobjectSDK detection results (see Lookup docs)
extractedAtstringISO 8601 timestamp of our latest scan
lastUpdatedAtstring | nullISO 8601 date of the latest vendor release we have on record. null when no vendor release date is known — the case for most apps since 2026-10-06, when scan dates stopped standing in for it. Not the scan date; that is extractedAt. Sorts last on sort=last_updated_at in either order.

Meta object

FieldTypeDescription
requestIdstringUnique request identifier
resultCountintegerNumber of results in this page
totalCountintegerTotal matching apps across all pages
limitintegerPage size used
offsetintegerOffset used
filtersobjectEcho of applied filters (null values indicate greenfield filters)

Pagination

Use limit and offset to page through results:

# Page 1 (first 50)
curl "https://desktopinsights.com/api/v1/search?runtime=electron&limit=50&offset=0" \
  -H "Authorization: Bearer di_live_your_key_here"

# Page 2 (next 50)
curl "https://desktopinsights.com/api/v1/search?runtime=electron&limit=50&offset=50" \
  -H "Authorization: Bearer di_live_your_key_here"

Tips for Clay users

Use this endpoint with Clay's HTTP API enrichment to build prospecting lists. See the Clay Integration guide for setup instructions.

Example Clay workflow:

  1. Use Search to find all Electron apps without error tracking
  2. Map developer and developerWebsite columns
  3. Chain with Apollo or Hunter enrichment to find contacts at those companies
  4. Build your outreach sequence
Desktop Insights

BuiltWith for desktop apps. We extract the SDKs, frameworks, and dependency versions from thousands of shipped macOS and Windows applications and track how they change release by release.

© 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