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 Connect via MCP
One click in Claude or ChatGPT — no API key needed.
# Basic REST example (no SDK required)
import requests
response = requests.get(
"https://tango.makegov.com/api/opportunities/",
params={"naics": "541512", "active": "true"},
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 & AI Agents
Modern REST API, stable schemas, SDKs for Python & Node — plus a native MCP connector for Claude, ChatGPT, Claude Code, and Cursor.
Unified Government Data
Tango normalizes messy federal data sources into consistent, developer-friendly models.
Fast Search & Filtering
Full-text and semantic 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")
opps = client.list_opportunities(naics="541512", active=True, limit=10)
print(f"Found {opps.count} open opportunities")
for opp in opps.results:
print(opp["title"], opp["response_deadline"])
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 opps = await client.listOpportunities({ naics: "541512", active: true, limit: 5 });
console.log("Found", opps.count, "open opportunities");
for (const opp of opps.results) {
console.log(opp.title, opp.response_deadline);
}
}
main();
# Claude — one click, OAuth sign-in, no API key
# https://tango.dev/claude
# ChatGPT — one click, from the app directory
# https://tango.dev/chatgpt
# Claude Code
claude mcp add --transport http tango https://tango.dev/mcp
# Cursor — ~/.cursor/mcp.json
{ "mcpServers": { "tango": { "url": "https://tango.dev/mcp" } } }
Then ask: "Which IT contracts worth $1M–$30M expire in the next 12 months — and who's the incumbent?" Any MCP client can connect to https://tango.dev/mcp — see the MCP guide.