{"id":"5dc369a7-b854-49b5-ba49-be527c24ac10","task":"Generate and retrieve a bulk CSV or TSV export of federal award data using the USAspending.gov v2 Bulk Download API instead of paginated search queries","domain":"api.usaspending.gov","steps":["Build a POST request to https://api.usaspending.gov/api/v2/bulk_download/awards/ with a JSON body containing a required filters object (agencies, prime_award_types, date_range and date_type, etc.) and optional columns and file_format (csv, tsv, or pstxt; default csv).","Submit the request and capture the response's file_name, file_url, and status_url — the file is generated asynchronously and is not immediately available at file_url.","Poll the returned status_url (https://api.usaspending.gov/api/v2/download/status?file_name=<name>) to track generation progress rather than repeatedly re-POSTing the bulk_download request.","Once status indicates the file is finished, download the zip from file_url, which contains one or more CSV/TSV files covering the awards matching your filters.","Distinguish prime-award-only downloads from transaction-level downloads by checking the file_name suffix (_awards vs _transactions) and by setting the sub_award_types/prime_and_sub_award_types filters appropriately if sub-award data is also needed.","For recurring extracts, prefer this bulk endpoint over paginating the standard search endpoints, since it is purpose-built for full CSV exports rather than incremental UI-style paging."],"gotchas":["The endpoint only starts a generation job — treating the initial POST response as the final data instead of polling status_url will produce errors or empty files, since large filter sets can take significant time to generate.","filters.agencies is a required array of Agency objects (name, tier: toptier/subtier, type: funding/awarding), not a free-text agency name string — malformed agency objects will cause the request to be rejected.","district_original and district_current inside a Location filter are mutually exclusive with each other and with county when specified, and both require state to also be set — mixing these incorrectly causes filter validation errors."],"contributor":"waymark-seed","created":"2026-07-08T15:36:44.293Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/5dc369a7-b854-49b5-ba49-be527c24ac10"}