GAO Reports Scraper
Pricing
from $19.00 / 1,000 results
GAO Reports Scraper
Scrapes GAO reports, testimony, bid protests, legal decisions, and open recommendations from the official feed. Returns each record as a flat row with title, date, summary, and report number.
Pricing
from $19.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
14 days ago
Last modified
Share
GAO Reports Scraper
Scrape GAO reports, testimony, bid protests, legal decisions, and open recommendations from the official feed. Each record includes the title, publication date, summary, and report number. No API key or login. Export to CSV, JSON, Excel, or XML.
The GAO website offers no bulk download, and its search interface is built for one query at a time. This Actor reads the public GAO feeds directly, filters by publication type and keyword, and returns every match in one flat schema. It is the fastest way to build a dataset of federal oversight documents for research, compliance, or news monitoring.
| Who uses it | What they scrape GAO for |
|---|---|
| Policy researchers | Tracking which federal programs the GAO is auditing this quarter |
| Government contractors | Monitoring bid protest decisions that affect their industry |
| Journalists | Finding GAO reports on a specific agency or topic for an investigation |
| Compliance officers | Collecting open recommendations to prepare for an audit |
| Data analysts | Building a time series of GAO publications for trend analysis |
What it does
This Actor collects GAO publications by feed type and optional keyword, and returns each one as a flat row with title, publication date, summary, and report number.
- ๐ Five publication feeds: reports, congressional testimony, bid protests, legal decisions, and open recommendations.
- ๐ Keyword filter: match the title or description, case-insensitive, so only relevant records reach your dataset.
- ๐ฆ Flat output: every record is one row with the same fields, ready for CSV, JSON, Excel, or XML.
- โก No API key: the Actor reads the public GAO feeds directly, with no registration or rate limits.
- ๐ข Scalable runs: pull up to 1,000,000 records on a paid plan, or 10 on the free tier.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with GAO data
๐ Track oversight trends.
A policy researcher runs the Actor weekly on the reports feed with no keyword, then charts publication counts by agency to see where oversight is intensifying.
โ๏ธ Monitor bid protest outcomes.
A government contractor runs the bidProtests feed with a keyword for their industry, then reviews each decision to adjust their proposal strategy.
๐ฐ Find stories in federal audits.
A journalist runs the reports feed with a keyword for a specific agency, then reads the summaries to identify reports worth a deeper look.
๐งพ Prepare for an audit.
A compliance officer runs the openRecommendations feed with a keyword for their program, then compiles the list of unresolved recommendations to address before the next review.
๐ Build a research dataset.
A data analyst runs the legalDecisions feed with no keyword, then exports the full history to CSV for statistical analysis of decision patterns.
Why choose this scraper
| What you get | |
|---|---|
| Official source | Data comes straight from the GAO public feeds, not a third-party mirror |
| One fixed schema | Every record has the same fields, so you can merge runs without cleaning |
| No code required | Set the feed and keyword in the input, then download the result |
| Export anywhere | CSV, JSON, Excel, or XML, ready for your existing workflow |
How it compares
No other Store actor targets GAO the same way, so the honest comparison is with the alternatives teams actually weigh.
| GAO Reports Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When GAO changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor from a publication feed and an optional keyword, and the filter runs as each record is read so only matches reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{"maxItems": 10}
A larger pull:
{"maxItems": 200}
Pricing
Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $2.10 |
| 1,000 results | $21.00 |
| 10,000 results | $210.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the GAO Reports Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to GAO through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/gao-reports-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check your keyword. It is matched case-insensitively against the title and description, but if it is too specific or misspelled, no records will match. Try a broader keyword or leave it empty.
Why did I only get 10 records?
Free users are limited to 10 records per run. Upgrade to a paid plan and set maxItems higher to get more.
Why is the run slow?
The Actor reads the GAO feed in pages. If you set maxItems very high, it may take a few minutes. Reduce maxItems or narrow the keyword to speed it up.
Why are some fields empty?
Not every GAO record has every field. For example, some records may not have a summary or a report number. Empty fields are normal and are returned as blank in the output.
Can I get the full text of each report?
No. The Actor returns the metadata from the feed, including the summary, but not the full PDF text. You can use the report URL in the output to download the full document.
FAQ
| Question | Answer |
|---|---|
| What is the GAO? | The U.S. Government Accountability Office is an independent agency that audits federal programs and spending. Its reports, testimony, bid protest decisions, and legal opinions are public records. |
| Do I need an API key or login? | No. The Actor reads the public GAO feeds directly, so there is no registration, OAuth, or rate limit to manage. |
| What is the difference between the five feeds? | Reports are formal audit reports. Testimony is prepared statements for congressional hearings. Bid protests are decisions on contract award challenges. Legal decisions are GAO legal opinions. Open recommendations are unresolved suggestions to agencies. |
| How does the keyword filter work? | The keyword is matched case-insensitively against the title and description of each record. Only records that contain the keyword are returned. |
| Can I scrape all GAO reports? | Yes. Set the feed to reports and leave the keyword empty, then set maxItems to a high number on a paid plan. The Actor will return every report in the feed. |
| What fields are in the output? | Each record includes the title, publication date, summary, report number, and other metadata from the GAO feed. The exact field list is shown in the sample output. |
| How many records can I get? | Free users can get up to 10 records per run. Paid users can set maxItems up to 1,000,000. |
| Can I filter by date? | The current input schema does not have a date filter. You can filter by feed and keyword, then sort or filter the exported data by date in your own tool. |
| Is this legal? | Yes. GAO publications are U.S. government works and are in the public domain. The Actor only reads publicly available feeds. |
| Can I schedule this Actor? | Yes. On Apify, you can schedule the Actor to run daily, weekly, or on any cron schedule, so your dataset stays current. |
Related actors
- gao-reports-scraper: Use this Actor to scrape GAO reports, testimony, bid protests, legal decisions, and open recommendations.
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by U.S. Government Accountability Office. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
