The API for U.S. Government Contracting Data.
Real-time opportunities, federal contracts, entities, and spending — delivered through one fast, modern API.
# 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();