Tango MCP
A unified MCP for govcon data
- Category
- Data & Analytics
- Primary Subcategory
- Government Procurement & Contract Search
Integration details
Description
Tango provides a unified API and MCP for federal procurement data. Tango is built by govcon experts and software developers who understand the pain of stitching together multiple government data sources. Designed specifically for public-sector builders and for AI-ready data consumers.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Government Procurement & Contract Search
- Secondary Subcategories
- None listed
- Brand
- Tango
- Access
- Account required
- First tracked
- 2026-08-08
- Tool count
- 5
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Tango MCP
Get updates when Tango MCP’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Government Procurement & Contract Search
View Category5 tools agents can invoke
Fetch detailed Tango API documentation for a specific section. Use this when you need information beyond what the tool descriptions provide — for example, the full list of filtering parameters for a resource type, valid enum values, ordering options, response shaping syntax, or advanced query patterns. Args: section: Documentation section to retrieve. Valid values: "budget_accounts", "contracts", "dibbs", "entities", "exclusions", "federal-budget", "forecasts", "gsa-elibrary", "idvs", "itdashboard", "lcats", "metrics", "opportunities", "otas", "otidvs", "protests", "resolve", "response-shaping", "sbir", "set-asides", "subawards", "vehicles" Returns: Dict with the section name and markdown content, or an error with the list of valid sections.
fetch_api_docs
Get detailed information about a single item, with optional enrichment. Use this after search or resolve to drill into a specific entity, contract, IDV, vehicle, opportunity, OTA, OTIDV, organization, protest, SIN, or GSA eLibrary contract. When include_related is true, the tool makes multiple API calls and returns composite data: - entity: profile + socioeconomic status + 10 most recent contracts - contract: full detail + subawards - idv: full detail + child awards + transactions + labor rates (CALC) - vehicle: full detail + awardees - opportunity: full detail. The default response lists every attachment by name and resource_id (the manifest). To read the actual document text — the SOW/PWS, Section L instructions, Section M evaluation factors, CDRLs, Q&A — request it (Pro-tier): * attachment_ids="<resource_id>,<resource_id>" pulls full text for just those documents (the targeted, recommended path — pick the PWS/Section L/M off the manifest by name). A selected document always returns text: one larger than the per-call budget arrives in budget-sized chunks — follow attachment_text.partial[].next_offset with attachment_offset to read the rest. * include_attachment_text=true pulls text for ALL file attachments, but a per-call character budget caps the total; documents that don't fit are listed as omitted with their resource_ids so you can fetch them via attachment_ids. Text lands inline under detail.attachments[].extracted_text. Under-tier callers get an upgrade pivot instead of the text. - ota: full OTA detail + transactions - otidv: full OTIDV detail + child OTAs + transactions - organization: organization detail + child organizations - protest: full protest detail + dockets; with include_related: related opportunities and contracts for the same solicitation - sin: MAS SIN detail; with include_related: GSA eLibrary contracts on this SIN (showing Schedule holders). To see a vendor's MAS orders: find their IDV key via search(type="gsa_elibrary"), then use get_details(type="idv", include_related=true) for orders and CALC labor rates. - gsa_elibrary_contract: GSA eLibrary contract detail - itdashboard: Federal IT investment detail by UII. Rich nested context (cio_evaluation, contracts, projects, funding, performance_metrics, etc.) is available via the ``fields`` parameter on Pro/Business+ plans — include_related is a no-op. - naics: NAICS code record + time-series obligation/award metrics over the trailing ``months`` window, bucketed by ``period``. - psc: PSC (Product Service Code) record + time-series metrics (same shape as naics). - budget_account: Federal budget account (appropriations) record; with include_related: quarterly SF-133 cash flow + per-recipient contract-flow detail. - dibbs_rfq / dibbs_rfp: one DLA RFQ or solicitation, keyed by uuid; with include_related: the other DIBBS families sharing that solicitation number (notably the award it produced). - dibbs_award: one DLA award LINE ITEM, keyed by uuid. Its total_contract_price is the whole ORDER's total, not this row's share. With include_related: the solicitation plus sibling_line_items — every row of the same order, which is what makes the order total countable exactly once. - exclusion: one SAM exclusion (debarment) record, keyed by exclusion_key; with include_related: the excluded party's entity profile when they have a SAM registration (many do not). - sbir_topic: one SBIR/STTR topic, keyed by topic_id; with include_related: its parent solicitation, which is where the SBIR-vs-STTR program lives (the topic itself does not carry it). - sbir_solicitation: one solicitation cycle, keyed by solicitation_id; with include_related: the topics under it. For entity, naics, and psc, the ``months`` and ``period`` arguments control the spending-trend metrics window. Entity metrics and budget flows are returned only with include_related=true; naics/psc metrics are always included. Args: id: The identifier — UEI, contract key, IDV key, vehicle UUID, opportunity ID, OTA key, OTIDV key, organization FH key, SIN code, GSA eLibrary contract UUID, IT investment UII, NAICS code, PSC code, or budget account id. type: Item type — "entity", "contract", "idv", "vehicle", "opportunity", "ota", "otidv", "organization", "protest", "sin", "gsa_elibrary_contract", "itdashboard", "naics", "psc", or "budget_account". Note: "subaward" is not supported for get_details; use search with type='subaward' and award_key filter instead. include_related: When true, enriches the response with related data from multiple endpoints. fields: Response shape for the primary item. Comma-separated field names with optional nesting (same syntax as the search tool). Omit for comprehensive defaults. months: Trailing window in months for metrics (entity, naics, psc). Default 24. period: Metric bucketing — "year", "quarter", or "month". Default "year". include_attachment_text: Opportunity only. When true, pulls the full extracted text of ALL file attachments inline (Pro-tier), capped by a per-call character budget. Default false. attachment_ids: Opportunity only. Comma-separated attachment resource_ids (or exact filenames) to pull full extracted text for — the targeted alternative to include_attachment_text when you only need specific documents (Pro-tier). Selected documents are never omitted for size: a document larger than the per-call budget is returned in chunks (see attachment_offset). attachment_offset: Opportunity only, used with attachment_ids. Character offset into each selected document's extracted text — pass the next_offset reported under attachment_text.partial[] to continue reading a document larger than the per-call budget (one document per call is the intended flow). Ignored without attachment_ids. Default 0. Returns: Dict with the item detail and optionally related data.
get_details
Find entities, vehicles, NAICS/PSC codes, GSA MAS SINs, contracts, opportunities, IDVs, OTAs, OTIDVs, subawards, organizations, and GAO bid protests matching a search query. Use this tool first when you have a name or keyword and need to discover what's in the data. Returns identifiers (UEI, organization key, etc.) you can use with other tools, plus a preview of matching contracts, opportunities, and protests. For company questions, resolve first to get UEI + related data including bid protests filed by or against the company. To look up a federal agency or department, use type="organization". Organizations represent the full federal hierarchy (departments, agencies, bureaus, offices) under a single abstraction. Filter by level (0–3), type, or CGAC code via the search tool for more precise results. To look up a GSA MAS SIN (Special Item Number), use type="sin". Returns the SIN title, description, mapped NAICS/PSC codes, and category information. Useful for understanding what services fall under a GSA Schedule SIN code. After resolving a SIN, use search with type="gsa_elibrary" and sin= to find MAS holders — not type="contract" with the SIN's NAICS codes, which returns orders across all vehicles (SEWP, STARS III, etc.), not just MAS. To look up a federal IT investment, use type="itdashboard". Full-text search across itdashboard.gov investment records; returns UIIs (Unique Investment Identifiers) for use with get_details(type="itdashboard"). Args: query: Free text search — company name, organization name, vehicle name, NAICS code or keyword, PSC code, SIN code, etc. type: Optional filter — "entity", "vehicle", "naics", "psc", "sin", "contract", "opportunity", "idv", "ota", "otidv", "subaward", "organization", "protest", or "itdashboard". "idv" searches the award-level IDV records (the contract-family parents, keyed by PIID); "vehicle" searches Tango's curated vehicle catalog — the two are different data, mirroring search and get_details. When omitted, searches all types except itdashboard. limit: Max results per type (default 5). Returns: Matching results grouped by type with identifiers and context.
resolve
Search contracts, IDVs, vehicles, GSA eLibrary Schedule holders, CALC labor rates, OTAs, OTIDVs, subawards, organizations, protests, grants, federal budget accounts, DIBBS awards, SAM exclusions (debarments), and SAM entity registrations (vendors). This is the primary data tool. Use it to find contracts by vendor, organization, NAICS code, date range, or keyword. Set include_summary=true for a statistical profile of at most 250 matching records — a hard-capped sample, never a market total. For appropriations / budget questions ("how much was enacted vs. apportioned vs. obligated vs. available?"), use type="budget_account" — this is the only type carrying appropriations-level data (the contract/IDV/subaward types are transactional obligations only). Its default shape includes the full request -> enacted -> apportioned -> obligated -> outlayed lifecycle; call fetch_api_docs("budget_accounts") for ratios/trends/counts (request those via fields=), or fetch_api_docs("federal-budget") for an appropriations primer. For bid protests: use type="protest" with protester_name, outcome, agency (via awarding_org), docket_number, solicitation_identifier, or date range filters. Protests include GAO case records with outcomes, decision links, and digests. For vendor-population questions ("which 8(a) firms in Maryland do cybersecurity?"): use type="entity" — it filters SAM entity registrations by attributes: socioeconomic/business-type code (pipe-OR supported: socioeconomic="OY|A2"), state, NAICS/PSC, UEI, and CAGE. Socioeconomic values are SAM business-type codes, NOT set-aside codes: e.g. "OY" Black American Owned, "A6" SBA-certified 8(a), "A2" Woman Owned, "8W" SBA-certified WOSB, "XX" SBA-certified HUBZone, "QF" Service-Disabled Veteran Owned, "23" Minority Owned — full table via fetch_api_docs("entities"). For per-entity contract rollups server-side, request the past_performance expansion: search(type="entity", socioeconomic="A6", fields="uei,legal_business_name,past_performance(summary,top_agencies)") — top-5 agencies per entity. Entity search is for population/attribute queries only and deliberately has no name/keyword filter — the SAM directory is full of secondary registrations that make free-text matching a wrong-UEI hazard. To find a company by name, use resolve(query="<name>", type="entity"), which ranks by contract volume so secondary registrations sink. For "is this vendor debarred?": use type="exclusion" with uei, cage_code, or keyword. active=true restricts to exclusions in force today (derived at query time from the activate/termination dates, so a lapsed exclusion is not a change to the record). An entity with no exclusion rows is not excluded. For DLA parts spending: use type="dibbs_award" with nsn, part_number, awardee_cage, or award_number. WARNING — each row is one LINE ITEM, not a whole award, and total_contract_price is the ORDER total repeated on every line item of that order. Never sum it across rows; count each order once (dedupe on award_number + delivery_order_number). For this reason include_summary does not aggregate dibbs_award. The DIBBS pre-award side (RFQs, solicitations) lives on search_opportunities. Important: when investigating a GSA MAS SIN, do NOT use type="contract" with NAICS/PSC/set-aside filters — contract search cannot filter by parent vehicle type, so results include orders from all vehicles (SEWP, STARS III, etc.), not just MAS. Instead, use type="gsa_elibrary" with sin= to find MAS Schedule holders, then get_details on their IDV key (with include_related=true) to see actual MAS orders and CALC labor rates. Args: type: What to search — "contract" (default), "idv", "vehicle", "all" (contracts + IDVs), "ota" (Other Transaction Awards), "otidv" (Other Transaction IDVs), "subaward", "organization", "entity" (SAM vendor registrations), "protest" (GAO bid protests), "gsa_elibrary" (GSA Schedule holder contracts by SIN), "lcat" (CALC labor rates), "itdashboard" (federal IT investments), "grant" (financial-assistance opportunities), "budget_account" (appropriations: enacted vs. obligated vs. outlayed), "dibbs_award" (DLA parts awards, one row per LINE ITEM), or "exclusion" (SAM debarments). keyword: Full-text search across descriptions and other text. recipient_uei: Vendor UEI. Preferred over recipient_name; use resolve to find it. recipient_name: Vendor name, near-exact including suffixes like ", INC.". On 0 results the tool retries it as a keyword, so a near miss degrades to fuzzy rather than empty. awarding_org: The organization that ran the buy — code, name, or abbreviation. For a whole department use its 3-digit CGAC code ("075" HHS, "097" DOD) or its abbreviation ("HHS", "DOD") — the 4-digit form works for sub-agencies ("7530" CMS, "4732" GSA FEDSIM) but NOT for department roll-ups, where "7500" returns zero results and "9700" errors. A value matching no organization is an ERROR, not an empty result, and resolution is FUZZY, so a near miss can silently scope the query to an organization you did not intend — prefer a code or a UUID from `resolve(type="organization")`. funding_org: The organization paying for the work. Usually what you want for mission questions ("HHS's health IT footprint"), because acquisition service providers (GSA FEDSIM "4732", Interior IBC "1406") award a great deal on other agencies' behalf. Same fuzzy-resolution caveat as awarding_org. naics_code / psc_code: Classification code filters. set_aside_type: Set-aside code, e.g. "SBA", "8AN". Call fetch_api_docs("set-asides") for the list. award_type: Award type code. piid / solicitation_identifier: Exact identifier lookups. Ranges follow one convention throughout: `_start`/`_end` for dates (YYYY-MM-DD) and fiscal years, `_gte`/`_lte` for amounts, `_after`/`_before` on the DIBBS and exclusion families. Available here: fiscal_year, fiscal_year_start, fiscal_year_end, award_date_start, award_date_end, pop_start_date_start, pop_start_date_end, pop_end_date_start, pop_end_date_end, expiring_start, expiring_end, obligated_gte, obligated_lte, last_date_to_order_start, last_date_to_order_end. Type-scoped filters — each group applies only to the type named: idv: idv_type ("IDC", "BPA", "BOA", "FSS", "GWAC"). vehicle: vehicle_type ("GWAC", "BPA", "MAS", "MAC"), who_can_use, program_acronym ("OASIS+", "SEWP", "STARS"), total_obligated_min, total_obligated_max, idv_count_min, idv_count_max, order_count_min, order_count_max. subaward: award_key (parent contract), prime_uei, sub_uei. organization: cgac, parent, level (1=department, 2=agency, 3=bureau), org_type, include_inactive. gsa_elibrary: schedule (e.g. "MAS"), contract_number, sin. `sin` also works on lcat, and is the right way to find MAS holders — NOT type="contract" with the SIN's NAICS codes. lcat: idv_key or entity_uei (one is REQUIRED), labor_category, price_gte, price_lte, education_level, min_years_experience_gte, min_years_experience_lte, security_clearance, worksite, business_size. protest: protester_name, outcome ("Denied", "Dismissed", "Withdrawn", "Sustained"), docket_number, filed_date_start, filed_date_end, decision_date_start, decision_date_end. itdashboard: agency_code (Pro+; use keyword on free tier), agency_name (Business+), investment_type, updated_after, updated_before, cio_rating and cio_rating_max (1=high risk, 5=low risk; Business+), performance_risk. grant: cfda_number, funding_instruments, grant_id, opportunity_number, status ("posted", "forecasted"), posted_date_start, posted_date_end. budget_account: federal_account_symbol, bureau_name, account_title, bea_category ("Discretionary", "Mandatory"), on_off_budget. dibbs_award: award_number, delivery_order_number, nsn, part_number, purchase_request, awardee_cage, total_contract_price_min, total_contract_price_max, posted_date_after, posted_date_before. `award_number` and `nsn` accept "|" for OR. total_contract_price is the whole ORDER's total, so filtering on it is safe but summing it across rows is not. `organization` exists but is always DLA. exclusion: cage_code, npi, classification_type, exclusion_type, exclusion_program, excluding_agency_code, excluding_agency_name, delisted, activate_date_after, activate_date_before, termination_date_after, termination_date_before, update_date_after, update_date_before, and `active` — true for exclusions in force today, derived at query time, so a lapse is not a change to the record. entity: socioeconomic (SAM business-type codes, pipe-OR), entity_state, cage_code, recipient_uei. sort: Sort field, e.g. "award_date", "obligated"; "posted_date" for grants, "enacted_ba" for budget_account. order: "asc" or "desc" (default: desc). limit: Max results (default 25). include_summary: Profiles a hard-capped SAMPLE of at most 250 matching records — no filter escapes the cap, and the response sets is_capped_sample when more match, so these totals are never a market total. org_distribution keys off awarding_office alone, so a summary cannot answer a funding-organization question. For uncapped figures use entity past_performance or an organization's total_obligations / tree_obligations. fields: Response shape — which fields to return per record. Call fetch_api_docs("response-shaping") for the syntax. Returns: Dict with total_count, results list, and optionally a summary dict.
search
Search pre-award procurement — everything you can still bid on. Six families share this tool because they answer the same question ("what is open?") from different systems: - opportunity SAM.gov notices (default) - forecast planned procurements, pre-solicitation - dibbs_rfq DLA small-purchase requests for quote - dibbs_rfp DLA solicitations (RFP/IFB) - sbir_topic SBIR/STTR research topics - sbir_solicitation SBIR/STTR solicitation cycles (parent of topics) Post-award data lives in `search` instead — including DIBBS *awards* (`search(type="dibbs_award")`). Two date filters are normalized across all six families, so the same argument works whatever you are searching: - response_deadline_after/before — when the window CLOSES. Maps to return_by_date (dibbs_rfq), closes_date (dibbs_rfp), close_date (sbir_topic), end_date (sbir_solicitation). - first_notice_date_after/before — when it was POSTED/opened. Maps to issue_date (dibbs_rfq), issued_date (dibbs_rfp), open_date (sbir_topic), start_date (sbir_solicitation). DIBBS RFQs/RFPs are scoped to a part: filter by `nsn` or `part_number`, not NAICS/PSC (which DIBBS does not carry). Args: keyword: Search text across titles and descriptions. org: Organization filter — accepts a code, name, abbreviation, or organization UUID (e.g. "VA", "CMS", "075", or a UUID from `resolve(type="organization")`). Matches the organization and all of its descendants, so a department returns records from its sub-agencies and offices. A value that matches no organization is an error, not an empty result — the response carries `error` and `total_count: 0`. Resolution is fuzzy, so a near-miss can match an organization you did not intend and silently scope the search to it; prefer a code or a UUID from `resolve(type="organization")` when the name is ambiguous. For SBIR this is instead the agency's raw text, matched partially — "DOD", "NSF", "HHS" (note NIH topics are filed under HHS). Not used by DIBBS, which is always DLA; use `organization` to narrow within DLA. naics_codes: List of NAICS codes to filter by. psc_codes: List of PSC codes to filter by. set_aside_types: List of set-aside type codes to filter by (e.g. ["SBA", "8AN"]). Call fetch_api_docs("set-asides") for valid codes. active: Filter active/open or inactive/closed records. For opportunities this defaults to active only — pass active=False to search closed ones; an org whose opportunities have all closed returns nothing unless you set this. For DIBBS it maps to the derived `open` flag (computed from the close date at query time, so a record reaching its close date is not a change to the row). For SBIR prefer `activity`, which also exposes the "unknown" bucket that a boolean cannot express. notice_type: Filter by notice type. Accepts a single-letter code or a human-readable name. Codes: p (Pre solicitation), k (Combined Synopsis/Solicitation), o (Solicitation), a (Award Notice), m (Modification/Amendment/Cancel), r (Sources Sought), s (Special Notice), u (Justification), i (Intent to Bundle), g (Sale of Surplus Property). place_of_performance: Place of performance text filter. response_deadline_after: Closing-window lower bound (YYYY-MM-DD). Normalized across families — see the note above for the per-family field it maps to. response_deadline_before: Closing-window upper bound (YYYY-MM-DD). first_notice_date_after: Posted/opened lower bound (YYYY-MM-DD). Normalized across families — see the note above. first_notice_date_before: Posted/opened upper bound (YYYY-MM-DD). last_notice_date_after: Last notice date lower bound (YYYY-MM-DD). last_notice_date_before: Last notice date upper bound (YYYY-MM-DD). ordering: Ordering field (for example: last_notice_date or -response_deadline). fiscal_year: Exact fiscal year match (forecasts only). fiscal_year_start: Fiscal year range start (forecasts only). fiscal_year_end: Fiscal year range end (forecasts only). naics_starts_with: NAICS code prefix filter (forecasts only). source_system: Source system filter (forecasts only). status: Status filter (forecasts only). Examples: "Draft", "Final". modified_after: Modified date lower bound (YYYY-MM-DD, forecasts only). modified_before: Modified date upper bound (YYYY-MM-DD, forecasts only). award_date_after: Anticipated award date lower bound (YYYY-MM-DD, forecasts only). award_date_before: Anticipated award date upper bound (YYYY-MM-DD, forecasts only). solicitation_number: Solicitation number filter. For DIBBS this is the DLA solicitation (e.g. "SPE1C126Q0337"); for sbir_topic it selects the topics under a parent solicitation. nsn: National Stock Number, exact (DIBBS only). Use "|" for OR. part_number: Manufacturer part number, exact (DIBBS only). Use "|" for OR. purchase_request: Purchase request number (dibbs_rfq only). organization: Federal-hierarchy key of the DLA buying organization (DIBBS only). Not the same as `org` — DIBBS is always DLA, so this narrows within DLA rather than selecting an agency. status_code: 11-character composite DIBBS status code, e.g. "DLK00L1N000" (dibbs_rfq only). Unrelated to `status` and to `solicitation_status`. set_aside_flag: DIBBS set-aside flag — "Y" or "N" (dibbs_rfq only). This is a yes/no flag, NOT a set-aside program type; use `set_aside_types` for 8(a)/SDVOSB/etc. on opportunities. quantity_min: Minimum quantity requested (dibbs_rfq only). quantity_max: Maximum quantity requested (dibbs_rfq only). buyer_code: DLA buyer code (dibbs_rfp only). topic_number: SBIR topic number, exact (sbir_topic only). activity: SBIR lifecycle, derived at query time — "open", "closed", or (topics only) "unknown" for topics with no usable date roster. Prefer this over `active` for SBIR, since `active` cannot express "unknown". doc_source: Source document collection (sbir_topic only). year: Solicitation year, exact (SBIR only). Not a fiscal year — use `fiscal_year` for forecasts. program: "SBIR" or "STTR" (sbir_solicitation only). Topics have no program filter; the program lives on the parent solicitation, so filter topics via `solicitation_number` instead. cycle_name: Solicitation cycle name (sbir_solicitation only). out_of_cycle: Whether the solicitation is out of cycle (sbir_solicitation only). solicitation_status: sbir.gov's own raw Open/Closed string (SBIR only). This is source data, distinct from the derived `activity` — they can disagree. release_date_after: Release-date lower bound (sbir_topic only). A topic is released, then opens, then closes — this is the earliest of the three, distinct from first_notice_date_*. release_date_before: Release-date upper bound (sbir_topic only). type: What to search — "opportunity" (default), "forecast", "dibbs_rfq", "dibbs_rfp", "sbir_topic", or "sbir_solicitation". limit: Max results to return (default 25). fields: Response shape — specify which fields to return. Valid top-level fields: opportunity_id, title, description, solicitation_number, naics_code, psc_code, set_aside, response_deadline, first_notice_date, last_notice_date, active, award_number, notice_history, office, place_of_performance, primary_contact, attachments, meta, sam_url. Note: use "set_aside" (not "set_aside_type"). For notice type, request bare "meta" — it returns notice_type as a nested object with "code" and "type". "meta" takes no nested selection: "meta(notice_type)" and "meta(notice_type(*))" are both rejected. Use "office(*)" to get agency, department, and office details. Examples: "opportunity_id,title,solicitation_number,response_deadline" "title,office(*),naics_code,set_aside,response_deadline" "opportunity_id,title,meta" Omit for sensible defaults. Returns: Dict with total_count and results list.
search_opportunities
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Tango MCP alternatives on ChatGPT?
As of 2026-09-22, Tango MCP competes with AltEditais, Ausschreibungsagenten.de, Bidaya, BidPrime, Civic Marketplace, CLEATUS, DC PASS Contracts, egp · งานประมูลภาครัฐ, European Union Tender Search, GETWAB Federal Procurement AI, Govly, GovTribe, GSA CALC+ MCP, Instrumentl, LicitaLAB, SCOUT for Federal Contracting, Scoutee, Siga Pregão, SourceFlag, Sweetspot, TenderLead, Tendor Tender Search, Townline, USAspending MCP, VectorGov, Znajdź Przetargi in ChatGPT Government Procurement & Contract Search, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.