Skip to main content

The API for U.S. Government Contracting Data.

Real-time opportunities, federal contracts, entities, and spending — delivered through one fast, modern API.


Get API Access


Explore the Docs →

# Basic REST example (no SDK required)

import requests

response = requests.get(
    "https://tango.makegov.com/api/agencies/7200/",
    headers={"X-API-KEY": "your-api-key"}
)

print(response.json())

Real-Time Opportunity Data

Notices refreshed every 20–60 minutes, including full historical lineage.

Unified Contracts & Entities

Contracts, IDVs, subawards, and entity metadata — normalized into predictable models.

Built for Developers

Modern REST API, stable schemas, fast search, SDKs for Python & Node.

Unified Government Data

Tango normalizes messy federal data sources into consistent, developer-friendly models.


Fast Search & Filtering

Full-text search, smart filters, strong pagination, and predictable queries.

Who Uses Tango?

  • Government vendors
  • Integrators
  • Data platforms
  • Analytics tools
  • Compliance products
  • Research organizations

Get Started in Minutes

SDK Quickstart

from tango import TangoClient

client = TangoClient(api_key="your-api-key")

agencies = client.list_agencies(limit=10)
print(f"Found {agencies.count} agencies")

agency = client.get_agency("GSA")
print(f"Agency: {agency['name']}")

Most endpoints require an API key. You can obtain one from the Tango API portal.

const { TangoClient } = await import("@makegov/tango-node");

const client = new TangoClient({
    apiKey: process.env.TANGO_API_KEY,
});

async function main() {
    const agencies = await client.listAgencies({ limit: 5 });
    console.log("Found", agencies.count, "agencies");

    const dod = await client.getAgency("9700");
    console.log("Agency:", dod.name);
}

main();