Geopolitical Intelligence MCP Server is an MCP (Model Context Protocol) server on ApifyForge. MCP server for geopolitical intelligence. Wraps 6 specialized actors: Interpol Red Notices, FBI Most Wanted, FARA Foreign Agent registrations, Senate Lobbying disclosures, FEC Campaign Finance, and Federal Register... It costs $0.05 per interpol-search. It exposes 7 tools: interpol-search, fbi-search, fara-search, lobbying-search, fec-search, fed-register-search, influence-analysis. Best for AI developers and agent builders who need structured real-world data inside Claude, Cursor, or other MCP-compatible clients. Not ideal for non-AI workflows or use cases that don't involve an MCP-compatible client. Maintenance pulse: 90/100. Last verified March 27, 2026. Built by Ryan Clinton (ryanclinton on Apify).
Geopolitical Intelligence MCP Server
Geopolitical Intelligence MCP Server is an MCP (Model Context Protocol) server available on ApifyForge at $0.05 per interpol-search. MCP server for geopolitical intelligence. Wraps 6 specialized actors: Interpol Red Notices, FBI Most Wanted, FARA Foreign Agent registrations, Senate Lobbying disclosures, FEC Campaign Finance, and Federal Register documents. Includes composite foreign influence analysis.
Best for AI developers and agent builders who need structured real-world data inside Claude, Cursor, or other MCP-compatible clients.
Not ideal for non-AI workflows or use cases that don't involve an MCP-compatible client.
Tools exposed
Each pricing event corresponds to a tool your AI agent can call through MCP.
interpol-searchSearch Interpol Red Notice records. · $0.05/callfbi-searchSearch FBI Most Wanted records. · $0.05/callfara-searchSearch Foreign Agent Registration Act filings. · $0.05/calllobbying-searchSearch federal lobbying disclosure filings. · $0.05/callfec-searchSearch FEC campaign finance records. · $0.05/callfed-register-searchSearch Federal Register regulatory documents. · $0.05/callinfluence-analysisComposite political influence analysis combining FARA, lobbying, and campaign finance data. · $0.15/callExample prompts
Natural language queries you can ask your AI assistant that would trigger this MCP server.
What to know
- Requires an MCP-compatible client (Claude Desktop, Cursor, Windsurf, or similar).
- Tool call results depend on the availability of upstream public APIs.
- Requires an Apify account and API token for authentication.
Maintenance Pulse
90/100Cost Estimate
How many results do you need?
Pricing
Pay Per Event model. You only pay for what you use.
| Event | Description | Price |
|---|---|---|
| interpol-search | Search Interpol Red Notice records. | $0.05 |
| fbi-search | Search FBI Most Wanted records. | $0.05 |
| fara-search | Search Foreign Agent Registration Act filings. | $0.05 |
| lobbying-search | Search federal lobbying disclosure filings. | $0.05 |
| fec-search | Search FEC campaign finance records. | $0.05 |
| fed-register-search | Search Federal Register regulatory documents. | $0.05 |
| influence-analysis | Composite political influence analysis combining FARA, lobbying, and campaign finance data. | $0.15 |
Example: 100 events = $5.00 · 1,000 events = $50.00
Documentation

Geopolitical Intelligence MCP is an agent-native, pay-per-call political intelligence stack for AI agents, journalists, and government-affairs teams.
It wires Interpol Red Notices, FBI Most Wanted, FARA foreign-agent registrations, U.S. Senate lobbying disclosures, FEC campaign finance, and Federal Register rulemaking into a single MCP endpoint. Search any one source, or run the composite influence analysis that queries FARA, lobbying, FEC, and Federal Register in parallel for one entity in one call.
The category
Geopolitical Intelligence MCP is agent-native political intelligence infrastructure. Unlike browser-driven research portals (OpenSecrets, LobbyView, Sunlight Foundation) that require a human to navigate seven sites in seven tabs, and unlike enterprise sanctions and PEP stacks (Refinitiv World-Check, LexisNexis Bridger, Dow Jones Risk and Compliance) that lock equivalent public-record coverage behind a $20K-$50K annual seat, this MCP exposes the same underlying public records through one standard MCP endpoint that Claude Desktop, Cursor, an SDR-facing agent, or any HTTP client can call directly. Pay per call, no seat license, no scraper to maintain, no API keys for 5 of 6 sources.
In one sentence
Search Interpol, FBI, FARA, U.S. Senate lobbying, FEC campaign finance, and the Federal Register from a single MCP endpoint, with one composite tool that cross-references foreign influence, lobbying spend, donations, and rulemaking for any entity in one call.
What you get from one call
geo_influence_analysis fans out to FARA, Senate Lobbying, FEC, and Federal Register in parallel for one entity and returns:
influenceSignals[]plain-text findings ("3 active FARA registrations representing foreign principals from: Saudi Arabia, UAE", "47 lobbying filings in 2024 totaling $18,400,000")foreignAgentActivitytotal and active FARA registrations, foreign-principal countries, and the registrant firms representing the entitylobbyingActivitytotal lobbying income, issue-area codes (DEF, FOR, TAX, INT and others), foreign entities named in filings, and top filings by incomecampaignFinancetotal contributions, top contributions with committee and dateregulatoryActivityFederal Register document count, count of EO-12866-significant rules, agencies, and recent documentssources[]the four sources that fed the composite, so a thin response is never misread as a clean signal

