DOJ FARA Filings Scraper
Pricing
Pay per event
DOJ FARA Filings Scraper
Extract public DOJ FARA registrants, foreign principals, short-form registrants, political activity rows, and DOJ eFile source links.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Extract public Foreign Agents Registration Act (FARA) records from the DOJ eFile Browse Filings pages.
Use this actor to monitor active registrants, foreign principals, short-form registrants, political activity rows, political contribution tables, and DOJ source links in a clean Apify dataset.
What does DOJ FARA Filings Scraper do?
DOJ FARA Filings Scraper collects rows from public DOJ FARA eFile Browse Filings reports.
It turns government HTML tables into structured JSON records.
It is designed for monitoring workflows where teams need repeatable exports instead of manual copy and paste.
The actor currently extracts first-page rows from multiple report categories and combines them into one normalized dataset.
Each row keeps a rawColumns object so you can audit the exact DOJ table values.
Who is it for?
Compliance teams use it to watch foreign-agent registrations.
Policy intelligence teams use it to track registrants, principals, and political activities.
Investigative researchers use it to build repeatable FARA watchlists.
Risk teams use it to enrich entity due-diligence workflows.
Journalists and civic researchers use it to collect source-linked public records.
Why use this FARA scraper?
✅ Public DOJ source pages
✅ Structured dataset output
✅ Multiple FARA report categories
✅ Detail links back to eFile
✅ Normalized top-level fields plus raw columns
✅ No login required
✅ No browser automation required for the MVP
What data can you extract?
| Field | Description |
|---|---|
reportType | Selected FARA report category |
reportTitle | DOJ page title |
registrantName | Registrant or registration name |
registrationNumber | FARA registration number |
registrationDate | Registration date when available |
foreignPrincipalName | Foreign principal name |
countryOrLocation | Country or location represented |
shortFormName | Short form registrant name |
activityDate | Political activity date |
method | Activity method |
purpose | Activity purpose |
address | Address from DOJ table |
detailUrl | DOJ eFile detail URL |
sourceUrl | Report URL scraped |
rawColumns | Original parsed table columns |
scrapedAt | Extraction timestamp |
Supported FARA report categories
The actor supports these DOJ Browse Filings report categories:
- Active registrants
- Active foreign principals
- Active short form registrants
- Terminated short form registrants
- Historical short form registrants
- Foreign principal political activities
- Active registrants political contributions
- Terminated foreign principals
- Historical foreign principals
How much does it cost to scrape DOJ FARA filings?
This actor uses Apify pay-per-event pricing.
You pay a small run-start event and a per-row event for each saved FARA record.
Use a small maxItems value for quick tests.
Use 100+ rows for recurring compliance monitoring.
Current per-row pricing is approximately: Free $0.000049663, Starter/BRONZE $0.000043186, Scale/SILVER $0.000033685, Business/GOLD $0.000025911, Platinum $0.000017274, Diamond $0.000012092.
How to scrape DOJ FARA filings
- Open the actor on Apify.
- Keep the prefilled report categories or choose your own.
- Set
maxItemsto the number of rows you need. - Run the actor.
- Export the dataset as JSON, CSV, Excel, or via API.
Input configuration
reportTypes
Choose one or more FARA report categories.
Leaving the prefill selected is a good monitoring default.
maxItems
Set the maximum rows saved across all selected reports.
The default is 15 rows.
The maximum is 10,000 rows.
Output example
{"reportType": "active-registrants","reportTitle": "Active Registrants","registrantName": "Example Registrant LLC","registrationNumber": "1234","registrationDate": "01/01/2026","detailUrl": "https://efile.fara.gov/ords/fara/f?p=...","sourceUrl": "https://efile.fara.gov/ords/fara/f?p=1381:17:0","rawColumns": {"Registrant": "Example Registrant LLC","Registration #": "1234"},"scrapedAt": "2026-07-05T00:00:00.000Z"}
Tips for monitoring workflows
Run the actor daily or weekly for watchlist collection.
Store exported datasets in your compliance data lake.
Compare new runs against previous exports by registration number and report type.
Use detailUrl to open the DOJ record for source review.
Keep rawColumns in your warehouse for audit trails.
Integrations
Connect this actor with Google Sheets for analyst review.
Send output to Slack when a scheduled run finds rows.
Load dataset items into BigQuery, Snowflake, or Postgres.
Use Apify webhooks to trigger downstream compliance checks.
Combine FARA records with entity-resolution tools in your due-diligence pipeline.
API usage: Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/doj-fara-filings-scraper').call({reportTypes: ['active-registrants', 'active-foreign-principals'],maxItems: 100,});console.log(run.defaultDatasetId);
API usage: Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/doj-fara-filings-scraper').call(run_input={'reportTypes': ['active-registrants', 'political-activities'],'maxItems': 100,})print(run['defaultDatasetId'])
API usage: cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~doj-fara-filings-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"reportTypes":["active-registrants"],"maxItems":100}'
Use with AI agents via MCP
DOJ FARA Filings Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).
Add the Apify MCP server to your AI client with this actor-specific tools URL. This exposes the DOJ FARA Filings Scraper tool directly.
Setup for Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/doj-fara-filings-scraper"
Setup for Claude Desktop, Cursor, or VS Code:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/doj-fara-filings-scraper"}}}
Example prompts:
- "Use automation-lab/doj-fara-filings-scraper to run active FARA registrants and summarize new registration numbers."
- "Export active foreign principals from FARA and group them by country or location."
- "Monitor FARA political activity rows and flag methods mentioning meetings."
Data quality notes
The actor reads public DOJ HTML tables.
Some DOJ report categories use different column names.
Top-level fields are normalized when possible.
The original values remain available in rawColumns.
Limitations
This MVP does not download every linked filing document.
It does not require credentials.
It does not bypass access controls.
Oracle APEX pagination may change, so high-volume pagination can be added later if users need full historical dumps.
Legality
This actor collects publicly accessible DOJ FARA pages.
Users are responsible for using the data lawfully.
Respect applicable laws, Apify terms, and DOJ website terms.
Do not use extracted data for prohibited profiling or harassment.
FAQ and troubleshooting
How fast is this FARA scraper?
Most monitoring runs finish in under a minute because the actor uses HTTP requests instead of a browser.
Does this replace the official DOJ FARA website?
No. It structures public DOJ eFile tables for exports and automation while preserving source URLs for review.
How much does a typical run cost?
Small monitoring runs are usually a fraction of a cent plus the run-start event because no proxy or browser is required.
Why did I get fewer rows than maxItems?
Selected reports may expose only a limited first page of server-rendered rows.
Choose more report categories to collect more rows in one run.
Why is a field missing on some rows?
Different FARA report categories have different table columns.
Check rawColumns for the exact original DOJ fields.
Can I get the source page?
Yes. Each item includes sourceUrl, and many rows include detailUrl.
Related scrapers
Explore related automation-lab actors:
- https://apify.com/automation-lab/google-news-scraper
- https://apify.com/automation-lab/website-contact-finder
- https://apify.com/automation-lab/rss-feed-scraper
Changelog
0.1
Initial version for DOJ FARA public Browse Filings report extraction.
Support
Open an Apify issue if a DOJ page changes or you need additional FARA report categories.
Maintenance notes
The actor is intentionally HTTP-first for cost control.
It uses no residential proxy by default.
It keeps memory at 256 MB.
It preserves source URLs for every output item.
Summary
DOJ FARA Filings Scraper gives compliance and research teams a repeatable way to extract structured public FARA rows from DOJ eFile pages.