Federal IT Investments Just Got an API

The federal government tracks thousands of federal IT investments across every agency and centrally evaluates those investments at the Office of Management and Budget. Each investment carries budget data, CIO risk ratings, performance metrics, associated contracts, and funding breakdowns. And all are available in the IT Dashboard.

This data is useful for research purposes because IT investments often can help you understand an agency's systemic needs far beyond a single contract.

And now, IT Dashboard data is available in the Tango API and MCP.

Why this matters

The IT Dashboard is one of those government data sources that is incredibly useful. Major IT investments get a CIO risk rating. There is funding data, project milestones, performance metrics. In theory, you can see which investments are struggling, which agencies are overspending, and where the recompete opportunities are hiding.

In practice, it's a website built to be browsed, not queried. And although there are data feeds, they are just inaccessible enough to be a "forgotten dataset". Moreover, the data doesn't neatly connect cleanly to anything else; not to contract award data, not to entities data, not to opportunity forecasts. If you want to answer a question like "show me all the high-risk IT investments at DHS and the contracts associated with them," you're looking at a manual research project, not an API call.

That's the gap we're filling.

What you can do now

Through the Tango API and MCP server, you can:

Search and filter investments. Full-text keyword search is available on the free tier. On any paid tiers, you can filter by agency, investment type, or update date. On medium tiers or greater, you can filter by CIO risk rating and performance risk. This sort of filtering enables the kind of queries that let you find distressed investments programmatically.

Drill into any investment by UII. Pull the full investment record including CIO evaluation history, associated contracts, constituent projects, funding sources, performance metrics, cost pool allocations, and operational analysis.

Connect investments to contracts. This is the big one. Each IT Dashboard investment links to contract PIIDs. Feed those into Tango's contract endpoints and you've got the full picture: who's performing the work, how much has been obliged, when the period of performance ends. The kind of cross-referencing that used to require three browser tabs and a spreadsheet now takes one API call chain.

Feed it to an AI agent. The MCP integration means any Claude-powered workflow can query IT Dashboard data the same way it queries contracts, opportunities, or entities. Ask your agent to find struggling investments at an agency and pull the associated contracts — it'll do the UII-to-PIID pivot for you.

Show me

Let's make this concrete. Say you're building a tool that helps capture teams track federal IT programs. A user types: "What's going on with VA's electronic health record modernization?" Here's how it could look with Tango's Python SDK:

Step 1: Find the investment.

#! pip install tango-python
from tango import TangoClient

client = TangoClient()  # uses TANGO_API_KEY env var

# Search IT Dashboard investments by keyword
results = client.list_itdashboard_investments(search="electronic health record modernization")
investment = results.results[0]

print(investment["uii"])               # 029-555555305
print(investment["investment_title"])   # Electronic Health Record Modernization
print(investment["agency_name"])        # Department of Veterans Affairs
print(investment["type_of_investment"]) # Major IT Investments

Step 2: Pull the full picture.

# Drill into the investment — CIO evaluations, contracts, and funding
detail = client.get_itdashboard_investment(
    uii="029-555555305",
    shape="uii,investment_title,cio_evaluation(*),contracts(*),funding(*)"
)

# CIO risk rating history
for eval in detail["cio_evaluation"]:
    print(f"{eval['ratedDate']}: {eval['cioRating']}")
    # 2024-09-04: 3 - Medium Risk
    # 2024-01-25: 3 - Medium Risk
    # 2023-09-08: 3 - Medium Risk
    # ... six evaluations, all Medium Risk, all citing deployment delays

# Funding trajectory
funding = detail["funding"]
print(f"FY2022: ${funding['fy2022_internal_funding']}M")  # $2,539M
print(f"FY2023: ${funding['fy2023_internal_funding']}M")  # $1,414M
print(f"FY2024: ${funding['fy2024_internal_funding']}M")  # $1,712M
print(f"FY2025: ${funding['fy2025_internal_funding']}M")  # $894M

# Associated contract PIIDs
for contract in detail["contracts"]:
    print(contract["contractPIID"])  # 36C10B18D5000

Six consecutive CIO evaluations at Medium Risk. Funding declining from $2.5B to under $900M. And a parent contract PIID to pull the thread on.

Step 3: Pivot to the contracts.

# Use the PIID from the investment to find the actual contract awards
orders = client.list_contracts(
    keyword="36C10B18D5000",
    shape="piid,description,obligated,award_date,recipient(display_name,uei)",
    limit=10
)

for order in orders.results:
    print(f"{order['piid']}: ${float(order['obligated']):,.0f}")
    print(f"  {order['description']}")
    print(f"  {order['recipient']['display_name']}")
    # 36C10B24N0063EHRM: $299,999,849 — OPTIMIZATION OF THE EHRM SYSTEM
    #   ORACLE HEALTH GOVERNMENT SERVICES, INC.
    # 36C10B25N0064EHRM: $168,010,808 — CORPORATE NAME CHANGE FROM CERNER TO ORACLE
    #   ORACLE HEALTH GOVERNMENT SERVICES, INC.
    # 36C10B23N0059EHRM: $78,093,960.78 — EHRM FORWARD DEPLOYED SOLUTION SET
    #   ORACLE HEALTH GOVERNMENT SERVICES, INC.

That's 62 task orders — all Oracle Health (formerly Cerner) — including a $300M system optimization and a $168M name-change modification, all awarded through VA's Technology Acquisition Center in New Jersey.

Three method calls. Investment found, risk history and funding pulled, contracts surfaced with vendors and dollar amounts. All from structured, authoritative data. All with the same Python SDK you already use for contracts and entities.

Try doing that on itdashboard.gov.

Build something!

If you're building tools for capture teams, BD analysts, or anyone doing market research in the federal IT space, this data has always been relevant but never accessible in a way that's useful to build on.

A capture manager researching a recompete shouldn't have to manually browse itdashboard.gov to figure out whether the investment they're tracking has performance issues. A market intelligence tool shouldn't have to scrape a government website to tell its users which agencies have at-risk IT programs.

We modeled this data the way we model everything in Tango: clean schemas, predictable queries, response shaping, the same listgetpivot pattern you already use for contracts and entities. The Python SDK (tango-python) has full IT Dashboard support — list_itdashboard_investments and get_itdashboard_investment work exactly like the contract and entity methods you're already using. Same response shaping, same pagination, same type hints.

If you've built on Tango before, you already know how to use this. Install the SDK, swap in list_itdashboard_investments, and you're live.

What's next

IT Dashboard data is the latest in a steady stream of datasets we're normalizing and adding to Tango. Every one reduces the surface area of problems you have to solve yourself and increases the kinds of questions your tools can answer.

If you're building in the federal procurement space, the free tier is there. If you want the CIO risk rating filters and the richer expansions, those are on paid tiers.

Either way, build something. We'll handle the data.


API docs: tango.makegov.com/docs · MCP server: govcon.dev/mcp · Questions? Get in touch.

Ready to Get Started with Tango?

If you're working with federal procurement data, Tango provides a unified API that combines federal procurement data sets, improves on them, with a developer-friendly approach. Skip the complexity of scraping and joining multiple government APIs yourself.

Sign up for Tango