What makes this different
- Public records only, no LLM in the results path. Every field comes from a named federal or international source. No model-generated claims, no hallucinated registrations, no invented donors.
- Cross-references that single-source tools cannot do. Lobbying issue areas line up against Federal Register agencies; FEC donor employers line up against lobbying clients. The composite tool surfaces those joins automatically.
- Source-honest. A failed upstream source returns an empty array for that source, not a fabricated clean result. The
sources[]array on the composite tells you which of the four actually delivered.
Before vs after
| Without this MCP | With this MCP |
|---|---|
| Open OpenSecrets, the DOJ FARA portal, the Senate LDA portal, FEC.gov, and FederalRegister.gov in five tabs | One tool call, all four influence sources queried in parallel |
| Pay $25K-$50K per seat per year for World-Check or Bridger to get comparable coverage in one interface | Pay $0.15 per composite influence call, no seat license |
| Hand-correlate lobbying clients against rulemaking agencies in a spreadsheet | lobbyingActivity.issueAreas and regulatoryActivity.agencies returned in one JSON envelope |
| Re-paste an Interpol or FBI name search into your AI agent every time | Call geo_interpol_notices or geo_fbi_wanted directly from Claude Desktop or Cursor |
| Maintain six brittle scrapers and rotate keys for each | Six keyless public APIs, one keyless composite, one FEC key optional |
Architecture
6 public-record sources → 6 sibling Apify actors → 8 MCP tools → agent-callable endpoint
people-search stream influence stream (the composite)
───────────────────── ─────────────────────────────────
Interpol Red Notices DOJ FARA registrations
→ geo_interpol_notices U.S. Senate LDA filings
FEC campaign finance
FBI Most Wanted Federal Register documents
→ geo_fbi_wanted ↓
runActor in parallel via apify-client
↓
signal aggregator
↓
geo_influence_analysis returns:
influenceSignals[] + foreignAgentActivity
+ lobbyingActivity + campaignFinance
+ regulatoryActivity
free catalogue tool
─────────────────────
geo_list_sources (no upstream fetch, no charge)
Built for
Political and investigative journalists tracking foreign-influence operations, foreign-influence investigators at think tanks and advocacy groups, sanctions and PEP screening teams that want public-record context layered onto a commercial Bridger or World-Check screen, corporate political-risk and government-affairs functions, opposition-research teams, regulatory-affairs teams correlating lobbying spend to rulemaking, and AI agents that need political-context grounding before drafting briefings or alerts.
This server runs in Standby mode on the Apify platform. It calls six sibling Apify actors (Interpol, FBI, FARA, Senate Lobbying, FEC, Federal Register) and returns structured JSON your AI agent reasons over directly.
Questions this MCP answers
- "Who lobbies for Saudi Arabia in the U.S. and what do they spend?"
- "Which agencies has Lockheed Martin influenced through lobbying and rulemaking in 2024?"
- "Is this person on an Interpol Red Notice?"
- "What did Big Pharma contribute to the 2024 election cycle?"
- "Which FARA registrants represent Chinese government principals?"
- "What significant rules has the EPA issued in the last 90 days?"
- "How much did this PAC raise and where did it spend?"
- "Is this fugitive on the FBI Ten Most Wanted list?"
- "Which lobbying firms work both sides of the defense issue area?"
For AI agents
- Call
geo_list_sourcesfirst when in doubt. It is free, returns the full tool catalogue, and tells you whether to reach for a people-search tool or the composite. geo_influence_analysisis the right call for "find me everything about entity X" prompts. It runs FARA, lobbying, FEC, and Federal Register in parallel. Do not chain those four tools separately for the same entity.- Interpol and FBI are NOT in the composite. Foreign influence and people search are different jobs. If the user wants criminal-record context, call
geo_interpol_noticesorgeo_fbi_wanteddirectly. - Branch on
influenceSignals[], not raw counts. A signal array of length 0 means no meaningful activity across the four influence sources; length 4 means every source contributed at least one finding. - FEC works without a key via the public DEMO_KEY at 1000 req/hr. For high-throughput batches, set
FEC_API_KEYor passfec_api_keyper call. - FBI field office must be a slug. Lowercase, no spaces. "newyork", "losangeles", "washington" not "New York".
Use this MCP when an AI agent needs to:
- investigate foreign-influence operations against a country, company, or topic
- map lobbying spend to regulatory outcomes for an industry
- screen a person against international and U.S. wanted lists
- build political-risk context for an M&A or partnership memo
- track Federal Register rulemaking for a specific agency or keyword
- ground a political briefing in verifiable public-record citations
What data can you access?
| Data Point | Source | Example |
|---|---|---|
| 🛂 International Red Notice records | Interpol | Wanted persons by name, nationality, sex, age |
| 🇺🇸 U.S. Most Wanted persons and case status | FBI | Ten Most Wanted, missing persons, kidnap, parental, VICAP |
| 🌍 Foreign agent registrations and principals | DOJ FARA | Registrant firm, foreign principal name, country, status |
| 🏛️ Federal lobbying disclosure filings | U.S. Senate LDA | Client, registrant, income, issue area code, filing period |
| 💵 Campaign contributions and candidate profiles | FEC | Contributor name, employer, amount, committee, election year |
| 📜 Final rules, proposed rules, notices, presidential docs | Federal Register | Agency, document type, EO 12866 significance, publication date |
| 🔁 Composite foreign-influence signals for an entity | FARA + Senate LDA + FEC + Federal Register | Active FARA registrations + foreign-principal countries + lobbying total + regulatory document count |
| 🗺️ Foreign-principal country index across FARA results | DOJ FARA | "foreignPrincipalCountries": ["Saudi Arabia", "UAE", "Qatar"] |
| 🧾 Aggregate lobbying income and issue-area mix | U.S. Senate LDA | "totalLobbyingIncome": 18400000, "issueAreas": ["DEF", "FOR", "TAX"] |
| ⚖️ EO 12866 significant-rule counts by agency | Federal Register | "significantRules": 4, "agencies": ["EPA", "SEC"] |
Why use Geopolitical Intelligence MCP?
Most political-intelligence work today is:
- manual and slow (hours per entity across OpenSecrets, FARA portal, Senate LDA, FEC.gov, FederalRegister.gov)
- locked behind seat licenses ($20K-$50K per year for World-Check, Bridger, Dow Jones Risk and Compliance)
- siloed by source (no native cross-reference between lobbying issue areas and Federal Register agencies)
- impossible for an AI agent to call without bespoke scrapers and key rotation per source
This MCP turns six public-record sources into one MCP endpoint a Claude Desktop user, a Cursor agent, or a Python client can call directly. Pay $0.05 per single-source call, $0.15 for the four-source composite, no subscription, no seat license, no scraper to maintain.
- Standby endpoint: persistent MCP server at
https://geopolitical-intelligence-mcp.apify.actor/mcp, idle-shuts down after 300s of inactivity to release platform compute - Parallel data fetching: the composite tool fires FARA, lobbying, FEC, and Federal Register concurrently
- API access: trigger any tool from Python, JavaScript, cURL, or any standard MCP client
- Monitoring: route HIGH-signal results to Slack or email via Apify failure webhooks and run-finish webhooks
- Integrations: pipe results into Notion, Airtable, Zapier, or any HTTP-receiving workflow
Features
Six public-record sources, one endpoint
- Interpol Red Notices: name, forename, two-letter nationality ISO code, sex, age range, free-text search.
- FBI Most Wanted: title keyword, poster classification (ten, default, information, law, missing, kidnap, parental, vicap), field office slug, case status (na, captured, recovered, located, surrendered, deceased), sex.
- FARA foreign agents: registrant name, foreign-principal name, country, direct registration number lookup, Active or Terminated or Both, optional document links, optional principal details.
- Senate lobbying filings: client, registrant firm, individual lobbyist, filing year (1999-2026), filing period (Q1/Q2/Q3/Q4/RR/MA/TA), 3-letter issue-area code, minimum income filter.
- FEC campaign finance: contributions mode or candidates mode, contributor name, candidate name, committee, employer, state, minimum amount, election year, optional API key.
- Federal Register: full-text keyword, agency slug, document type (RULE, PRORULE, NOTICE, PRESDOCU), date range, EO 12866 significant-rule filter.
One composite influence call
geo_influence_analysisruns FARA, Senate Lobbying, FEC, and Federal Register in parallel for one entity.- Returns
influenceSignals[]plain-text findings plus structuredforeignAgentActivity,lobbyingActivity,campaignFinance,regulatoryActivityblocks. - Cross-references foreign-principal countries (from FARA) against lobbying issue areas, donor patterns (from FEC), and regulatory agencies (from Federal Register).
Aggregates baked in
- FARA returns
foreignPrincipalCountries[]derived from principal records. - Lobbying returns
totalLobbyingIncomeandissueAreas[]. - FEC contributions mode returns
totalContributionsandtopContributors[]. - Federal Register returns
byDocumentTypecounts.
Standby + cost discipline
- Idle-shutdown after
STANDBY_IDLE_TIMEOUT_SECS(default 300s) so the customer is not billed standby compute while idle. geo_list_sourcesis free, no upstream fetch, no PPE charge.- Failed sub-actor calls return empty arrays, not exceptions: a slow Federal Register query never blocks the FARA result.
Quickstart workflows
Foreign-agent investigation
country or organization of interest
→ geo_fara_agents (foreign_principal_name + country)
→ if active registrations found:
→ geo_influence_analysis (entity = registrant or principal, election_year)
→ branch on lobbyingActivity.totalIncome + campaignFinance.totalAmount
Lobbying to regulation correlation
target industry or issue
→ geo_lobbying_filings (issue_area_code, filing_year)
→ note registrants and clients
→ geo_federal_register (agency or keyword from issue area, date_from = quarter start)
→ cross-reference: which lobbied clients align with agency rulemaking
Donor and lobbying convergence
entity (company, PAC, or sector)
→ geo_influence_analysis (entity, election_year, fec_api_key)
→ read campaignFinance.topContributions next to lobbyingActivity.topFilings
→ if both lists are populated, the entity is operating on both axes in the same cycle
Use cases for geopolitical intelligence
Foreign influence investigation
Investigative journalists and think tanks tracking influence operations against the U.S. need to know who registers as a foreign agent for which government, how much they bill, and which lobbyists they deploy. geo_fara_agents returns the live FARA picture (registrant, principal country, status, optional document links) and geo_influence_analysis adds Senate lobbying disclosures, FEC contributions, and Federal Register documents for the same entity in one call. The result is a publish-ready evidence dossier built from public records only.
Congressional bill and rulemaking due diligence
Government-affairs and regulatory-affairs teams need to know which firms lobby a given issue area and which agencies are issuing rules on it. geo_lobbying_filings with issue_area_code (DEF, FOR, TAX, INT, ENV and others) returns the lobbying picture; geo_federal_register with the matching agency slug returns rulemaking on the same axis. Pair them in a single agent prompt and the cross-reference is automatic.
M&A and partnership political-risk screening
Corporate development teams running due diligence on a counterparty want to know whether the target has foreign-agent exposure, an active lobbying footprint, named donor activity, or pending regulatory matters before signing an LOI. One geo_influence_analysis call returns all four signals as structured JSON, suitable for attaching to a deal memo without standing up a Bridger or World-Check seat for a one-off check.
Sanctions-adjacent PEP context
Compliance teams running a commercial sanctions and PEP screen (Refinitiv World-Check, Dow Jones Risk and Compliance, LexisNexis Bridger) often need supplementary public-record context: FARA registrations, lobbying ties, Interpol Red Notices. This MCP fills that context gap at $0.05-$0.15 per call without buying a second enterprise seat, so a single hit on a commercial list can be enriched on demand.
Opposition research
Campaign opposition-research teams pulling a profile on a candidate, donor network, or PAC can run geo_campaign_finance (candidates mode) for fundraising history and geo_campaign_finance (contributions mode) for donor patterns, then geo_lobbying_filings to surface the candidate's prior lobbying clients if applicable. Output is structured JSON that drops straight into a research memo.
Federal Register monitoring
Regulatory-affairs teams that need to know every significant rule a given agency publishes can run geo_federal_register with significant_only: true and an agency slug on a daily Apify schedule. Wire a webhook to Slack or email so the team sees a hit the moment it lands.
How to connect this geopolitical intelligence MCP
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"geopolitical-intelligence": {
"url": "https://geopolitical-intelligence-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Cursor, Windsurf, or Cline
Use the same URL and token in your MCP server settings panel. The server communicates via standard MCP protocol over HTTP POST to /mcp.
Python (via requests)
import requests
response = requests.post(
"https://geopolitical-intelligence-mcp.apify.actor/mcp",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "geo_influence_analysis",
"arguments": {
"entity": "Saudi Arabia",
"election_year": 2024
}
},
"id": 1
}
)
result = response.json()
report = result["result"]["content"][0]["text"]
print(report)
JavaScript
const response = await fetch(
"https://geopolitical-intelligence-mcp.apify.actor/mcp",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "geo_lobbying_filings",
arguments: {
client_name: "Lockheed Martin",
filing_year: 2024,
issue_area_code: "DEF"
}
},
id: 1
})
}
);
const data = await response.json();
const report = JSON.parse(data.result.content[0].text);
console.log(`Filings: ${report.total}, total income: $${report.totalLobbyingIncome.toLocaleString()}`);
cURL
# Composite influence analysis for one entity
curl -X POST "https://geopolitical-intelligence-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "geo_influence_analysis",
"arguments": {
"entity": "Saudi Arabia",
"election_year": 2024
}
},
"id": 1
}'
Environment variables
Five of six sources are keyless. FEC is keyless via DEMO_KEY but a free key raises the rate ceiling.
| Variable | Required | Purpose |
|---|---|---|
FEC_API_KEY | Optional | Free key from api.open.fec.gov. When absent, the FEC sub-actor uses the public DEMO_KEY at 1000 req/hr. When set, the rate ceiling is higher and shared across all geo_campaign_finance and geo_influence_analysis calls. The per-tool fec_api_key argument overrides the env var when provided. |
STANDBY_IDLE_TIMEOUT_SECS | Optional | Standby idle-shutdown window in seconds (default 300, minimum 60). The instance exits after this idle period to release platform compute; the next request cold-starts a fresh one. |
FARA, Interpol, FBI, U.S. Senate LDA, and Federal Register need no key. FARA's upstream API enforces 5 requests per 10 seconds: the sub-actor handles that throttling internally, no caller action needed.
MCP tools

