Business Data MCP Server
README.md
# Business Data MCP Server
Gov contracts, jobs, LinkedIn and company data as tools for AI agents. Hosted on Apify: [apify.com/artificially/business-data-mcp](https://apify.com/artificially/business-data-mcp)
One **MCP server** that gives Claude, ChatGPT, Cursor and any other AI agent **13 business data tools**: US federal contract opportunities and awards, EU public tenders, jobs from Google Jobs, LinkedIn and company career sites, LinkedIn company and person profiles, Y Combinator startups, company contact details, website tech stacks, PDF text extraction and Google Trends.
Each tool runs one of our dedicated [Artificially](https://apify.com/artificially) Actors on your Apify account and returns compact JSON sized for an agent's context window.
**Built by [Artificially](https://apify.com/artificially)** | Follow us on [X @artificially_io](https://x.com/artificially_io)
## Why this MCP server
- **One connection, 13 tools** – no need to add each Actor separately. The agent sees clear tool names, short descriptions and small, typed inputs.
- **Agent-friendly output** – every tool asks the underlying Actor for its compact output, keeps result counts small by default and caps the response size, so answers fit in the context window.
- **Handles slow runs** – long runs report progress; if a run is still going when the wait limit is reached, the tool returns what is ready plus a `runId`, and the agent calls `get_run_results` later.
- **Clear errors** – failed runs, missing credit, blocked domains and unreadable documents come back as short messages the agent can act on.
- **You only pay for results** – no extra fee for the MCP layer (see Pricing).
## Tools
| Tool | What it does | Backed by |
| --- | --- | --- |
| `search_gov_contract_opportunities` | Open US federal solicitations, RFPs and sources sought on SAM.gov by keyword, NAICS, agency, set-aside and date | [SAM.gov Opportunities Scraper](https://apify.com/artificially/samgov-opportunities-scraper) |
| `search_awarded_federal_contracts` | Awarded US federal contracts (winners, amounts, agencies) from USAspending.gov | [US Federal Contracts Scraper](https://apify.com/artificially/us-contracts-scraper) |
| `search_eu_tenders` | EU/EEA public tenders and contract awards from TED by keyword, country, CPV and notice type | [EU Tenders Scraper](https://apify.com/artificially/eu-tenders-scraper) |
| `search_company_career_jobs` | Open roles from company career sites (Greenhouse, Lever, Ashby, Workable and more) | [Career Site Jobs Scraper](https://apify.com/artificially/career-site-jobs-scraper) |
| `search_google_jobs` | Google Jobs search results aggregated from job boards and company sites | [Google Jobs Scraper](https://apify.com/artificially/google-jobs-scraper) |
| `search_linkedin_jobs` | Public LinkedIn job postings by keywords, location, date, workplace type and seniority | [LinkedIn Jobs Scraper](https://apify.com/artificially/linkedin-jobs-scraper) |
| `get_linkedin_company` | LinkedIn company pages: website, industry, size, employees, followers, HQ, funding | [LinkedIn Company Scraper](https://apify.com/artificially/linkedin-company-scraper) |
| `get_linkedin_profiles` | Public LinkedIn person profiles: headline, current company, experience, education | [LinkedIn Profile Scraper](https://apify.com/artificially/linkedin-profile-scraper) |
| `find_yc_companies` | Y Combinator startups by keyword, batch, industry, status and hiring, optionally with founders | [Y Combinator Scraper](https://apify.com/artificially/ycombinator-scraper) |
| `get_company_contacts` | Emails, phone numbers, social profiles and contact pages from company websites | [Company Contact Extractor](https://apify.com/artificially/company-contact-extractor) |
| `detect_website_tech_stack` | Technologies a website uses: CMS, ecommerce, analytics, CDN, email provider, frameworks | [Website Tech Stack Detector](https://apify.com/artificially/website-tech-stack-detector) |
| `extract_pdf_text` | Clean text or Markdown from public PDF and Word (.docx) URLs, with optional OCR | [PDF Text Extractor](https://apify.com/artificially/pdf-text-extractor) |
| `google_trends` | Google Trends interest over time, regions and related queries, or what is trending now | [Google Trends Scraper](https://apify.com/artificially/google-trends-scraper) |
| `get_run_results` | Fetch or page through results of a run started by any tool above | – |
## Setup
You need an [Apify account](https://console.apify.com/sign-up) and your [Apify API token](https://console.apify.com/settings/integrations). The server uses the Streamable HTTP transport at this endpoint:
```
https://artificially--business-data-mcp.apify.actor/mcp
```
Send your token as `Authorization: Bearer <YOUR_APIFY_TOKEN>`. The exact URL is also shown on the Actor's **Endpoints** tab in Apify Console.
### Claude Code
```bash
claude mcp add --transport http business-data \
https://artificially--business-data-mcp.apify.actor/mcp \
--header "Authorization: Bearer <YOUR_APIFY_TOKEN>"
```
### Cursor, VS Code, Windsurf and other MCP clients
```json
{
"mcpServers": {
"business-data": {
"url": "https://artificially--business-data-mcp.apify.actor/mcp",
"headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
}
}
}
```
### Claude (claude.ai and Claude Desktop) via Apify's MCP server
Claude's custom connectors sign in with OAuth, so connect through [Apify's hosted MCP server](https://mcp.apify.com), which loads this server's tools for you:
Settings → Connectors → Add custom connector, and paste:
```
https://mcp.apify.com?tools=artificially/business-data-mcp
```
The same URL works in any client that supports remote MCP servers with OAuth. Tools then appear with an `artificially--business-data-mcp--` prefix.
### Clients without remote HTTP support
Use the `mcp-remote` bridge:
```json
{
"mcpServers": {
"business-data": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://artificially--business-data-mcp.apify.actor/mcp",
"--header", "Authorization: Bearer <YOUR_APIFY_TOKEN>"
]
}
}
}
```
## Example prompts
- "Find open SAM.gov cybersecurity solicitations for NAICS 541512 set aside for small businesses, due in the next 30 days."
- "Who won the largest Department of Veterans Affairs cloud contracts since 2024, and for how much?"
- "List open German public tenders for software development with deadlines at least two weeks away."
- "Which engineering roles are Stripe, Notion and Airbnb hiring for in London right now?"
- "Search Google Jobs and LinkedIn for remote senior data engineer jobs posted this week."
- "Get the LinkedIn company pages of OpenAI and Anthropic and compare headcount and followers."
- "List YC W25 fintech startups that are hiring, with their founders."
- "Find the contact emails and LinkedIn pages for these 10 domains, then tell me which of them run Shopify."
- "Read this RFP PDF and summarize the evaluation criteria and deadlines."
- "Compare Google Trends interest for 'claude' and 'chatgpt' in the US over the last 12 months."
## Pricing
**You pay each underlying Actor's per-result price, and nothing extra for the MCP layer.**
- Every tool call starts one run of the matching Artificially Actor on your Apify account, billed under that Actor's own pay-per-event pricing (for example, per company, per job or per document). Check each Actor's Store page (linked in the Tools table) for current prices.
- Tools use small default limits (usually 10-20 results) and pass them to the Actor, so a typical call costs cents.
- The MCP server itself runs in Apify Standby mode with 256 MB of memory. Its small platform usage while connected is billed to your account like any Actor run; it stops automatically when idle.
- Apify's free plan includes monthly credit that covers plenty of tool calls to try it out.
## How it works
1. Your MCP client calls a tool, for example `find_yc_companies` with `{"batches": ["W24"], "limit": 5}`.
2. The server starts `artificially/ycombinator-scraper` with `compactOutput: true` and `maxResults: 5`, using your own Apify token, so the run appears in your Apify Console.
3. It waits for the run (up to 2-3 minutes depending on the tool, with progress notifications), then returns the dataset items as compact JSON:
```json
{
"actor": "artificially/ycombinator-scraper",
"runId": "jGdWwQx1J5blfxiom",
"status": "SUCCEEDED",
"itemCount": 5,
"statusMessage": "Saved 5 Y Combinator companies (248 match in the directory). Reached maxResults.",
"items": [
{ "name": "Indemni", "website": "http://www.indemni.com", "oneLiner": "Cargo Theft and Fraud Prevention Platform", "batch": "Winter 2024", "status": "Active", "teamSize": 7, "isHiring": false }
]
}
```
If the run is not finished in time, the response contains the items saved so far, a `note` and the `runId`; the agent calls `get_run_results` to get the rest. Responses are capped at about 40,000 characters, with the remainder available through `get_run_results` and `offset`.
## FAQ
**Do I need to start the Actor manually?** No. It runs in Standby mode: the first request starts it automatically and it shuts down after a period of inactivity. Starting it from the Console's Start button does nothing useful.
**Can I use my own Actor inputs?** Each tool exposes the most useful inputs. For full control, run the underlying Actor directly or add it to [Apify's MCP server](https://mcp.apify.com) by name.
**Is LinkedIn data scraped while logged in?** No. Only public pages visible to logged-out visitors are read.
**Where do I report issues or request tools?** Open an issue on the Actor's **Issues** tab.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues