Pay-per-result SAM.gov contracts, SEC EDGAR filings, USAspending awards and GLEIF LEI lookups.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Abort an Actor run that is currently starting or running. For runs with status SUCCEEDED, FAILED, ABORTING, ABORTED, or TIMED-OUT, this call has no effect. The results will include the updated run details after the abort request. USAGE: - Use when you need to stop a run that is taking too long or misconfigured. USAGE EXAMPLES: - user_input: Abort run y2h7sK3Wc - user_input: Gracefully abort run y2h7sK3Wc
The ID of the Actor run to abort.
If true, the Actor run will abort gracefully with a 30-second timeout.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Abort an Actor run that is currently starting or running. For runs with status SUCCEEDED, FAILED, ABORTING, ABORTED, or TIMED-OUT, this call has no effect. The results will include the updated run details after the abort request. USAGE: - Use when you need to stop a run that is taking too long or misconfigured. USAGE EXAMPLES: - user_input: Abort run y2h7sK3Wc - user_input: Gracefully abort run y2h7sK3Wc
| Argument | Type | Description |
|---|---|---|
| runId* | string | The ID of the Actor run to abort. |
| gracefully | boolean | If true, the Actor run will abort gracefully with a 30-second timeout. |
{
"type": "object",
"required": [
"runId"
],
"properties": {
"runId": {
"type": "string",
"minLength": 1,
"description": "The ID of the Actor run to abort."
},
"gracefully": {
"type": "boolean",
"description": "If true, the Actor run will abort gracefully with a 30-second timeout."
}
},
"additionalProperties": false
}Get detailed information about a specific Actor run. Returns run result: status, storages (datasets/keyValueStores alias map), stats, summary, nextStep. - summary describes the past (e.g. "SUCCEEDED in 22s. 47 items; 3 fields available."). - nextStep prescribes one primary follow-up action with identifiers interpolated (e.g. "Use get-dataset-items with datasetId=..."). - waitSecs (0–45, default 30) waits up to that many seconds for terminal status before returning. USAGE: - Use to check the status of a run started by any Actor-running tool. - Pass waitSecs > 0 to block until terminal (or until the cap elapses). USAGE EXAMPLES: - user_input: Show details of run y2h7sK3Wc - user_input: Wait for run y2h7sK3Wc to finish
| Argument | Type | Description |
|---|---|---|
| runId* | string | The ID of the Actor run. |
| waitSecs | integer | Maximum seconds to wait for the run to reach a terminal state (SUCCEEDED, FAILED, ABORTED, TIMED-OUT). 0 returns immediately with the current status. Cap: 45. Default: 30. |
{
"type": "object",
"required": [
"runId"
],
"properties": {
"runId": {
"type": "string",
"minLength": 1,
"description": "The ID of the Actor run."
},
"waitSecs": {
"type": "integer",
"default": 30,
"maximum": 45,
"minimum": 0,
"description": "Maximum seconds to wait for the run to reach a terminal state (SUCCEEDED, FAILED, ABORTED, TIMED-OUT).\n0 returns immediately with the current status. Cap: 45. Default: 30."
}
},
"additionalProperties": false
}Get items (rows) from a dataset — the output/results produced by an Actor run. Returns the rows themselves, not dataset metadata, counts, or a schema. When the user provides a datasetId and asks to retrieve results, output, data, or rows, call this tool directly. Default limit is 20. Use clean=true to skip empty items and hidden fields. USAGE: - Use when you need to read data from a dataset (all items or only selected fields). USAGE EXAMPLES: - user_input: Retrieve results from dataset abc123 - user_input: Get only metadata.url and title from dataset username~my-dataset
| Argument | Type | Description |
|---|---|---|
| desc | boolean | If true, results are returned in reverse order (newest to oldest). |
| omit | string | Comma-separated list of fields to exclude from results. |
| clean | boolean | If true, returns only non-empty items and skips hidden fields (starting with #). Shortcut for skipHidden=true and skipEmpty=true. |
| limit | integer | Maximum number of items to return. Default is 20. |
| fields | string | Comma-separated list of fields to include in results. Fields in output are sorted as specified. Use dot notation for nested objects (e.g. "metadata.url"); the server auto-flattens parent prefixes. |
| offset | number | Number of items to skip at the start. Default is 0. |
Get the value stored under a specific key in a key-value store — a single record, not a listing of all keys. Requires the exact key name. The response preserves the original Content-Encoding; most clients handle decompression automatically. USAGE: - Use when you need to retrieve a specific record (JSON, text, or binary) from a store. USAGE EXAMPLES: - user_input: Get record INPUT from store abc123 - user_input: Get record data.json from store username~my-store
| Argument | Type | Description |
|---|---|---|
| recordKey* | string | Key of the record to retrieve. |
| keyValueStoreId* | string | Key-value store ID or username~store-name. |
{
"type": "object",
"required": [
"keyValueStoreId",
"recordKey"
],
"properties": {
"recordKey": {
"type": "string",
"minLength": 1,
"description": "Key of the record to retrieve."
},
"keyValueStoreId": {
"type": "string",
"minLength": 1,
"description": "Key-value store ID or username~store-name."
}
},
"additionalProperties": false
}This tool calls the Actor "gouda_studios/gleif-company-lei-lookup" and retrieves its output results. Actor description: Find any company LEI number by name, or look up an LEI, in the official GLEIF global registry. Get the legal name, status, jurisdiction, registration number, legal and HQ address, and direct and ultimate parent companies. For KYC, KYB, vendor checks and data enrichment.
| Argument | Type | Description |
|---|---|---|
| leis | array | Optional 20-character LEIs to fetch directly. |
| country | string | Optional ISO 2-letter country of the legal address, e.g. US, GB, DE. Improves name matching. |
| waitSecs | integer | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. |
| activeOnly | boolean | true (default) = skip lapsed/inactive entities for name and registration searches. Example values: true |
| maxResults | integer | Maximum rows overall (1-5000). You pay per row: 100 rows = $0.30. Example values: 100 |
| companyNames | array | Legal names to look up, e.g. ["Apple Inc.","Siemens AG"]. Exact legal name match first, then fuzzy full-text. Example values: ["Apple Inc."] |
This tool calls the Actor "gouda_studios/sam-gov-opportunities-feed" and retrieves its output results. Actor description: Get new federal contract opportunities from SAM.gov as clean JSON, no API key needed. Filter by keyword, NAICS, set-aside, notice type, agency and state. Includes deadlines, days left and contracting officer contacts. Monitor mode returns only new notices.
| Argument | Type | Description |
|---|---|---|
| apiKey | string | Optional. Your own free api.sam.gov public API key; when set, the Actor reads the official SAM.gov Opportunities API instead of the public search feed. |
| states | array | Optional 2-letter US state codes for the place of performance, e.g. ["VA","MD"]. Requires includeDetails=true. Empty = all locations. |
| onlyNew | boolean | true = return only notices not delivered in an earlier run with the same filters (state is kept between runs). Use with a schedule for an alert feed. |
| keywords | string | Optional free-text search over SAM.gov notice titles and text, e.g. "cybersecurity" or "janitorial services". Leave empty to return all notices that match the other filters. Example values: "software" |
| waitSecs | integer | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. |
This tool calls the Actor "gouda_studios/sec-edgar-filings-feed" and retrieves its output results. Actor description: Monitor SEC EDGAR filings by ticker or CIK, including 8-K, 10-Q, 10-K, Form 4 insider trades, Form D and S-1. Each result has the company, form type, filing date and document links. Only-new mode turns it into an alert feed for investors, research and AI agents.
| Argument | Type | Description |
|---|---|---|
| ciks | array | Optional SEC Central Index Keys, e.g. ["320193"]. Leave tickers and CIKs empty to get latest filings across all companies. |
| onlyNew | boolean | true = skip filings delivered by an earlier run with the same tickers/CIKs/forms. Use with a schedule for an alert feed. |
| tickers | array | Optional stock tickers, e.g. ["AAPL","NVDA"]. Resolved to CIKs with the SEC ticker file. Example values: ["AAPL","TSLA"] |
| waitSecs | integer | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. |
| formTypes | array | Form types to include, e.g. ["8-K","10-K","10-Q","4","D","S-1","13F-HR","SC 13D"]. Empty = all forms (company mode only; market-wide mode needs at least one). Example values: ["8-K"] |
| maxResults |
This tool calls the Actor "gouda_studios/usaspending-awards-search" and retrieves its output results. Actor description: Search USAspending.gov federal awards by keyword, recipient, agency, NAICS, state, date and amount. Get contracts and grants with amounts, recipients, awarding agency and performance dates as JSON. Track competitors, find who won contracts and build sales prospect lists.
| Argument | Type | Description |
|---|---|---|
| states | array | Optional 2-letter state codes, e.g. ["VA","TX"]. |
| endDate | string | YYYY-MM-DD. Defaults to today. |
| onlyNew | boolean | true = skip awards delivered by an earlier run with the same filters. |
| keywords | array | Optional words to match in award descriptions, e.g. ["cybersecurity"]. Example values: ["cybersecurity"] |
| waitSecs | integer | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. |
| awardType | string | contracts (default), idvs, grants, loans, direct_payments or other. Example values: "contracts" |
| maxAmount |
This tool calls the Actor "gouda_studios/website-contact-extractor" and retrieves its output results. Actor description: Email extractor and contact scraper for lead gen. Give it any list of websites and get emails, phones, LinkedIn, Facebook, Instagram, X and TikTok links and addresses, one deduplicated row per site. Cloudflare emails decoded, phones validated. Pay only for sites where contacts are found.
| Argument | Type | Description |
|---|---|---|
| checkMx | boolean | Adds a free DNS check that each email domain can receive mail. Flags typos and dead domains. Example values: true |
| waitSecs | integer | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. |
| startUrls* | array | **REQUIRED** Websites or domains to extract contacts from, one per line. Examples: https://www.example.com or example.com. Each site becomes exactly one output row. Example values: ["https://apify.com","https://www.python.org"] |
| defaultCountry | string | Two-letter country code used to read local phone numbers that have no +country prefix, e.g. US, GB, DE, AU. Example values: "US" |
| maxPagesPerSite | integer | How many pages to read on each site, starting with the homepage and then the most likely contact pages (Contact, About, Team, Impressum, Support). You pay per site, not per page, so higher values only cost more time. Example values: 8 |
This tool calls the Actor "gouda_studios/youtube-transcript-extractor" and retrieves its output results. Actor description: Get the transcript of any YouTube video or Short as clean text, timestamped text, segments and SRT. Bulk URLs, any language, auto-translate. Pay only for transcripts you get; failed videos are free.
| Argument | Type | Description |
|---|---|---|
| videos* | array | **REQUIRED** Watch URLs, youtu.be links, Shorts, live or embed URLs, or bare 11-character video IDs. Example values: ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"] |
| waitSecs | integer | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. |
| languages | array | Language codes in priority order, e.g. en, es, de. If none match, the first available transcript is returned. Example values: ["en"] |
| maxVideos | integer | Stop after this many videos. Example values: 1000 |
| includeSrt | boolean | Add an SRT subtitle file as a string. |
| translateTo | string | Language code to auto-translate the transcript into using YouTube's translation, e.g. en. |
| flatten | string | Comma-separated list of fields to flatten (e.g. flatten="metadata" turns {"metadata":{"url":"x"}} into {"metadata.url":"x"}). Normally derived automatically from dot-notation in `fields`; specify only as a diagnostic override. |
| datasetId* | string | Dataset ID or username~dataset-name. |
{
"type": "object",
"required": [
"datasetId"
],
"properties": {
"desc": {
"type": "boolean",
"description": "If true, results are returned in reverse order (newest to oldest)."
},
"omit": {
"type": "string",
"description": "Comma-separated list of fields to exclude from results."
},
"clean": {
"type": "boolean",
"description": "If true, returns only non-empty items and skips hidden fields (starting with #). Shortcut for skipHidden=true and skipEmpty=true."
},
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Maximum number of items to return. Default is 20."
},
"fields": {
"type": "string",
"description": "Comma-separated list of fields to include in results. Fields in output are sorted as specified. Use dot notation for nested objects (e.g. \"metadata.url\"); the server auto-flattens parent prefixes."
},
"offset": {
"type": "number",
"description": "Number of items to skip at the start. Default is 0."
},
"flatten": {
"type": "string",
"description": "Comma-separated list of fields to flatten (e.g. flatten=\"metadata\" turns {\"metadata\":{\"url\":\"x\"}} into {\"metadata.url\":\"x\"}). Normally derived automatically from dot-notation in `fields`; specify only as a diagnostic override."
},
"datasetId": {
"type": "string",
"minLength": 1,
"description": "Dataset ID or username~dataset-name."
}
},
"additionalProperties": false
}| includeParents | boolean | true (default) = add direct and ultimate parent (LEI, name, country) where reported. Example values: true |
| maxMatchesPerName | integer | How many candidate entities to return per name or registration number (1-50). Example values: 3 |
| registrationNumbers | array | Optional company-registry numbers as reported to GLEIF (registeredAs), e.g. a UK Companies House number. |
{
"$id": "https://apify.com/mcp/gouda_studios--gleif-company-lei-lookup/schema.json",
"type": "object",
"title": "Company Lookup by Name or LEI: Legal Entity, Address, Parent (GLEIF)",
"properties": {
"leis": {
"type": "array",
"items": {
"type": "string",
"title": "LEI codes",
"description": "Optional 20-character LEIs to fetch directly."
},
"title": "LEI codes",
"default": [],
"description": "Optional 20-character LEIs to fetch directly."
},
"country": {
"type": "string",
"title": "Country",
"description": "Optional ISO 2-letter country of the legal address, e.g. US, GB, DE. Improves name matching."
},
"waitSecs": {
"type": "integer",
"default": 30,
"maximum": 45,
"minimum": 0,
"description": "Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget."
},
"activeOnly": {
"type": "boolean",
"title": "Active entities only",
"default": true,
"examples": [
true
],
"description": "true (default) = skip lapsed/inactive entities for name and registration searches.\nExample values: true"
},
"maxResults": {
"type": "integer",
"title": "Max results",
"default": 100,
"examples": [
100
],
"description": "Maximum rows overall (1-5000). You pay per row: 100 rows = $0.30.\nExample values: 100"
},
"companyNames": {
"type": "array",
"items": {
"type": "string",
"title": "Company names",
"description": "Legal names to look up, e.g. [\"Apple Inc.\",\"Siemens AG\"]. Exact legal name match first, then fuzzy full-text."
},
"title": "Company names",
"default": [],
"prefill": [
"Apple Inc."
],
"examples": [
"Apple Inc."
],
"description": "Legal names to look up, e.g. [\"Apple Inc.\",\"Siemens AG\"]. Exact legal name match first, then fuzzy full-text.\nExample values: [\"Apple Inc.\"]"
},
"includeParents": {
"type": "boolean",
"title": "Include parent companies",
"default": true,
"examples": [
true
],
"description": "true (default) = add direct and ultimate parent (LEI, name, country) where reported.\nExample values: true"
},
"maxMatchesPerName": {
"type": "integer",
"title": "Max matches per name",
"default": 3,
"examples": [
3
],
"description": "How many candidate entities to return per name or registration number (1-50).\nExample values: 3"
},
"registrationNumbers": {
"type": "array",
"items": {
"type": "string",
"title": "Registration numbers",
"description": "Optional company-registry numbers as reported to GLEIF (registeredAs), e.g. a UK Companies House number."
},
"title": "Registration numbers",
"default": [],
"description": "Optional company-registry numbers as reported to GLEIF (registeredAs), e.g. a UK Companies House number."
}
},
"description": "Looks up legal entities worldwide in the official GLEIF Legal Entity Identifier (LEI) database and returns one JSON row per matched company with legal name, status, address, registration number and parent companies. Example: {\"companyNames\":[\"Apple Inc.\"],\"country\":\"US\"} or {\"leis\":[\"HWUPKR0MPOU8FGXBT394\"]}. Pricing: $0.003 per company row."
}| setAsides | array | Optional small-business set-aside codes, e.g. ["SBA","8A","SDVOSBC","WOSB","HZC"]. Empty = any set-aside or none. |
| activeOnly | boolean | true (default) = skip archived/inactive notices. Example values: true |
| maxResults | integer | Maximum rows to return (1-10000). You are charged per row returned, so this caps the cost: 100 rows = $0.20 at $0.002/row. Example values: 100 |
| naicsCodes | array | Optional list of 6-digit NAICS industry codes (strings), e.g. ["541511","541512"]. A notice matches if it has any of them. Empty = all industries. |
| noticeTypes | array | Optional list of notice type codes: o=Solicitation, k=Combined Synopsis/Solicitation, p=Presolicitation, r=Sources Sought, s=Special Notice, a=Award Notice, u=Justification, i=Intent to Bundle, g=Surplus sale. Empty = all types. |
| agencyContains | string | Optional case-insensitive text the agency path must contain, e.g. "Navy" or "Veterans Affairs". |
| includeDetails | boolean | true (default) = fetch each notice for NAICS, PSC, set-aside, place of performance, full description and contacts. false = faster, fewer fields. Example values: true |
| includeContacts | boolean | true (default) = include the contracting officer work name, email and phone published on the notice. Example values: true |
| postedWithinDays | integer | Only notices posted or updated in the last N days. 0 = no date limit. Use 1-7 for daily/weekly monitoring. |
| minDaysUntilResponse | integer | Optional. Skip notices whose response deadline is fewer than N days away, so you only get ones you can still bid on. |
{
"$id": "https://apify.com/mcp/gouda_studios--sam-gov-opportunities-feed/schema.json",
"type": "object",
"title": "SAM.gov Contract Opportunities Feed",
"required": [],
"properties": {
"apiKey": {
"type": "string",
"title": "SAM.gov API key (optional)",
"description": "Optional. Your own free api.sam.gov public API key; when set, the Actor reads the official SAM.gov Opportunities API instead of the public search feed."
},
"states": {
"type": "array",
"items": {
"type": "string",
"title": "Place of performance (state codes)",
"description": "Optional 2-letter US state codes for the place of performance, e.g. [\"VA\",\"MD\"]. Requires includeDetails=true. Empty = all locations."
},
"title": "Place of performance (state codes)",
"default": [],
"description": "Optional 2-letter US state codes for the place of performance, e.g. [\"VA\",\"MD\"]. Requires includeDetails=true. Empty = all locations."
},
"onlyNew": {
"type": "boolean",
"title": "Only new since last run (monitor mode)",
"default": false,
"description": "true = return only notices not delivered in an earlier run with the same filters (state is kept between runs). Use with a schedule for an alert feed."
},
"keywords": {
"type": "string",
"title": "Keywords",
"prefill": "software",
"examples": [
"software"
],
"description": "Optional free-text search over SAM.gov notice titles and text, e.g. \"cybersecurity\" or \"janitorial services\". Leave empty to return all notices that match the other filters.\nExample values: \"software\""
},
"waitSecs": {
"type": "integer",
"default": 30,
"maximum": 45,
"minimum": 0,
"description": "Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget."
},
"setAsides": {
"type": "array",
"items": {
"enum": [
"SBA",
"SBP",
"8A",
"8AN",
"HZC",
"HZS",
"SDVOSBC",
"SDVOSBS",
"WOSB",
"WOSBSS",
"EDWOSB",
"EDWOSBSS",
"VSA",
"VSS"
],
"type": "string",
"enumTitles": [
"Total Small Business",
"Partial Small Business",
"8(a) Competed",
"8(a) Sole Source",
"HUBZone",
"HUBZone Sole Source",
"SDVOSB",
"SDVOSB Sole Source",
"WOSB",
"WOSB Sole Source",
"EDWOSB",
"EDWOSB Sole Source",
"Veteran-Owned",
"Veteran-Owned Sole Source"
]
},
"title": "Set-asides",
"default": [],
"description": "Optional small-business set-aside codes, e.g. [\"SBA\",\"8A\",\"SDVOSBC\",\"WOSB\",\"HZC\"]. Empty = any set-aside or none."
},
"activeOnly": {
"type": "boolean",
"title": "Active notices only",
"default": true,
"examples": [
true
],
"description": "true (default) = skip archived/inactive notices.\nExample values: true"
},
"maxResults": {
"type": "integer",
"title": "Max results",
"default": 100,
"examples": [
100
],
"description": "Maximum rows to return (1-10000). You are charged per row returned, so this caps the cost: 100 rows = $0.20 at $0.002/row.\nExample values: 100"
},
"naicsCodes": {
"type": "array",
"items": {
"type": "string",
"title": "NAICS codes",
"description": "Optional list of 6-digit NAICS industry codes (strings), e.g. [\"541511\",\"541512\"]. A notice matches if it has any of them. Empty = all industries."
},
"title": "NAICS codes",
"default": [],
"description": "Optional list of 6-digit NAICS industry codes (strings), e.g. [\"541511\",\"541512\"]. A notice matches if it has any of them. Empty = all industries."
},
"noticeTypes": {
"type": "array",
"items": {
"enum": [
"o",
"k",
"p",
"r",
"s",
"a",
"u",
"i",
"g"
],
"type": "string",
"enumTitles": [
"Solicitation",
"Combined Synopsis/Solicitation",
"Presolicitation",
"Sources Sought",
"Special Notice",
"Award Notice",
"Justification (J&A)",
"Intent to Bundle",
"Sale of Surplus Property"
]
},
"title": "Notice types",
"default": [],
"description": "Optional list of notice type codes: o=Solicitation, k=Combined Synopsis/Solicitation, p=Presolicitation, r=Sources Sought, s=Special Notice, a=Award Notice, u=Justification, i=Intent to Bundle, g=Surplus sale. Empty = all types."
},
"agencyContains": {
"type": "string",
"title": "Agency contains",
"description": "Optional case-insensitive text the agency path must contain, e.g. \"Navy\" or \"Veterans Affairs\"."
},
"includeDetails": {
"type": "boolean",
"title": "Fetch full details",
"default": true,
"examples": [
true
],
"description": "true (default) = fetch each notice for NAICS, PSC, set-aside, place of performance, full description and contacts. false = faster, fewer fields.\nExample values: true"
},
"includeContacts": {
"type": "boolean",
"title": "Include contracting officer contacts",
"default": true,
"examples": [
true
],
"description": "true (default) = include the contracting officer work name, email and phone published on the notice.\nExample values: true"
},
"postedWithinDays": {
"type": "integer",
"title": "Posted/updated within (days)",
"default": 0,
"description": "Only notices posted or updated in the last N days. 0 = no date limit. Use 1-7 for daily/weekly monitoring."
},
"minDaysUntilResponse": {
"type": "integer",
"title": "Minimum days until response deadline",
"description": "Optional. Skip notices whose response deadline is fewer than N days away, so you only get ones you can still bid on."
}
},
"description": "Returns U.S. federal contract opportunities (RFPs, RFQs, sources sought, award notices) from SAM.gov as one JSON row per notice. All inputs are optional; a good default is {\"keywords\":\"software\",\"postedWithinDays\":7,\"maxResults\":50}. Pricing: pay per event, $0.002 per opportunity row returned."
}| integer |
| Maximum rows (1-5000). You pay per row, so this caps cost: 100 rows = $0.20. Example values: 100 |
| contactEmail | string | Optional. SEC asks automated clients to identify themselves; this email is sent in the User-Agent header to sec.gov only. |
| filedWithinDays | integer | Only filings from the last N days. 0 = no limit (company mode returns the ~1000 most recent). Example values: 7 |
{
"$id": "https://apify.com/mcp/gouda_studios--sec-edgar-filings-feed/schema.json",
"type": "object",
"title": "SEC EDGAR Filings Feed: 8-K, 10-K, 10-Q, Form 4, Form D, S-1",
"properties": {
"ciks": {
"type": "array",
"items": {
"type": "string",
"title": "CIK numbers",
"description": "Optional SEC Central Index Keys, e.g. [\"320193\"]. Leave tickers and CIKs empty to get latest filings across all companies."
},
"title": "CIK numbers",
"default": [],
"description": "Optional SEC Central Index Keys, e.g. [\"320193\"]. Leave tickers and CIKs empty to get latest filings across all companies."
},
"onlyNew": {
"type": "boolean",
"title": "Only new since last run",
"default": false,
"description": "true = skip filings delivered by an earlier run with the same tickers/CIKs/forms. Use with a schedule for an alert feed."
},
"tickers": {
"type": "array",
"items": {
"type": "string",
"title": "Tickers",
"description": "Optional stock tickers, e.g. [\"AAPL\",\"NVDA\"]. Resolved to CIKs with the SEC ticker file."
},
"title": "Tickers",
"default": [],
"prefill": [
"AAPL",
"TSLA"
],
"examples": [
"AAPL",
"TSLA"
],
"description": "Optional stock tickers, e.g. [\"AAPL\",\"NVDA\"]. Resolved to CIKs with the SEC ticker file.\nExample values: [\"AAPL\",\"TSLA\"]"
},
"waitSecs": {
"type": "integer",
"default": 30,
"maximum": 45,
"minimum": 0,
"description": "Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget."
},
"formTypes": {
"type": "array",
"items": {
"type": "string",
"title": "Form types",
"description": "Form types to include, e.g. [\"8-K\",\"10-K\",\"10-Q\",\"4\",\"D\",\"S-1\",\"13F-HR\",\"SC 13D\"]. Empty = all forms (company mode only; market-wide mode needs at least one)."
},
"title": "Form types",
"default": [],
"prefill": [
"8-K"
],
"examples": [
"8-K"
],
"description": "Form types to include, e.g. [\"8-K\",\"10-K\",\"10-Q\",\"4\",\"D\",\"S-1\",\"13F-HR\",\"SC 13D\"]. Empty = all forms (company mode only; market-wide mode needs at least one).\nExample values: [\"8-K\"]"
},
"maxResults": {
"type": "integer",
"title": "Max results",
"default": 100,
"examples": [
100
],
"description": "Maximum rows (1-5000). You pay per row, so this caps cost: 100 rows = $0.20.\nExample values: 100"
},
"contactEmail": {
"type": "string",
"title": "Contact email for SEC User-Agent",
"description": "Optional. SEC asks automated clients to identify themselves; this email is sent in the User-Agent header to sec.gov only."
},
"filedWithinDays": {
"type": "integer",
"title": "Filed within (days)",
"default": 7,
"examples": [
7
],
"description": "Only filings from the last N days. 0 = no limit (company mode returns the ~1000 most recent).\nExample values: 7"
}
},
"description": "Returns SEC EDGAR filings as one JSON row per filing, from official sec.gov / data.sec.gov endpoints. With tickers or CIKs it reads each company's filing history; with neither it returns the latest market-wide filings of the chosen form types. Example: {\"tickers\":[\"AAPL\",\"TSLA\"],\"formTypes\":[\"8-K\",\"10-Q\"],\"filedWithinDays\":30}. Pricing: $0.002 per filing row."
}| integer |
| Optional upper bound on award amount. |
| minAmount | integer | Optional lower bound on award amount. |
| startDate | string | YYYY-MM-DD. Defaults to 90 days ago. USAspending data starts 2007-10-01. |
| maxResults | integer | Maximum rows (1-10000). You pay per row: 100 rows = $0.15. Example values: 100 |
| naicsCodes | array | Optional NAICS codes (contracts only), e.g. ["541512"]. |
| recipientNames | array | Optional company or organization names (or UEIs), e.g. ["Booz Allen Hamilton"]. Find a competitor's federal wins. |
| awardingAgencies | array | Optional top-tier agency names exactly as USAspending lists them, e.g. ["Department of Defense","Department of Veterans Affairs"]. |
{
"$id": "https://apify.com/mcp/gouda_studios--usaspending-awards-search/schema.json",
"type": "object",
"title": "USAspending Federal Awards Search: Contracts, Grants, Recipients",
"properties": {
"states": {
"type": "array",
"items": {
"type": "string",
"title": "Place of performance states",
"description": "Optional 2-letter state codes, e.g. [\"VA\",\"TX\"]."
},
"title": "Place of performance states",
"default": [],
"description": "Optional 2-letter state codes, e.g. [\"VA\",\"TX\"]."
},
"endDate": {
"type": "string",
"title": "End date",
"description": "YYYY-MM-DD. Defaults to today."
},
"onlyNew": {
"type": "boolean",
"title": "Only new since last run",
"default": false,
"description": "true = skip awards delivered by an earlier run with the same filters."
},
"keywords": {
"type": "array",
"items": {
"type": "string",
"title": "Keywords",
"description": "Optional words to match in award descriptions, e.g. [\"cybersecurity\"]."
},
"title": "Keywords",
"default": [],
"prefill": [
"cybersecurity"
],
"examples": [
"cybersecurity"
],
"description": "Optional words to match in award descriptions, e.g. [\"cybersecurity\"].\nExample values: [\"cybersecurity\"]"
},
"waitSecs": {
"type": "integer",
"default": 30,
"maximum": 45,
"minimum": 0,
"description": "Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget."
},
"awardType": {
"enum": [
"contracts",
"idvs",
"grants",
"loans",
"direct_payments",
"other"
],
"type": "string",
"title": "Award type",
"default": "contracts",
"examples": [
"contracts"
],
"description": "contracts (default), idvs, grants, loans, direct_payments or other.\nExample values: \"contracts\""
},
"maxAmount": {
"type": "integer",
"title": "Maximum amount (USD)",
"description": "Optional upper bound on award amount."
},
"minAmount": {
"type": "integer",
"title": "Minimum amount (USD)",
"description": "Optional lower bound on award amount."
},
"startDate": {
"type": "string",
"title": "Start date",
"description": "YYYY-MM-DD. Defaults to 90 days ago. USAspending data starts 2007-10-01."
},
"maxResults": {
"type": "integer",
"title": "Max results",
"default": 100,
"examples": [
100
],
"description": "Maximum rows (1-10000). You pay per row: 100 rows = $0.15.\nExample values: 100"
},
"naicsCodes": {
"type": "array",
"items": {
"type": "string",
"title": "NAICS codes",
"description": "Optional NAICS codes (contracts only), e.g. [\"541512\"]."
},
"title": "NAICS codes",
"default": [],
"description": "Optional NAICS codes (contracts only), e.g. [\"541512\"]."
},
"recipientNames": {
"type": "array",
"items": {
"type": "string",
"title": "Recipient names",
"description": "Optional company or organization names (or UEIs), e.g. [\"Booz Allen Hamilton\"]. Find a competitor's federal wins."
},
"title": "Recipient names",
"default": [],
"description": "Optional company or organization names (or UEIs), e.g. [\"Booz Allen Hamilton\"]. Find a competitor's federal wins."
},
"awardingAgencies": {
"type": "array",
"items": {
"type": "string",
"title": "Awarding agencies",
"description": "Optional top-tier agency names exactly as USAspending lists them, e.g. [\"Department of Defense\",\"Department of Veterans Affairs\"]."
},
"title": "Awarding agencies",
"default": [],
"description": "Optional top-tier agency names exactly as USAspending lists them, e.g. [\"Department of Defense\",\"Department of Veterans Affairs\"]."
}
},
"description": "Returns U.S. federal spending awards (contracts, IDVs, grants, loans) from the official USAspending.gov API, one JSON row per award, largest first. Example: {\"keywords\":[\"cybersecurity\"],\"awardType\":\"contracts\",\"startDate\":\"2026-01-01\",\"maxResults\":50}. Pricing: $0.0015 per award row."
}| respectRobotsTxt | boolean | Skip pages that a site's robots.txt asks crawlers not to visit. Example values: true |
| proxyConfiguration | object | Optional. Most business sites work without a proxy. Turn on Apify Proxy if many sites time out or block requests. Example values: {"useApifyProxy":false} |
{
"$id": "https://apify.com/mcp/gouda_studios--website-contact-extractor/schema.json",
"type": "object",
"title": "Website Contact Extractor",
"required": [
"startUrls"
],
"properties": {
"checkMx": {
"type": "boolean",
"title": "Check email domains for MX records",
"default": true,
"examples": [
true
],
"description": "Adds a free DNS check that each email domain can receive mail. Flags typos and dead domains.\nExample values: true"
},
"waitSecs": {
"type": "integer",
"default": 30,
"maximum": 45,
"minimum": 0,
"description": "Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget."
},
"startUrls": {
"type": "array",
"items": {
"type": "string",
"title": "Websites",
"description": "**REQUIRED** Websites or domains to extract contacts from, one per line. Examples: https://www.example.com or example.com. Each site becomes exactly one output row."
},
"title": "Websites",
"prefill": [
"https://apify.com",
"https://www.python.org"
],
"examples": [
"https://apify.com",
"https://www.python.org"
],
"description": "**REQUIRED** Websites or domains to extract contacts from, one per line. Examples: https://www.example.com or example.com. Each site becomes exactly one output row.\nExample values: [\"https://apify.com\",\"https://www.python.org\"]"
},
"defaultCountry": {
"type": "string",
"title": "Default phone country",
"default": "US",
"examples": [
"US"
],
"description": "Two-letter country code used to read local phone numbers that have no +country prefix, e.g. US, GB, DE, AU.\nExample values: \"US\""
},
"maxPagesPerSite": {
"type": "integer",
"title": "Max pages per site",
"default": 8,
"examples": [
8
],
"description": "How many pages to read on each site, starting with the homepage and then the most likely contact pages (Contact, About, Team, Impressum, Support). You pay per site, not per page, so higher values only cost more time.\nExample values: 8"
},
"respectRobotsTxt": {
"type": "boolean",
"title": "Respect robots.txt",
"default": true,
"examples": [
true
],
"description": "Skip pages that a site's robots.txt asks crawlers not to visit.\nExample values: true"
},
"proxyConfiguration": {
"type": "object",
"title": "Proxy",
"default": {
"useApifyProxy": false
},
"examples": [
{
"useApifyProxy": false
}
],
"required": [
"useApifyProxy"
],
"properties": {
"proxyUrls": {
"type": "array",
"items": {
"type": "string",
"title": "Custom proxy URL",
"description": "Custom proxy URL"
},
"title": "Proxy URLs",
"description": "List of custom proxy URLs to be used instead of the Apify Proxy."
},
"useApifyProxy": {
"type": "boolean",
"title": "Use Apify Proxy",
"default": true,
"description": "Whether to use Apify Proxy. Set this to false when you want to use custom proxy URLs."
},
"apifyProxyGroups": {
"type": "array",
"items": {
"enum": [
"RESIDENTIAL",
"DATACENTER"
],
"type": "string",
"title": "Proxy group name",
"description": "Proxy group name"
},
"title": "Apify Proxy Groups",
"description": "Select specific Apify Proxy groups to use (e.g., RESIDENTIAL, DATACENTER).\n**DATACENTER:**\nThe fastest and cheapest option. It uses datacenters to change your IP address. Note that there is a chance of being blocked because of the activity of other users.\n\n**RESIDENTIAL:**\nIP addresses located in homes and offices around the world. These IPs are the least likely to be blocked."
}
},
"description": "Optional. Most business sites work without a proxy. Turn on Apify Proxy if many sites time out or block requests.\nExample values: {\"useApifyProxy\":false}"
}
}
}| preferManual | boolean | Use manually created captions over auto-generated ones when both exist. Example values: true |
| includeSegments | boolean | Add an array of segments with start time and duration. Example values: true |
| proxyConfiguration | object | Optional. Leave off to use our built-in residential proxy, included in the price. Set your own only if you want to. Example values: {"useApifyProxy":false} |
{
"$id": "https://apify.com/mcp/gouda_studios--youtube-transcript-extractor/schema.json",
"type": "object",
"title": "YouTube Transcript Extractor input",
"required": [
"videos"
],
"properties": {
"videos": {
"type": "array",
"items": {
"type": "string",
"title": "YouTube video URLs or IDs",
"description": "**REQUIRED** Watch URLs, youtu.be links, Shorts, live or embed URLs, or bare 11-character video IDs."
},
"title": "YouTube video URLs or IDs",
"prefill": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ"
],
"examples": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ"
],
"description": "**REQUIRED** Watch URLs, youtu.be links, Shorts, live or embed URLs, or bare 11-character video IDs.\nExample values: [\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\"]"
},
"waitSecs": {
"type": "integer",
"default": 30,
"maximum": 45,
"minimum": 0,
"description": "Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget."
},
"languages": {
"type": "array",
"items": {
"type": "string",
"title": "Preferred languages",
"description": "Language codes in priority order, e.g. en, es, de. If none match, the first available transcript is returned."
},
"title": "Preferred languages",
"default": [
"en"
],
"examples": [
"en"
],
"description": "Language codes in priority order, e.g. en, es, de. If none match, the first available transcript is returned.\nExample values: [\"en\"]"
},
"maxVideos": {
"type": "integer",
"title": "Max videos",
"default": 1000,
"examples": [
1000
],
"description": "Stop after this many videos.\nExample values: 1000"
},
"includeSrt": {
"type": "boolean",
"title": "Include SRT subtitles",
"default": false,
"description": "Add an SRT subtitle file as a string."
},
"translateTo": {
"type": "string",
"title": "Translate to (optional)",
"description": "Language code to auto-translate the transcript into using YouTube's translation, e.g. en."
},
"preferManual": {
"type": "boolean",
"title": "Prefer human-made captions",
"default": true,
"examples": [
true
],
"description": "Use manually created captions over auto-generated ones when both exist.\nExample values: true"
},
"includeSegments": {
"type": "boolean",
"title": "Include timed segments",
"default": true,
"examples": [
true
],
"description": "Add an array of segments with start time and duration.\nExample values: true"
},
"proxyConfiguration": {
"type": "object",
"title": "Proxy",
"default": {
"useApifyProxy": false
},
"prefill": {
"useApifyProxy": false
},
"examples": [
{
"useApifyProxy": false
}
],
"required": [
"useApifyProxy"
],
"properties": {
"proxyUrls": {
"type": "array",
"items": {
"type": "string",
"title": "Custom proxy URL",
"description": "Custom proxy URL"
},
"title": "Proxy URLs",
"description": "List of custom proxy URLs to be used instead of the Apify Proxy."
},
"useApifyProxy": {
"type": "boolean",
"title": "Use Apify Proxy",
"default": true,
"description": "Whether to use Apify Proxy. Set this to false when you want to use custom proxy URLs."
},
"apifyProxyGroups": {
"type": "array",
"items": {
"enum": [
"RESIDENTIAL",
"DATACENTER"
],
"type": "string",
"title": "Proxy group name",
"description": "Proxy group name"
},
"title": "Apify Proxy Groups",
"description": "Select specific Apify Proxy groups to use (e.g., RESIDENTIAL, DATACENTER).\n**DATACENTER:**\nThe fastest and cheapest option. It uses datacenters to change your IP address. Note that there is a chance of being blocked because of the activity of other users.\n\n**RESIDENTIAL:**\nIP addresses located in homes and offices around the world. These IPs are the least likely to be blocked."
}
},
"description": "Optional. Leave off to use our built-in residential proxy, included in the price. Set your own only if you want to.\nExample values: {\"useApifyProxy\":false}"
}
}
}