| Tool | Input | Price | What it returns |
|---|---|---|---|
geo_interpol_notices | optional name, forename, nationality (2-letter), sex, age_min, age_max, free_text | $0.05 | Interpol Red Notices: total, nationalities[], data[] of wanted persons |
geo_fbi_wanted | optional title, poster_classification, field_office, status, sex | $0.05 | FBI Most Wanted: total, data[] of cases |
geo_fara_agents | at least one of registrant_name, foreign_principal_name, country, registration_number; optional status, include_documents, include_principals | $0.05 | FARA registrations: total, foreignPrincipalCountries[], data[] |
geo_lobbying_filings | optional client_name, registrant_name, lobbyist_name, filing_year (1999-2026), filing_period, issue_area_code, min_income | $0.05 | Senate LDA filings: total, totalLobbyingIncome, issueAreas[], data[] |
geo_campaign_finance | search_mode (contributions or candidates), optional contributor_name, candidate_name, committee_name, contributor_employer, contributor_state, min_amount, election_year, api_key | $0.05 | FEC: total, totalContributions, topContributors[] (contributions mode); candidate profiles (candidates mode) |
geo_federal_register | optional keyword, agency slug, document_type (RULE / PRORULE / NOTICE / PRESDOCU), date_from, date_to, significant_only | $0.05 | Federal Register: total, byDocumentType counts, data[] |
geo_influence_analysis | required entity; optional topic, election_year, fec_api_key | $0.15 | Composite: influenceSignals[], foreignAgentActivity, lobbyingActivity, campaignFinance, regulatoryActivity (queries FARA + Senate Lobbying + FEC + Federal Register in parallel; does NOT query Interpol or FBI) |
geo_list_sources | none | Free | Server name, version, and the 7-row tool catalogue. No upstream fetch, no charge |
Tool input reference
| Tool | Parameter | Type | Required | Description |
|---|---|---|---|---|
geo_interpol_notices | name | string | No | Family name / surname |
geo_interpol_notices | forename | string | No | First name |
geo_interpol_notices | nationality | string | No | Two-letter ISO country code (e.g. "RU", "GB", "CN") |
geo_interpol_notices | sex | enum | No | "M" or "F" |
geo_interpol_notices | age_min / age_max | number | No | Age range filter |
geo_interpol_notices | free_text | string | No | Free-text search across all fields |
geo_fbi_wanted | title | string | No | Name or case title keyword |
geo_fbi_wanted | poster_classification | enum | No | ten / default / information / law / missing / kidnap / parental / vicap |
geo_fbi_wanted | field_office | string | No | Slug, lowercase, no spaces (e.g. "newyork", "losangeles") |
geo_fbi_wanted | status | enum | No | na / captured / recovered / located / surrendered / deceased |
geo_fara_agents | one of registrant_name, foreign_principal_name, country, registration_number | string | Yes (at least one) | Tool rejects calls with none of these set |
geo_fara_agents | status | enum | No | Active (default) / Terminated / Both |
geo_fara_agents | include_documents / include_principals | boolean | No | Document links (default false) and principal details (default true) |
geo_lobbying_filings | filing_year | number | No | 1999-2026 (default 2024) |
geo_lobbying_filings | issue_area_code | string | No | 3-letter code (DEF defense, FOR foreign relations, TAX taxation, INT intelligence, ENV environment, etc.) |
geo_lobbying_filings | min_income | number | No | Minimum reported lobbying income in dollars |
geo_campaign_finance | search_mode | enum | No | contributions (default) or candidates |
geo_campaign_finance | election_year | number | No | Even years; default 2024 |
geo_campaign_finance | api_key | string | No | Per-call FEC key, overrides FEC_API_KEY env var |
geo_federal_register | agency | string | No | Official kebab-case agency slug (e.g. "environmental-protection-agency") |
geo_federal_register | document_type | enum | No | RULE (final) / PRORULE (proposed) / NOTICE / PRESDOCU (presidential document) |
geo_federal_register | significant_only | boolean | No | If true, only EO 12866 significant rules |
geo_influence_analysis | entity | string | Yes | Entity name to investigate (company, country, or individual) |
geo_influence_analysis | topic | string | No | Issue/topic keyword for Federal Register search; defaults to entity |
geo_influence_analysis | election_year | number | No | Election cycle for FEC data; default 2024 |
Output example
geo_influence_analysis call: {"entity": "Saudi Arabia", "election_year": 2024}.
{
"entity": "Saudi Arabia",
"topic": "Saudi Arabia",
"period": 2024,
"sources": ["FARA", "Senate Lobbying", "FEC", "Federal Register"],
"influenceSignals": [
"4 active FARA registration(s) representing foreign principals from: Saudi Arabia",
"12 lobbying filing(s) in 2024 totaling $4,820,000",
"8 campaign contribution(s) totaling $46,200",
"9 Federal Register document(s) found (2 significant)"
],
"signalCount": 4,
"foreignAgentActivity": {
"totalRegistrations": 7,
"activeRegistrations": 4,
"foreignPrincipalCountries": ["Saudi Arabia"],
"registrants": [
{ "name": "MSL Group Americas Inc.", "status": "Active", "principals": 2 },
{ "name": "Larson Shannahan Slifka Group LLC", "status": "Active", "principals": 1 },
{ "name": "Hogan Lovells US LLP", "status": "Active", "principals": 1 },
{ "name": "Squire Patton Boggs (US) LLP", "status": "Active", "principals": 1 }
]
},
"lobbyingActivity": {
"totalFilings": 12,
"totalIncome": 4820000,
"issueAreas": ["FOR", "DEF", "TRD", "INT"],
"foreignEntities": [
{ "name": "Embassy of Saudi Arabia" },
{ "name": "Ministry of Defense, Kingdom of Saudi Arabia" }
],
"topFilings": [
{ "client": "Embassy of Saudi Arabia", "registrant": "Hogan Lovells US LLP", "income": 980000, "period": "Q4" },
{ "client": "Saudi Arabian Ministry of Defense", "registrant": "Squire Patton Boggs (US) LLP", "income": 720000, "period": "Q3" },
{ "client": "Saudi Aramco", "registrant": "Brownstein Hyatt Farber Schreck LLP", "income": 480000, "period": "Q2" }
]
},
"campaignFinance": {
"totalContributions": 8,
"totalAmount": 46200,
"topContributions": [
{ "contributor": "Smith, John", "amount": 6600, "committee": "Friends of Senator Example", "date": "2024-03-12" },
{ "contributor": "Doe, Jane", "amount": 6600, "committee": "Example Victory Fund", "date": "2024-05-04" }
]
},
"regulatoryActivity": {
"totalDocuments": 9,
"significantRules": 2,
"agencies": [
"State Department",
"Department of Defense",
"Department of Commerce",
"Treasury Department"
],
"recentDocuments": [
{
"title": "Notice of Proposed Export License Determination, Defense Articles to Saudi Arabia",
"type": "Notice",
"agency": "Department of State",
"date": "2024-09-18",
"significant": false
},
{
"title": "Final Rule: Foreign Direct Investment Review Procedures",
"type": "Rule",
"agency": "Department of the Treasury",
"date": "2024-08-02",
"significant": true
}
]
}
}
The composite never invents fields: an entity with no FARA hits returns activeRegistrations: 0 and an empty registrants[]. An entity with no donor activity returns totalContributions: 0. Read the sources[] array and the four counts before treating a thin response as a clean signal.
Output fields
The fields below are what most consumers branch on.
Composite influence (geo_influence_analysis)
| Field | Type | Description |
|---|---|---|
influenceSignals | string[] | Plain-text findings, one per source that returned data |
signalCount | number | Count of populated sources (0-4); branch on this rather than raw record counts |
foreignAgentActivity.activeRegistrations | number | Active FARA registrations for the entity in question |
foreignAgentActivity.foreignPrincipalCountries | string[] | Countries listed as foreign principals across the FARA result set |
lobbyingActivity.totalIncome | number | Aggregate lobbying income across returned filings (dollars) |
lobbyingActivity.issueAreas | string[] | Issue-area codes touched by returned filings |
lobbyingActivity.foreignEntities | object[] | Foreign entities named in returned filings |
campaignFinance.totalAmount | number | Aggregate FEC contributions across returned records (dollars) |
regulatoryActivity.significantRules | number | Count of EO 12866 significant rules in the returned Federal Register set |
regulatoryActivity.agencies | string[] | Distinct agencies in the returned Federal Register set |
sources | string[] | Constant: ["FARA", "Senate Lobbying", "FEC", "Federal Register"] (Interpol and FBI are not in the composite) |
Single-source aggregates
| Field | Type | Description |
|---|---|---|
Interpol nationalities | string[] | Distinct nationalities across the returned wanted-person set |
FARA foreignPrincipalCountries | string[] | Distinct foreign-principal countries across the returned registration set |
Lobbying totalLobbyingIncome + issueAreas | number + string[] | Aggregate income and issue-area mix |
FEC contributions totalContributions + topContributors | number + object[] | Aggregate amount and top 10 contributors by amount |
Federal Register byDocumentType | object | Counts keyed by document type ({"Rule": 4, "Notice": 5}) |
How much does it cost to run political intelligence queries?
Geopolitical Intelligence MCP uses pay-per-event pricing. You pay $0.05 per single-source tool call and $0.15 per composite influence call. Platform compute is included. geo_list_sources is free, no upstream fetch and no charge.
| Scenario | Tool calls | Cost per call | Total cost |
|---|---|---|---|
| Single FARA check on one foreign principal | 1 × geo_fara_agents | $0.05 | $0.05 |
| Interpol + FBI screen on one name | 2 × single-source | $0.05 | $0.10 |
| Full influence analysis on one entity | 1 × geo_influence_analysis | $0.15 | $0.15 |
| 25-entity political-risk batch (composite each) | 25 × geo_influence_analysis | $0.15 | $3.75 |
| Monthly Federal Register sweep, 100 rule queries | 100 × geo_federal_register | $0.05 | $5.00 |
| 50 grant or contract counterparty due-diligence calls | 50 × geo_influence_analysis | $0.15 | $7.50 |
| 200 lobbying-filing queries for an industry mapping | 200 × geo_lobbying_filings | $0.05 | $10.00 |
You can set a maximum spending limit per run to cap exposure. The actor stops when the limit is reached and returns a structured error your pipeline can handle gracefully.
Compare this to enterprise sanctions and PEP stacks (Refinitiv World-Check, LexisNexis Bridger, Dow Jones Risk and Compliance) priced at $20,000-$50,000 per seat per year for comparable public-record coverage. Most teams using this MCP for supplementary political-record context spend under $50 per month with no subscription.
How it works
- Tool registration. The MCP server registers 8 tools at startup. Each paid tool is wired to a single Apify charge event (
interpol-search,fbi-search,fara-search,lobbying-search,fec-search,fed-register-search, orinfluence-analysis). - Single-source tools call one sibling Apify actor via
apify-clientand return the dataset items plus a small aggregate header (total,nationalities[],foreignPrincipalCountries[],totalLobbyingIncome,byDocumentType, etc.). - The composite
geo_influence_analysistool fires four sub-actor calls in parallel withPromise.allagainst FARA, Senate Lobbying, FEC, and Federal Register, then aggregatesinfluenceSignals[]plain-text findings and the four structured activity blocks. - FARA throttling is handled by the sub-actor, so the MCP caller never has to track the FARA rate limit (5 req per 10s) or rotate keys.
- Standby idle-shutdown. The Express server tracks last-request time. If no request arrives for
STANDBY_IDLE_TIMEOUT_SECSseconds (default 300), the actor exits cleanly to release platform compute. The next request cold-starts a fresh instance.
Failed sub-actor calls return an empty array rather than throwing, so a slow Federal Register query never blocks the FARA result inside the composite.
Tips for best results
-
Try short and long entity-name variations. "Saudi Arabia" returns different FARA hits than "Embassy of Saudi Arabia" or "Kingdom of Saudi Arabia". For a thorough sweep, run the composite twice with the country name and the embassy name.
-
Use
issue_area_codefor clean lobbying queries. The 3-letter codes (DEF, FOR, TAX, INT, ENV, TRD and so on) cut a 10,000-row issue space down to one axis. Pairissue_area_code: "DEF"withfiling_year: 2024for a tight defense-lobbying view. -
Pair lobbying issue area with Federal Register agency. A defense-lobbying surge is more meaningful when DOD or State Department rulemaking is also accelerating on the same axis. Run
geo_lobbying_filingsthengeo_federal_registerwith the matching agency slug and date window. -
Pass a FEC key for high-throughput batches. The public DEMO_KEY caps at 1000 req/hr shared across all DEMO_KEY users. Above ~10 contributor lookups per minute, set
FEC_API_KEY(env var) orfec_api_key(per-call). -
FBI field office is a slug, not a city. Use "newyork" not "New York", "losangeles" not "Los Angeles", "washingtondc" not "Washington, D.C.". Wrong slug returns zero results, not an error.
-
Federal Register agency is a kebab-case slug. "environmental-protection-agency" not "EPA", "securities-and-exchange-commission" not "SEC". The official slug is on the agency's FederalRegister.gov page.
-
Use the composite for "everything about entity X" prompts. Calling FARA + Lobbying + FEC + Federal Register separately for the same entity is 4 × $0.05 = $0.20. The composite is $0.15, runs them in parallel, and adds the
influenceSignals[]aggregate. -
Treat an empty Interpol or FBI hit as inconclusive, not exonerating. A name not on a wanted list does not mean the person has no criminal history elsewhere. Use the result for context, not adverse decisions.
Combine with other Apify actors
| Actor | How to combine |
|---|---|
| Interpol Red Notices | Call the sub-actor directly for batch Interpol screening with full input control outside the MCP |
| FBI Wanted Search | Call the sub-actor directly for FBI-only workflows or scheduled field-office sweeps |
| FARA Foreign Agents | Call the sub-actor directly for high-volume FARA pulls with full document-link control |
| Senate Lobbying Search | Call the sub-actor directly for issue-area scheduled monitoring across many filing years |
| FEC Campaign Finance | Call the sub-actor directly for candidates-mode profiles or large donor-batch jobs |
| Federal Register Search | Call the sub-actor directly for daily significant-rule sweeps by agency |
| Export Control Screening MCP | Pair with this MCP for combined sanctions / export-control + political-influence due diligence |
| Adversarial Corporate Opacity MCP | Combine when screening counterparties that may be using shell layering to mask foreign-government control |
| Research Integrity Screening MCP | Pair when a target entity straddles academic research and political activity (think tanks, university policy centers) |
Limitations
- Public records only, no classified intelligence. Everything returned is a public filing or publication. Out-of-scope: classified threat reports, non-public intelligence-community sources, private investigator files.
- Interpol Red Notices and FBI Most Wanted are NOT sanctions lists. Use OFAC SDN, EU consolidated, UK HMT, and UN sanctions sources for sanctions screening. This MCP gives wanted-person context, not designation status.
- FARA has known compliance gaps. Foreign-agent activity that is not registered does not appear here. A clean FARA result is evidence of "no registration filed", not "no foreign-agent activity".
- Lobbying disclosures lag by quarter. Senate LDA filings come in 45-90 days after the period ends. A Q4 2024 picture is incomplete until February 2025.
- FEC data excludes dark-money channels. 501(c)(4) and similar non-disclosed political spending is outside FEC reporting requirements and will not appear in
geo_campaign_financeor the composite. - Federal Register covers federal rulemaking only. State-level rulemaking, county ordinances, and city regulations are not in scope.
- FBI field office and Federal Register agency must be exact slugs. Lowercase, no spaces for FBI ("newyork"); kebab-case for Federal Register ("environmental-protection-agency"). Wrong slug returns zero results, not a helpful error.
- The composite tool does NOT include Interpol or FBI.
geo_influence_analysisqueries FARA + Senate Lobbying + FEC + Federal Register only. For people-search context, call the people-search tools directly. - Sub-actor timeouts default to 120 seconds (180 for FARA). A slow upstream returns an empty array for that source; the rest of the composite still returns.
- Two-letter ISO country codes for Interpol. "RU", "GB", "CN", not full country names.
Integrations
- Apify API, trigger any MCP tool from CRM, case-management, or research workflow software
- Webhooks, push composite-influence hits to Slack, email, Notion, or Airtable as they land
- Zapier, connect to a daily Federal Register sweep or weekly lobbying-filing pull and route results into a shared workspace
- Make, build conditional flows that escalate only HIGH-signal influence results to a human reviewer
- Google Sheets, export batch entity screenings to a shared spreadsheet for journalist or analyst review
- LangChain / LlamaIndex, expose the MCP tools as agent tools inside an LLM pipeline for political-context grounding
Troubleshooting
FARA returned nothing for a foreign-principal name I know exists. Try the embassy / ministry variation ("Embassy of Saudi Arabia" vs "Saudi Arabia"), drop the registrant filter, or use the country filter instead. FARA principal names are stored as written on the filing, which is often a long official entity name rather than the colloquial country reference.
Lobbying income is $0 for a recent quarter. Senate LDA filings happen quarterly with a 45-90 day reporting lag. Q4 of any year is incomplete until late January or February of the next year. Re-query after the reporting deadline.
FEC is rate-limited or returning 429. The public DEMO_KEY caps at 1000 req/hr shared across all DEMO_KEY users. Set FEC_API_KEY (env var, recommended) or pass fec_api_key per call to use your own key with a higher ceiling.
geo_federal_register returns nothing for an agency I expect to be active. The agency parameter requires the official kebab-case slug ("environmental-protection-agency", "securities-and-exchange-commission"), not the acronym. Find the exact slug on the agency's FederalRegister.gov page. Without agency, the search is keyword-only.
geo_fbi_wanted returns nothing for a field office. Field office must be a slug: lowercase, no spaces, no punctuation ("newyork", "losangeles", "washingtondc"). Mixed-case or spaced values return zero results.
Composite influence analysis returns mostly empty blocks. The entity may not be active across the four sources, or the entity name may need a variation. Try the country-vs-embassy substitution for sovereign entities, or the parent-vs-subsidiary substitution for corporate entities. A genuinely inactive entity will return signalCount: 0 with empty arrays.
Tool returns "error": true, "message": "Spending limit reached". Your Apify run has hit the configured maximum charge. Increase maxTotalChargeUsd in your run configuration, or top up platform credits in the Apify console.
Responsible use
- All data accessed by this server comes from public records: Interpol's public Red Notice search, the FBI's public Most Wanted index, the DOJ FARA public filings system, the U.S. Senate Lobbying Disclosure database, the FEC's public campaign finance database, and the U.S. Federal Register.
- Lobbying, FARA registration, and campaign contributions are lawful activities. Presence in these databases is not evidence of wrongdoing. Do not treat a FARA registration, lobbying filing, or FEC contribution as adverse on its own.
- Interpol Red Notices are not convictions. Red Notices are requests for cooperation in locating a person; some have been used by member states for politically motivated purposes. A Red Notice hit is investigative context, not a verdict.
- FBI Most Wanted entries are accusations or notices, not convictions unless the case status reflects a conviction.
- Use the output for context, prioritization, and human review, not as the sole basis for adverse employment, financial, or editorial decisions.
- Comply with applicable data-protection regulations and platform terms when storing or republishing screening outputs.
- For guidance on the legality of accessing and analysing public records, see Apify's guide.
FAQ
How is this different from OpenSecrets or LobbyView? OpenSecrets and LobbyView are human-facing research portals. You log in, type, click, scroll, and copy. This MCP exposes equivalent public-record sources (and several OpenSecrets does not cover, such as FARA, Interpol, FBI, and the Federal Register) through one MCP endpoint an AI agent or HTTP client can call directly. The cross-reference between lobbying issue areas, FARA principals, FEC donors, and Federal Register agencies is computed in one composite call rather than across five browser tabs.
Does this replace World-Check or Bridger? No, it complements them. Refinitiv World-Check, LexisNexis Bridger, and Dow Jones Risk and Compliance are full PEP and sanctions screening platforms with curated risk taxonomies, adverse-media coverage, and obligations under a regulated workflow. This MCP gives supplementary public-record context (FARA, lobbying, FEC, Federal Register, Interpol, FBI) on demand at $0.05-$0.15 per call. Use it to enrich a commercial sanctions hit, not to replace the regulated screen.
What is FARA and how is it different from Senate lobbying disclosure?
FARA (Foreign Agents Registration Act) covers entities lobbying or acting in the U.S. on behalf of a foreign principal: a foreign government, political party, or foreign-owned entity. Senate LDA (Lobbying Disclosure Act) covers lobbying of the U.S. Congress and executive branch on behalf of any client. An entity can be registered under both regimes simultaneously for different activities. The composite geo_influence_analysis tool queries both.
Why does the composite tool not include Interpol or FBI? Because foreign-influence analysis and people-search are different jobs. Folding Interpol or FBI into the composite would charge for irrelevant queries on most prompts. The composite is for "everything about entity X" influence prompts; people search is a separate, single-source call.
How often does FEC data update?
FEC processes contribution filings continuously, with most data appearing within a few days of filing. Pre-election cycle quarters refresh fastest. For the most current picture, query with the current election_year.
Why does the composite cost more than a single-source call?
Because it runs four sub-actor calls in parallel against FARA, Senate Lobbying, FEC, and Federal Register, and aggregates the influenceSignals[] block on top. Four single-source calls would cost 4 × $0.05 = $0.20; the composite is $0.15.
What is a lobbying issue area code? The Senate LDA uses 3-letter codes to classify the issues a filing covers. Common ones: DEF (defense), FOR (foreign relations), TAX (taxation), INT (intelligence), ENV (environment), TRD (trade), HCR (health care), FIN (financial institutions). Filing one issue area code is the cleanest way to slice a 10,000-filing year into a tractable sample.
Is the FBI Most Wanted list the same as a sanctions list? No. The FBI Most Wanted index is a law-enforcement wanted-person list for criminal cases. Sanctions lists (OFAC SDN, EU consolidated, UK HMT, UN) are designations by sanctions authorities for financial and trade restrictions. A person can be on one without being on the other. For sanctions screening, use a dedicated sanctions source.
Are Interpol Red Notices reliable for compliance decisions? Treat them as investigative context, not adjudications. Red Notices are requests by a member state for cooperation in locating a person. Some have been issued for politically motivated reasons against journalists, dissidents, and political opponents, and Interpol has reviewed and removed many such notices on appeal. Use Red Notice hits to trigger human review, not automatic denial.
Can I schedule a daily Federal Register sweep?
Yes. Use the Apify Scheduler to call geo_federal_register daily with a fixed agency slug, significant_only: true, and date_from set to yesterday. Wire a webhook to Slack or email so the team sees significant new rules within hours of publication.
Is it legal to use this MCP for political-record research? All underlying sources are public: Interpol's public Red Notice search, FBI Most Wanted, the DOJ FARA portal, the U.S. Senate Lobbying Disclosure database, the FEC, and the U.S. Federal Register. Accessing and analysing public records for journalism, government affairs, compliance context, and political risk research is standard practice. See Apify's guide on web scraping legality for broader context.
Help us improve
If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:
- Go to Account Settings > Privacy
- Enable Share runs with public Actor creators
This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.
Support
Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions or enterprise integrations, reach out through the Apify platform.
Related actors
AI Cold Email Writer — $0.01/Email, Zero LLM Markup
Generates personalized cold emails from enriched lead data using your own OpenAI or Anthropic key. Subject line, body, CTA, and optional follow-up sequence — $0.01/email, zero LLM markup.
AI Outreach Personalizer — Emails with Your LLM Key
Generate personalized cold emails using your own OpenAI or Anthropic API key. Subject lines, opening lines, full bodies — tailored to each lead's role, company, and signals. $0.01/lead compute + your LLM costs. Zero AI markup.
Bulk Email Verifier — MX, SMTP & Disposable Detection at Scale
Verify email deliverability in bulk — MX records, SMTP mailbox checks, disposable detection (55K+ domains), role-based flagging, catch-all detection, domain health scoring (SPF/DKIM/DMARC), and confidence scores. $0.005/email, no subscription.
CFPB Complaint Search — By Company, Product & State
Search the CFPB consumer complaint database with 5M+ complaints. Filter by company, product, state, date range, and keyword. Extract complaint details, company responses, and consumer narratives. Free US government data, no API key required.
Ready to try Geopolitical Intelligence MCP Server?
This actor is coming soon to the Apify Store.
Coming soon