Safeguard
Security Guides•

How do you find every third-party API your services call?

Combine code search, outbound traffic logs and team interviews to list the external APIs your services call, then record an owner for each one.

Safeguard Security Team
4 min read

To find every third-party API your services call, combine three views: what the code says it calls (hostnames, SDK imports, config), what the network shows it calls (egress, DNS and proxy logs), and what teams say they use. Each view misses things the others catch, so you need all three.

Why one method is never enough

Code search finds integrations that are written down. It misses calls built from a hostname stored in a database, a feature flag or an environment variable. Network logs find what actually runs, but they only show a destination, not which team or feature depends on it. Interviews give the business reason, but people forget the small integrations added two years ago.

OWASP puts the problem plainly in its API Security Top 10: organizations need visibility of how their APIs share data with external third parties, and a missing inventory of those flows is a weakness. The inventory is where the three views meet.

The three views compared

ViewWhat it findsWhat it misses
Code and config searchSDK imports, hardcoded hostnames, config keysHostnames built at runtime, calls from scripts outside the repo
Outbound traffic logsReal destinations, call volume, last seenWhich team owns it, why it exists
Team interviews and billing recordsBusiness purpose, paid servicesFree tiers, forgotten trials

Steps

  1. Search the code. Look for import statements of vendor SDKs, URLs starting with https in source and config files, and environment variable names that end in URL, HOST or ENDPOINT. Record each hostname you find.
  2. Pull outbound destinations. Take a 30 day sample from your egress proxy, NAT gateway logs or DNS resolver logs. Group by registrable domain and drop your own domains and cloud provider control planes.
  3. Reconcile the two lists. A host in the logs but not in the code is a lead. So is a host in the code with no traffic: it may be dead, or it may only run once a quarter.
  4. Ask each product team to review their rows. Send a short list per team and ask three questions: is this still used, who owns it, and what data goes to it.
  5. Record one row per integration. Keep it light at first: hostname, vendor, owning team, purpose, data sent, and the date you last confirmed it.
  6. Schedule the repeat. The first pass is the hardest. A recurring check against egress logs keeps it honest.

Common traps

Do not stop at the SDK list. Plenty of integrations are a plain HTTP call with no library at all, so a dependency manifest will never show them. Do not treat a CDN or a font host as harmless without looking: browser-side calls belong in the inventory too, even though they come from a page rather than a service.

Also watch for non-production traffic. Staging services often call real vendor accounts with real data.

Try it yourself

Open the demo below and look at how a dependency inventory lists packages and where they come from. Note which entries you would also need to record by hand because they never appear in a manifest.

Click through it at your own pace, or open it full screen.

Quick check

Is a dependency scan enough to find third-party APIs?

No. It finds libraries that wrap APIs. Direct HTTP calls, browser scripts and no-code connectors need code search, traffic logs or interviews.

How much traffic history do I need?

Thirty days is a practical start. Add a longer window for integrations that run monthly or quarterly, such as billing exports.

Who should hold the final list?

One named person or team, with each row owned by the product team that uses the integration.

Safeguard's SBOM and dependency scanning and asset discovery can supply the code-side list, and you can run a free scan at gold.safeguard.sh/scan. Network and team knowledge still have to come from your own logs and people.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.