Spaces:
Running
Running
AI Product Market refresh (2026-09-25 14:56 UTC)
Browse files- .well-known/agent-card.json +79 -2
- market/.well-known/agent-card.json +79 -2
- market/agents/article-extract.agent-card.json +85 -0
- market/agents/bulk-image-downloader.agent-card.json +82 -0
- market/agents/send-email.agent-card.json +84 -0
- market/catalog.json +85 -48
- market/live-snapshot.json +107 -8
- market/llms-full.txt +69 -11
- market/llms.txt +5 -11
- market/openapi/article-extract.json +562 -0
- market/openapi/bulk-image-downloader.json +628 -0
- market/openapi/send-email.json +745 -0
- market/tools/article-extract.md +1 -3
- market/tools/bulk-image-downloader.md +3 -5
- market/tools/company-to-domain.md +2 -2
- market/tools/send-email.md +1 -3
.well-known/agent-card.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
{
|
| 2 |
"name": "CyberMax tools",
|
| 3 |
-
"description": "CyberMax publishes data, verification and extraction tools for AI agents: Gripeline, HireHeat Jobs, Linkheft, DomainDNA, Swellmeter, HireHeat, Keyfern, Boardroom Buys, Hollerdex, SnapScout. Each skill is callable through Apify's hosted MCP server (one URL can load several tools) or its HTTP API with the caller's own Apify token, billed per result. Not a conversational A2A agent: interfaces are declared as custom protocol bindings (A2A spec section 5.8). Full catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json",
|
| 4 |
"supportedInterfaces": [
|
| 5 |
{
|
| 6 |
-
"url": "https://mcp.apify.com/?tools=cybermax/app-reviews,cybermax/career-site-jobs,cybermax/domain-authority,cybermax/domain-intel,cybermax/google-trends,cybermax/hiring-signals,cybermax/keyword-ideas,cybermax/sec-insider-tracker,cybermax/website-contacts,cybermax/website-screenshot",
|
| 7 |
"protocolBinding": "https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http",
|
| 8 |
"protocolVersion": "2025-06-18"
|
| 9 |
},
|
|
@@ -76,6 +76,57 @@
|
|
| 76 |
"application/json"
|
| 77 |
]
|
| 78 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
{
|
| 80 |
"id": "cybermax.career-site-jobs",
|
| 81 |
"name": "HireHeat Jobs: Career Site Job Listings: Greenhouse & Lever",
|
|
@@ -265,6 +316,32 @@
|
|
| 265 |
"application/json"
|
| 266 |
]
|
| 267 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 268 |
{
|
| 269 |
"id": "cybermax.website-contacts",
|
| 270 |
"name": "Hollerdex: Website Contact Finder & Contact Details Scraper",
|
|
|
|
| 1 |
{
|
| 2 |
"name": "CyberMax tools",
|
| 3 |
+
"description": "CyberMax publishes data, verification and extraction tools for AI agents: Gripeline, Inkpluck, Picpail, HireHeat Jobs, Linkheft, DomainDNA, Swellmeter, HireHeat, Keyfern, Boardroom Buys, Sendfinch, Hollerdex, SnapScout. Each skill is callable through Apify's hosted MCP server (one URL can load several tools) or its HTTP API with the caller's own Apify token, billed per result. Not a conversational A2A agent: interfaces are declared as custom protocol bindings (A2A spec section 5.8). Full catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json",
|
| 4 |
"supportedInterfaces": [
|
| 5 |
{
|
| 6 |
+
"url": "https://mcp.apify.com/?tools=cybermax/app-reviews,cybermax/article-extract,cybermax/bulk-image-downloader,cybermax/career-site-jobs,cybermax/domain-authority,cybermax/domain-intel,cybermax/google-trends,cybermax/hiring-signals,cybermax/keyword-ideas,cybermax/sec-insider-tracker,cybermax/send-email,cybermax/website-contacts,cybermax/website-screenshot",
|
| 7 |
"protocolBinding": "https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http",
|
| 8 |
"protocolVersion": "2025-06-18"
|
| 9 |
},
|
|
|
|
| 76 |
"application/json"
|
| 77 |
]
|
| 78 |
},
|
| 79 |
+
{
|
| 80 |
+
"id": "cybermax.article-extract",
|
| 81 |
+
"name": "Inkpluck: Article Extractor: URL to Text, Markdown & Metadata",
|
| 82 |
+
"description": "Inkpluck. Article extractor: give URLs of news articles, blog posts or docs pages and get, per URL, the clean article body as Markdown (or plain text) without navigation, ads or footers, plus title, authors, publish and modified dates (ISO 8601), language, site name, tags, top image, embedded videos, word count, reading time, a paywall flag and looksLikeArticle (false for home/section pages). Use it to read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus. It fetches the given URLs and feed items only (no crawling) with plain HTTP, so JavaScript-only pages and hard bot walls return a free failure with the reason. Cost: $0.001 per article extracted; failures are free. Typically 0.5-3 s per URL.",
|
| 83 |
+
"tags": [
|
| 84 |
+
"mcp-server",
|
| 85 |
+
"inkpluck",
|
| 86 |
+
"article-extractor",
|
| 87 |
+
"web-to-markdown",
|
| 88 |
+
"readability",
|
| 89 |
+
"newspaper3k",
|
| 90 |
+
"news",
|
| 91 |
+
"rag",
|
| 92 |
+
"llm",
|
| 93 |
+
"ai-agents"
|
| 94 |
+
],
|
| 95 |
+
"examples": [
|
| 96 |
+
"read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus",
|
| 97 |
+
"{\"urls\":[\"https://techcrunch.com/2026/09/23/meta-introduces-camera-free-ai-glasses/\",\"https://blog.cloudflare.com/vary-support/\"]}"
|
| 98 |
+
],
|
| 99 |
+
"inputModes": [
|
| 100 |
+
"application/json"
|
| 101 |
+
],
|
| 102 |
+
"outputModes": [
|
| 103 |
+
"application/json"
|
| 104 |
+
]
|
| 105 |
+
},
|
| 106 |
+
{
|
| 107 |
+
"id": "cybermax.bulk-image-downloader",
|
| 108 |
+
"name": "Picpail: Bulk Image Downloader: All Images from URLs to ZIP",
|
| 109 |
+
"description": "Picpail. Bulk image downloader: give web page URLs (product pages, galleries, blog posts) and/or direct image URLs; it finds every image (img, srcset, lazy-load data-src, picture, CSS backgrounds, og:image, JSON-LD, linked originals), swaps CDN thumbnails for FULL-SIZE ORIGINALS (Shopify, WordPress, Wikimedia, Cloudinary, Wix, Squarespace, Contentful, imgix), downloads each once, verifies it from its bytes and returns a ZIP link (or one link per file with output=\"files\") plus, per image: real format, width, height, bytes, alt text and where it was found. Filters: minWidth/minHeight, formats, sameDomainOnly, urlPattern. Use it to collect product photos, back up a site's media, build image datasets or audit alt text. Reads server HTML (no browser): JavaScript-only pages return few images. Cost: $0.0005 per image delivered (+$0.0001 per MB above 2 MB for very large files); duplicates and skipped images are free.",
|
| 110 |
+
"tags": [
|
| 111 |
+
"mcp-server",
|
| 112 |
+
"picpail",
|
| 113 |
+
"image-downloader",
|
| 114 |
+
"bulk-image-download",
|
| 115 |
+
"download-images",
|
| 116 |
+
"image-scraper",
|
| 117 |
+
"ai-agents"
|
| 118 |
+
],
|
| 119 |
+
"examples": [
|
| 120 |
+
"collect product photos, back up a site's media, build image datasets or audit alt text",
|
| 121 |
+
"{\"urls\":[\"https://books.toscrape.com/\"],\"output\":\"list\",\"formats\":[\"jpeg\",\"png\",\"webp\"],\"minWidth\":100}"
|
| 122 |
+
],
|
| 123 |
+
"inputModes": [
|
| 124 |
+
"application/json"
|
| 125 |
+
],
|
| 126 |
+
"outputModes": [
|
| 127 |
+
"application/json"
|
| 128 |
+
]
|
| 129 |
+
},
|
| 130 |
{
|
| 131 |
"id": "cybermax.career-site-jobs",
|
| 132 |
"name": "HireHeat Jobs: Career Site Job Listings: Greenhouse & Lever",
|
|
|
|
| 316 |
"application/json"
|
| 317 |
]
|
| 318 |
},
|
| 319 |
+
{
|
| 320 |
+
"id": "cybermax.send-email",
|
| 321 |
+
"name": "Sendfinch: Send Email via SMTP, Resend, SendGrid & Mailgun",
|
| 322 |
+
"description": "Sendfinch. Sends an email (HTML and/or plain text, cc/bcc, reply-to, attachments by URL or text) from the user's configured sender address through their own SMTP server, Resend, SendGrid, Mailgun or Postmark account. Returns, per email, ok, the provider message ID, the SMTP/HTTP response, refused recipients and a readable error. Use dry_run: true first to show the user the rendered email without sending (free). Only email people who expect it (the user, their team, their customers); never cold or bulk marketing. Cost: $0.001 per recipient accepted; failures and dry runs are free. Typically 3-6 s.",
|
| 323 |
+
"tags": [
|
| 324 |
+
"mcp-server",
|
| 325 |
+
"sendfinch",
|
| 326 |
+
"send-email",
|
| 327 |
+
"smtp",
|
| 328 |
+
"resend",
|
| 329 |
+
"sendgrid",
|
| 330 |
+
"mailgun",
|
| 331 |
+
"postmark",
|
| 332 |
+
"email",
|
| 333 |
+
"ai-agents"
|
| 334 |
+
],
|
| 335 |
+
"examples": [
|
| 336 |
+
"{\"from\":\"Acme Alerts <alerts@acme.com>\",\"subject\":\"Hi {{firstName}}, your {{plan}} report is ready\",\"html\":\"<p>Hi {{firstName}},</p><p>Your {{plan}} report for <b>{{company}}</b> is ready.</p>\",\"mode\":\"merge\",\"items\":[{\"email\":\"ann@example.com\",\"firstName\":\"Ann\",\"company\":\"Acme Corp\",\"plan\":\"Pro\"},{\"email\":\"raj@example.org\",\"firstName\":\"Raj\",\"company\":\"Northwind\",\"plan\":\"Team\"}],\"dryRun\":true}"
|
| 337 |
+
],
|
| 338 |
+
"inputModes": [
|
| 339 |
+
"application/json"
|
| 340 |
+
],
|
| 341 |
+
"outputModes": [
|
| 342 |
+
"application/json"
|
| 343 |
+
]
|
| 344 |
+
},
|
| 345 |
{
|
| 346 |
"id": "cybermax.website-contacts",
|
| 347 |
"name": "Hollerdex: Website Contact Finder & Contact Details Scraper",
|
market/.well-known/agent-card.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
{
|
| 2 |
"name": "CyberMax tools",
|
| 3 |
-
"description": "CyberMax publishes data, verification and extraction tools for AI agents: Gripeline, HireHeat Jobs, Linkheft, DomainDNA, Swellmeter, HireHeat, Keyfern, Boardroom Buys, Hollerdex, SnapScout. Each skill is callable through Apify's hosted MCP server (one URL can load several tools) or its HTTP API with the caller's own Apify token, billed per result. Not a conversational A2A agent: interfaces are declared as custom protocol bindings (A2A spec section 5.8). Full catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json",
|
| 4 |
"supportedInterfaces": [
|
| 5 |
{
|
| 6 |
-
"url": "https://mcp.apify.com/?tools=cybermax/app-reviews,cybermax/career-site-jobs,cybermax/domain-authority,cybermax/domain-intel,cybermax/google-trends,cybermax/hiring-signals,cybermax/keyword-ideas,cybermax/sec-insider-tracker,cybermax/website-contacts,cybermax/website-screenshot",
|
| 7 |
"protocolBinding": "https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http",
|
| 8 |
"protocolVersion": "2025-06-18"
|
| 9 |
},
|
|
@@ -76,6 +76,57 @@
|
|
| 76 |
"application/json"
|
| 77 |
]
|
| 78 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
{
|
| 80 |
"id": "cybermax.career-site-jobs",
|
| 81 |
"name": "HireHeat Jobs: Career Site Job Listings: Greenhouse & Lever",
|
|
@@ -265,6 +316,32 @@
|
|
| 265 |
"application/json"
|
| 266 |
]
|
| 267 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 268 |
{
|
| 269 |
"id": "cybermax.website-contacts",
|
| 270 |
"name": "Hollerdex: Website Contact Finder & Contact Details Scraper",
|
|
|
|
| 1 |
{
|
| 2 |
"name": "CyberMax tools",
|
| 3 |
+
"description": "CyberMax publishes data, verification and extraction tools for AI agents: Gripeline, Inkpluck, Picpail, HireHeat Jobs, Linkheft, DomainDNA, Swellmeter, HireHeat, Keyfern, Boardroom Buys, Sendfinch, Hollerdex, SnapScout. Each skill is callable through Apify's hosted MCP server (one URL can load several tools) or its HTTP API with the caller's own Apify token, billed per result. Not a conversational A2A agent: interfaces are declared as custom protocol bindings (A2A spec section 5.8). Full catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json",
|
| 4 |
"supportedInterfaces": [
|
| 5 |
{
|
| 6 |
+
"url": "https://mcp.apify.com/?tools=cybermax/app-reviews,cybermax/article-extract,cybermax/bulk-image-downloader,cybermax/career-site-jobs,cybermax/domain-authority,cybermax/domain-intel,cybermax/google-trends,cybermax/hiring-signals,cybermax/keyword-ideas,cybermax/sec-insider-tracker,cybermax/send-email,cybermax/website-contacts,cybermax/website-screenshot",
|
| 7 |
"protocolBinding": "https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http",
|
| 8 |
"protocolVersion": "2025-06-18"
|
| 9 |
},
|
|
|
|
| 76 |
"application/json"
|
| 77 |
]
|
| 78 |
},
|
| 79 |
+
{
|
| 80 |
+
"id": "cybermax.article-extract",
|
| 81 |
+
"name": "Inkpluck: Article Extractor: URL to Text, Markdown & Metadata",
|
| 82 |
+
"description": "Inkpluck. Article extractor: give URLs of news articles, blog posts or docs pages and get, per URL, the clean article body as Markdown (or plain text) without navigation, ads or footers, plus title, authors, publish and modified dates (ISO 8601), language, site name, tags, top image, embedded videos, word count, reading time, a paywall flag and looksLikeArticle (false for home/section pages). Use it to read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus. It fetches the given URLs and feed items only (no crawling) with plain HTTP, so JavaScript-only pages and hard bot walls return a free failure with the reason. Cost: $0.001 per article extracted; failures are free. Typically 0.5-3 s per URL.",
|
| 83 |
+
"tags": [
|
| 84 |
+
"mcp-server",
|
| 85 |
+
"inkpluck",
|
| 86 |
+
"article-extractor",
|
| 87 |
+
"web-to-markdown",
|
| 88 |
+
"readability",
|
| 89 |
+
"newspaper3k",
|
| 90 |
+
"news",
|
| 91 |
+
"rag",
|
| 92 |
+
"llm",
|
| 93 |
+
"ai-agents"
|
| 94 |
+
],
|
| 95 |
+
"examples": [
|
| 96 |
+
"read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus",
|
| 97 |
+
"{\"urls\":[\"https://techcrunch.com/2026/09/23/meta-introduces-camera-free-ai-glasses/\",\"https://blog.cloudflare.com/vary-support/\"]}"
|
| 98 |
+
],
|
| 99 |
+
"inputModes": [
|
| 100 |
+
"application/json"
|
| 101 |
+
],
|
| 102 |
+
"outputModes": [
|
| 103 |
+
"application/json"
|
| 104 |
+
]
|
| 105 |
+
},
|
| 106 |
+
{
|
| 107 |
+
"id": "cybermax.bulk-image-downloader",
|
| 108 |
+
"name": "Picpail: Bulk Image Downloader: All Images from URLs to ZIP",
|
| 109 |
+
"description": "Picpail. Bulk image downloader: give web page URLs (product pages, galleries, blog posts) and/or direct image URLs; it finds every image (img, srcset, lazy-load data-src, picture, CSS backgrounds, og:image, JSON-LD, linked originals), swaps CDN thumbnails for FULL-SIZE ORIGINALS (Shopify, WordPress, Wikimedia, Cloudinary, Wix, Squarespace, Contentful, imgix), downloads each once, verifies it from its bytes and returns a ZIP link (or one link per file with output=\"files\") plus, per image: real format, width, height, bytes, alt text and where it was found. Filters: minWidth/minHeight, formats, sameDomainOnly, urlPattern. Use it to collect product photos, back up a site's media, build image datasets or audit alt text. Reads server HTML (no browser): JavaScript-only pages return few images. Cost: $0.0005 per image delivered (+$0.0001 per MB above 2 MB for very large files); duplicates and skipped images are free.",
|
| 110 |
+
"tags": [
|
| 111 |
+
"mcp-server",
|
| 112 |
+
"picpail",
|
| 113 |
+
"image-downloader",
|
| 114 |
+
"bulk-image-download",
|
| 115 |
+
"download-images",
|
| 116 |
+
"image-scraper",
|
| 117 |
+
"ai-agents"
|
| 118 |
+
],
|
| 119 |
+
"examples": [
|
| 120 |
+
"collect product photos, back up a site's media, build image datasets or audit alt text",
|
| 121 |
+
"{\"urls\":[\"https://books.toscrape.com/\"],\"output\":\"list\",\"formats\":[\"jpeg\",\"png\",\"webp\"],\"minWidth\":100}"
|
| 122 |
+
],
|
| 123 |
+
"inputModes": [
|
| 124 |
+
"application/json"
|
| 125 |
+
],
|
| 126 |
+
"outputModes": [
|
| 127 |
+
"application/json"
|
| 128 |
+
]
|
| 129 |
+
},
|
| 130 |
{
|
| 131 |
"id": "cybermax.career-site-jobs",
|
| 132 |
"name": "HireHeat Jobs: Career Site Job Listings: Greenhouse & Lever",
|
|
|
|
| 316 |
"application/json"
|
| 317 |
]
|
| 318 |
},
|
| 319 |
+
{
|
| 320 |
+
"id": "cybermax.send-email",
|
| 321 |
+
"name": "Sendfinch: Send Email via SMTP, Resend, SendGrid & Mailgun",
|
| 322 |
+
"description": "Sendfinch. Sends an email (HTML and/or plain text, cc/bcc, reply-to, attachments by URL or text) from the user's configured sender address through their own SMTP server, Resend, SendGrid, Mailgun or Postmark account. Returns, per email, ok, the provider message ID, the SMTP/HTTP response, refused recipients and a readable error. Use dry_run: true first to show the user the rendered email without sending (free). Only email people who expect it (the user, their team, their customers); never cold or bulk marketing. Cost: $0.001 per recipient accepted; failures and dry runs are free. Typically 3-6 s.",
|
| 323 |
+
"tags": [
|
| 324 |
+
"mcp-server",
|
| 325 |
+
"sendfinch",
|
| 326 |
+
"send-email",
|
| 327 |
+
"smtp",
|
| 328 |
+
"resend",
|
| 329 |
+
"sendgrid",
|
| 330 |
+
"mailgun",
|
| 331 |
+
"postmark",
|
| 332 |
+
"email",
|
| 333 |
+
"ai-agents"
|
| 334 |
+
],
|
| 335 |
+
"examples": [
|
| 336 |
+
"{\"from\":\"Acme Alerts <alerts@acme.com>\",\"subject\":\"Hi {{firstName}}, your {{plan}} report is ready\",\"html\":\"<p>Hi {{firstName}},</p><p>Your {{plan}} report for <b>{{company}}</b> is ready.</p>\",\"mode\":\"merge\",\"items\":[{\"email\":\"ann@example.com\",\"firstName\":\"Ann\",\"company\":\"Acme Corp\",\"plan\":\"Pro\"},{\"email\":\"raj@example.org\",\"firstName\":\"Raj\",\"company\":\"Northwind\",\"plan\":\"Team\"}],\"dryRun\":true}"
|
| 337 |
+
],
|
| 338 |
+
"inputModes": [
|
| 339 |
+
"application/json"
|
| 340 |
+
],
|
| 341 |
+
"outputModes": [
|
| 342 |
+
"application/json"
|
| 343 |
+
]
|
| 344 |
+
},
|
| 345 |
{
|
| 346 |
"id": "cybermax.website-contacts",
|
| 347 |
"name": "Hollerdex: Website Contact Finder & Contact Details Scraper",
|
market/agents/article-extract.agent-card.json
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "Inkpluck (CyberMax)",
|
| 3 |
+
"description": "Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out. newspaper3k-compatible fields. $0.001 per article; failures free. Not a conversational A2A agent: the interfaces below are the tool's MCP (streamable HTTP) and Apify HTTP endpoints, declared as custom protocol bindings (A2A spec section 5.8).",
|
| 4 |
+
"supportedInterfaces": [
|
| 5 |
+
{
|
| 6 |
+
"url": "https://mcp.apify.com/?tools=cybermax/article-extract",
|
| 7 |
+
"protocolBinding": "https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http",
|
| 8 |
+
"protocolVersion": "2025-06-18"
|
| 9 |
+
},
|
| 10 |
+
{
|
| 11 |
+
"url": "https://api.apify.com/v2/acts/cybermax~article-extract/run-sync-get-dataset-items",
|
| 12 |
+
"protocolBinding": "https://docs.apify.com/api/v2/act-run-sync-get-dataset-items-post",
|
| 13 |
+
"protocolVersion": "v2"
|
| 14 |
+
}
|
| 15 |
+
],
|
| 16 |
+
"provider": {
|
| 17 |
+
"organization": "CyberMax",
|
| 18 |
+
"url": "https://apify.com/cybermax"
|
| 19 |
+
},
|
| 20 |
+
"version": "1.0.0",
|
| 21 |
+
"documentationUrl": "https://apify.com/cybermax/article-extract",
|
| 22 |
+
"capabilities": {
|
| 23 |
+
"streaming": false,
|
| 24 |
+
"pushNotifications": false,
|
| 25 |
+
"extendedAgentCard": false
|
| 26 |
+
},
|
| 27 |
+
"securitySchemes": {
|
| 28 |
+
"apifyToken": {
|
| 29 |
+
"httpAuthSecurityScheme": {
|
| 30 |
+
"scheme": "Bearer",
|
| 31 |
+
"description": "Your Apify API token; calls are billed per event to your Apify account."
|
| 32 |
+
}
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
"securityRequirements": [
|
| 36 |
+
{
|
| 37 |
+
"schemes": {
|
| 38 |
+
"apifyToken": {
|
| 39 |
+
"list": []
|
| 40 |
+
}
|
| 41 |
+
}
|
| 42 |
+
}
|
| 43 |
+
],
|
| 44 |
+
"defaultInputModes": [
|
| 45 |
+
"application/json"
|
| 46 |
+
],
|
| 47 |
+
"defaultOutputModes": [
|
| 48 |
+
"application/json"
|
| 49 |
+
],
|
| 50 |
+
"skills": [
|
| 51 |
+
{
|
| 52 |
+
"id": "cybermax.article-extract",
|
| 53 |
+
"name": "Inkpluck: Article Extractor: URL to Text, Markdown & Metadata",
|
| 54 |
+
"description": "Inkpluck. Article extractor: give URLs of news articles, blog posts or docs pages and get, per URL, the clean article body as Markdown (or plain text) without navigation, ads or footers, plus title, authors, publish and modified dates (ISO 8601), language, site name, tags, top image, embedded videos, word count, reading time, a paywall flag and looksLikeArticle (false for home/section pages). Use it to read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus. It fetches the given URLs and feed items only (no crawling) with plain HTTP, so JavaScript-only pages and hard bot walls return a free failure with the reason. Cost: $0.001 per article extracted; failures are free. Typically 0.5-3 s per URL.",
|
| 55 |
+
"tags": [
|
| 56 |
+
"mcp-server",
|
| 57 |
+
"inkpluck",
|
| 58 |
+
"article-extractor",
|
| 59 |
+
"web-to-markdown",
|
| 60 |
+
"readability",
|
| 61 |
+
"newspaper3k",
|
| 62 |
+
"news",
|
| 63 |
+
"rag",
|
| 64 |
+
"llm",
|
| 65 |
+
"ai-agents"
|
| 66 |
+
],
|
| 67 |
+
"examples": [
|
| 68 |
+
"read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus",
|
| 69 |
+
"{\"urls\":[\"https://techcrunch.com/2026/09/23/meta-introduces-camera-free-ai-glasses/\",\"https://blog.cloudflare.com/vary-support/\"]}"
|
| 70 |
+
],
|
| 71 |
+
"inputModes": [
|
| 72 |
+
"application/json"
|
| 73 |
+
],
|
| 74 |
+
"outputModes": [
|
| 75 |
+
"application/json"
|
| 76 |
+
]
|
| 77 |
+
}
|
| 78 |
+
],
|
| 79 |
+
"iconUrl": "https://cybermax-tools-cybermax.static.hf.space/favicon.ico",
|
| 80 |
+
"x-cybermax": {
|
| 81 |
+
"catalogId": "cybermax/article-extract",
|
| 82 |
+
"catalog": "https://cybermax-tools-cybermax.static.hf.space/market/catalog.json",
|
| 83 |
+
"openapi": "https://cybermax-tools-cybermax.static.hf.space/market/openapi/article-extract.json"
|
| 84 |
+
}
|
| 85 |
+
}
|
market/agents/bulk-image-downloader.agent-card.json
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "Picpail (CyberMax)",
|
| 3 |
+
"description": "Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image. Real format and pixel size, duplicate removal, size/format filters, monitor mode. $0.0005 per image; duplicates and skips free. Not a conversational A2A agent: the interfaces below are the tool's MCP (streamable HTTP) and Apify HTTP endpoints, declared as custom protocol bindings (A2A spec section 5.8).",
|
| 4 |
+
"supportedInterfaces": [
|
| 5 |
+
{
|
| 6 |
+
"url": "https://mcp.apify.com/?tools=cybermax/bulk-image-downloader",
|
| 7 |
+
"protocolBinding": "https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http",
|
| 8 |
+
"protocolVersion": "2025-06-18"
|
| 9 |
+
},
|
| 10 |
+
{
|
| 11 |
+
"url": "https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/run-sync-get-dataset-items",
|
| 12 |
+
"protocolBinding": "https://docs.apify.com/api/v2/act-run-sync-get-dataset-items-post",
|
| 13 |
+
"protocolVersion": "v2"
|
| 14 |
+
}
|
| 15 |
+
],
|
| 16 |
+
"provider": {
|
| 17 |
+
"organization": "CyberMax",
|
| 18 |
+
"url": "https://apify.com/cybermax"
|
| 19 |
+
},
|
| 20 |
+
"version": "1.0.0",
|
| 21 |
+
"documentationUrl": "https://apify.com/cybermax/bulk-image-downloader",
|
| 22 |
+
"capabilities": {
|
| 23 |
+
"streaming": false,
|
| 24 |
+
"pushNotifications": false,
|
| 25 |
+
"extendedAgentCard": false
|
| 26 |
+
},
|
| 27 |
+
"securitySchemes": {
|
| 28 |
+
"apifyToken": {
|
| 29 |
+
"httpAuthSecurityScheme": {
|
| 30 |
+
"scheme": "Bearer",
|
| 31 |
+
"description": "Your Apify API token; calls are billed per event to your Apify account."
|
| 32 |
+
}
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
"securityRequirements": [
|
| 36 |
+
{
|
| 37 |
+
"schemes": {
|
| 38 |
+
"apifyToken": {
|
| 39 |
+
"list": []
|
| 40 |
+
}
|
| 41 |
+
}
|
| 42 |
+
}
|
| 43 |
+
],
|
| 44 |
+
"defaultInputModes": [
|
| 45 |
+
"application/json"
|
| 46 |
+
],
|
| 47 |
+
"defaultOutputModes": [
|
| 48 |
+
"application/json"
|
| 49 |
+
],
|
| 50 |
+
"skills": [
|
| 51 |
+
{
|
| 52 |
+
"id": "cybermax.bulk-image-downloader",
|
| 53 |
+
"name": "Picpail: Bulk Image Downloader: All Images from URLs to ZIP",
|
| 54 |
+
"description": "Picpail. Bulk image downloader: give web page URLs (product pages, galleries, blog posts) and/or direct image URLs; it finds every image (img, srcset, lazy-load data-src, picture, CSS backgrounds, og:image, JSON-LD, linked originals), swaps CDN thumbnails for FULL-SIZE ORIGINALS (Shopify, WordPress, Wikimedia, Cloudinary, Wix, Squarespace, Contentful, imgix), downloads each once, verifies it from its bytes and returns a ZIP link (or one link per file with output=\"files\") plus, per image: real format, width, height, bytes, alt text and where it was found. Filters: minWidth/minHeight, formats, sameDomainOnly, urlPattern. Use it to collect product photos, back up a site's media, build image datasets or audit alt text. Reads server HTML (no browser): JavaScript-only pages return few images. Cost: $0.0005 per image delivered (+$0.0001 per MB above 2 MB for very large files); duplicates and skipped images are free.",
|
| 55 |
+
"tags": [
|
| 56 |
+
"mcp-server",
|
| 57 |
+
"picpail",
|
| 58 |
+
"image-downloader",
|
| 59 |
+
"bulk-image-download",
|
| 60 |
+
"download-images",
|
| 61 |
+
"image-scraper",
|
| 62 |
+
"ai-agents"
|
| 63 |
+
],
|
| 64 |
+
"examples": [
|
| 65 |
+
"collect product photos, back up a site's media, build image datasets or audit alt text",
|
| 66 |
+
"{\"urls\":[\"https://books.toscrape.com/\"],\"output\":\"list\",\"formats\":[\"jpeg\",\"png\",\"webp\"],\"minWidth\":100}"
|
| 67 |
+
],
|
| 68 |
+
"inputModes": [
|
| 69 |
+
"application/json"
|
| 70 |
+
],
|
| 71 |
+
"outputModes": [
|
| 72 |
+
"application/json"
|
| 73 |
+
]
|
| 74 |
+
}
|
| 75 |
+
],
|
| 76 |
+
"iconUrl": "https://cybermax-tools-cybermax.static.hf.space/favicon.ico",
|
| 77 |
+
"x-cybermax": {
|
| 78 |
+
"catalogId": "cybermax/bulk-image-downloader",
|
| 79 |
+
"catalog": "https://cybermax-tools-cybermax.static.hf.space/market/catalog.json",
|
| 80 |
+
"openapi": "https://cybermax-tools-cybermax.static.hf.space/market/openapi/bulk-image-downloader.json"
|
| 81 |
+
}
|
| 82 |
+
}
|
market/agents/send-email.agent-card.json
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "Sendfinch (CyberMax)",
|
| 3 |
+
"description": "Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status. $0.001 per email; failures free. Not a conversational A2A agent: the interfaces below are the tool's MCP (streamable HTTP) and Apify HTTP endpoints, declared as custom protocol bindings (A2A spec section 5.8).",
|
| 4 |
+
"supportedInterfaces": [
|
| 5 |
+
{
|
| 6 |
+
"url": "https://mcp.apify.com/?tools=cybermax/send-email",
|
| 7 |
+
"protocolBinding": "https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http",
|
| 8 |
+
"protocolVersion": "2025-06-18"
|
| 9 |
+
},
|
| 10 |
+
{
|
| 11 |
+
"url": "https://api.apify.com/v2/acts/cybermax~send-email/run-sync-get-dataset-items",
|
| 12 |
+
"protocolBinding": "https://docs.apify.com/api/v2/act-run-sync-get-dataset-items-post",
|
| 13 |
+
"protocolVersion": "v2"
|
| 14 |
+
}
|
| 15 |
+
],
|
| 16 |
+
"provider": {
|
| 17 |
+
"organization": "CyberMax",
|
| 18 |
+
"url": "https://apify.com/cybermax"
|
| 19 |
+
},
|
| 20 |
+
"version": "1.0.0",
|
| 21 |
+
"documentationUrl": "https://apify.com/cybermax/send-email",
|
| 22 |
+
"capabilities": {
|
| 23 |
+
"streaming": false,
|
| 24 |
+
"pushNotifications": false,
|
| 25 |
+
"extendedAgentCard": false
|
| 26 |
+
},
|
| 27 |
+
"securitySchemes": {
|
| 28 |
+
"apifyToken": {
|
| 29 |
+
"httpAuthSecurityScheme": {
|
| 30 |
+
"scheme": "Bearer",
|
| 31 |
+
"description": "Your Apify API token; calls are billed per event to your Apify account."
|
| 32 |
+
}
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
"securityRequirements": [
|
| 36 |
+
{
|
| 37 |
+
"schemes": {
|
| 38 |
+
"apifyToken": {
|
| 39 |
+
"list": []
|
| 40 |
+
}
|
| 41 |
+
}
|
| 42 |
+
}
|
| 43 |
+
],
|
| 44 |
+
"defaultInputModes": [
|
| 45 |
+
"application/json"
|
| 46 |
+
],
|
| 47 |
+
"defaultOutputModes": [
|
| 48 |
+
"application/json"
|
| 49 |
+
],
|
| 50 |
+
"skills": [
|
| 51 |
+
{
|
| 52 |
+
"id": "cybermax.send-email",
|
| 53 |
+
"name": "Sendfinch: Send Email via SMTP, Resend, SendGrid & Mailgun",
|
| 54 |
+
"description": "Sendfinch. Sends an email (HTML and/or plain text, cc/bcc, reply-to, attachments by URL or text) from the user's configured sender address through their own SMTP server, Resend, SendGrid, Mailgun or Postmark account. Returns, per email, ok, the provider message ID, the SMTP/HTTP response, refused recipients and a readable error. Use dry_run: true first to show the user the rendered email without sending (free). Only email people who expect it (the user, their team, their customers); never cold or bulk marketing. Cost: $0.001 per recipient accepted; failures and dry runs are free. Typically 3-6 s.",
|
| 55 |
+
"tags": [
|
| 56 |
+
"mcp-server",
|
| 57 |
+
"sendfinch",
|
| 58 |
+
"send-email",
|
| 59 |
+
"smtp",
|
| 60 |
+
"resend",
|
| 61 |
+
"sendgrid",
|
| 62 |
+
"mailgun",
|
| 63 |
+
"postmark",
|
| 64 |
+
"email",
|
| 65 |
+
"ai-agents"
|
| 66 |
+
],
|
| 67 |
+
"examples": [
|
| 68 |
+
"{\"from\":\"Acme Alerts <alerts@acme.com>\",\"subject\":\"Hi {{firstName}}, your {{plan}} report is ready\",\"html\":\"<p>Hi {{firstName}},</p><p>Your {{plan}} report for <b>{{company}}</b> is ready.</p>\",\"mode\":\"merge\",\"items\":[{\"email\":\"ann@example.com\",\"firstName\":\"Ann\",\"company\":\"Acme Corp\",\"plan\":\"Pro\"},{\"email\":\"raj@example.org\",\"firstName\":\"Raj\",\"company\":\"Northwind\",\"plan\":\"Team\"}],\"dryRun\":true}"
|
| 69 |
+
],
|
| 70 |
+
"inputModes": [
|
| 71 |
+
"application/json"
|
| 72 |
+
],
|
| 73 |
+
"outputModes": [
|
| 74 |
+
"application/json"
|
| 75 |
+
]
|
| 76 |
+
}
|
| 77 |
+
],
|
| 78 |
+
"iconUrl": "https://cybermax-tools-cybermax.static.hf.space/favicon.ico",
|
| 79 |
+
"x-cybermax": {
|
| 80 |
+
"catalogId": "cybermax/send-email",
|
| 81 |
+
"catalog": "https://cybermax-tools-cybermax.static.hf.space/market/catalog.json",
|
| 82 |
+
"openapi": "https://cybermax-tools-cybermax.static.hf.space/market/openapi/send-email.json"
|
| 83 |
+
}
|
| 84 |
+
}
|
market/catalog.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
"name": "CyberMax AI Product Market",
|
| 4 |
"publisher": "CyberMax",
|
| 5 |
"description": "Every live CyberMax capability for AI agents, apps and developers, with input/output JSON Schemas, endpoints, pricing, examples and integration code.",
|
| 6 |
-
"generatedAt": "2026-09-
|
| 7 |
"generator": "scripts/market/build.mjs",
|
| 8 |
"formats": {
|
| 9 |
"llmsTxt": "https://cybermax-tools-cybermax.static.hf.space/market/llms.txt",
|
|
@@ -17,8 +17,8 @@
|
|
| 17 |
"partnerProgram": "docs/ceo/partner-program.md (developer program live; referral, revenue share and white-label switch on with the first payment channel)"
|
| 18 |
},
|
| 19 |
"counts": {
|
| 20 |
-
"liveTools":
|
| 21 |
-
"comingSoon":
|
| 22 |
"datasets": 25,
|
| 23 |
"webApps": 11,
|
| 24 |
"downloads": 2,
|
|
@@ -987,7 +987,7 @@
|
|
| 987 |
{
|
| 988 |
"id": "cybermax/article-extract",
|
| 989 |
"kind": "api_tool",
|
| 990 |
-
"status": "
|
| 991 |
"brand": "Inkpluck",
|
| 992 |
"title": "Inkpluck — Article Extractor: URL to Text, Markdown & Metadata",
|
| 993 |
"phrase": "Article Extractor: URL to Text, Markdown & Metadata",
|
|
@@ -1022,7 +1022,11 @@
|
|
| 1022 |
"llm",
|
| 1023 |
"ai-agents"
|
| 1024 |
],
|
| 1025 |
-
"categories": [
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1026 |
"publisher": "CyberMax",
|
| 1027 |
"interfaces": {
|
| 1028 |
"human": [
|
|
@@ -1031,7 +1035,8 @@
|
|
| 1031 |
],
|
| 1032 |
"relatedDatasets": [],
|
| 1033 |
"developer": [
|
| 1034 |
-
"https://api.apify.com/v2/acts/cybermax~article-extract/run-sync-get-dataset-items"
|
|
|
|
| 1035 |
],
|
| 1036 |
"ai": [
|
| 1037 |
"https://mcp.apify.com/?tools=cybermax/article-extract",
|
|
@@ -1344,7 +1349,9 @@
|
|
| 1344 |
"returns": "JSON array of output records (HTTP 201)",
|
| 1345 |
"asyncUrl": "https://api.apify.com/v2/acts/cybermax~article-extract/runs",
|
| 1346 |
"timeoutNote": "run-sync waits up to 300 s; use asyncUrl + GET /v2/actor-runs/{runId} for large inputs"
|
| 1347 |
-
}
|
|
|
|
|
|
|
| 1348 |
},
|
| 1349 |
"mcp": {
|
| 1350 |
"hosted": {
|
|
@@ -1388,9 +1395,10 @@
|
|
| 1388 |
},
|
| 1389 |
"payment": {
|
| 1390 |
"methods": [
|
| 1391 |
-
"apify_account"
|
|
|
|
| 1392 |
],
|
| 1393 |
-
"notes": "Apify
|
| 1394 |
},
|
| 1395 |
"examples": [
|
| 1396 |
{
|
|
@@ -1423,7 +1431,13 @@
|
|
| 1423 |
"One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.",
|
| 1424 |
"On the hosted MCP server the tool is named \"cybermax--article-extract\" and takes the same input object (plus optional waitSecs)."
|
| 1425 |
],
|
| 1426 |
-
"stats":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1427 |
"related": [],
|
| 1428 |
"economy": {
|
| 1429 |
"markets": [
|
|
@@ -2006,7 +2020,7 @@
|
|
| 2006 |
{
|
| 2007 |
"id": "cybermax/bulk-image-downloader",
|
| 2008 |
"kind": "api_tool",
|
| 2009 |
-
"status": "
|
| 2010 |
"brand": "Picpail",
|
| 2011 |
"title": "Picpail — Bulk Image Downloader: All Images from URLs to ZIP",
|
| 2012 |
"phrase": "Bulk Image Downloader: All Images from URLs to ZIP",
|
|
@@ -2048,7 +2062,8 @@
|
|
| 2048 |
],
|
| 2049 |
"relatedDatasets": [],
|
| 2050 |
"developer": [
|
| 2051 |
-
"https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/run-sync-get-dataset-items"
|
|
|
|
| 2052 |
],
|
| 2053 |
"ai": [
|
| 2054 |
"https://mcp.apify.com/?tools=cybermax/bulk-image-downloader",
|
|
@@ -2423,7 +2438,9 @@
|
|
| 2423 |
"returns": "JSON array of output records (HTTP 201)",
|
| 2424 |
"asyncUrl": "https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/runs",
|
| 2425 |
"timeoutNote": "run-sync waits up to 300 s; use asyncUrl + GET /v2/actor-runs/{runId} for large inputs"
|
| 2426 |
-
}
|
|
|
|
|
|
|
| 2427 |
},
|
| 2428 |
"mcp": {
|
| 2429 |
"hosted": {
|
|
@@ -2473,30 +2490,32 @@
|
|
| 2473 |
},
|
| 2474 |
"payment": {
|
| 2475 |
"methods": [
|
| 2476 |
-
"apify_account"
|
|
|
|
| 2477 |
],
|
| 2478 |
-
"notes": "Apify
|
| 2479 |
},
|
| 2480 |
"examples": [
|
| 2481 |
{
|
| 2482 |
-
"name": "
|
| 2483 |
"input": {
|
| 2484 |
"urls": [
|
| 2485 |
-
"https://books.toscrape.com/"
|
| 2486 |
-
"https://www.gstatic.com/webp/gallery/1.webp"
|
| 2487 |
],
|
| 2488 |
-
"
|
| 2489 |
-
"
|
| 2490 |
-
|
| 2491 |
-
"
|
| 2492 |
-
|
|
|
|
|
|
|
| 2493 |
}
|
| 2494 |
}
|
| 2495 |
],
|
| 2496 |
"integration": {
|
| 2497 |
-
"curl": "curl -s -X POST 'https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/run-sync-get-dataset-items' \\\n -H \"Authorization: Bearer $APIFY_TOKEN\" -H 'Content-Type: application/json' \\\n -d '{\"urls\":[\"https://books.toscrape.com/\",\"
|
| 2498 |
-
"python": "from apify_client import ApifyClient # pip install apify-client\nclient = ApifyClient(\"<APIFY_TOKEN>\")\nrun = client.actor(\"cybermax/bulk-image-downloader\").call(run_input={\"urls\":[\"https://books.toscrape.com/\",\"
|
| 2499 |
-
"javascript": "import { ApifyClient } from 'apify-client'; // npm i apify-client\nconst client = new ApifyClient({ token: process.env.APIFY_TOKEN });\nconst run = await client.actor('cybermax/bulk-image-downloader').call({\"urls\":[\"https://books.toscrape.com/\",\"
|
| 2500 |
"mcpConfig": {
|
| 2501 |
"mcpServers": {
|
| 2502 |
"cybermax-bulk-image-downloader": {
|
|
@@ -2514,7 +2533,13 @@
|
|
| 2514 |
"One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.",
|
| 2515 |
"On the hosted MCP server the tool is named \"cybermax--bulk-image-downloader\" and takes the same input object (plus optional waitSecs)."
|
| 2516 |
],
|
| 2517 |
-
"stats":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2518 |
"related": [],
|
| 2519 |
"economy": {
|
| 2520 |
"markets": [
|
|
@@ -4347,20 +4372,22 @@
|
|
| 4347 |
},
|
| 4348 |
"examples": [
|
| 4349 |
{
|
| 4350 |
-
"name": "
|
| 4351 |
"input": {
|
| 4352 |
"companies": [
|
| 4353 |
-
"
|
| 4354 |
-
"
|
| 4355 |
-
"
|
| 4356 |
-
]
|
|
|
|
|
|
|
| 4357 |
}
|
| 4358 |
}
|
| 4359 |
],
|
| 4360 |
"integration": {
|
| 4361 |
-
"curl": "curl -s -X POST 'https://api.apify.com/v2/acts/cybermax~company-to-domain/run-sync-get-dataset-items' \\\n -H \"Authorization: Bearer $APIFY_TOKEN\" -H 'Content-Type: application/json' \\\n -d '{\"companies\":[\"
|
| 4362 |
-
"python": "from apify_client import ApifyClient # pip install apify-client\nclient = ApifyClient(\"<APIFY_TOKEN>\")\nrun = client.actor(\"cybermax/company-to-domain\").call(run_input={\"companies\":[\"
|
| 4363 |
-
"javascript": "import { ApifyClient } from 'apify-client'; // npm i apify-client\nconst client = new ApifyClient({ token: process.env.APIFY_TOKEN });\nconst run = await client.actor('cybermax/company-to-domain').call({\"companies\":[\"
|
| 4364 |
"mcpConfig": {
|
| 4365 |
"mcpServers": {
|
| 4366 |
"cybermax-company-to-domain": {
|
|
@@ -10521,7 +10548,7 @@
|
|
| 10521 |
{
|
| 10522 |
"id": "cybermax/send-email",
|
| 10523 |
"kind": "api_tool",
|
| 10524 |
-
"status": "
|
| 10525 |
"brand": "Sendfinch",
|
| 10526 |
"title": "Sendfinch — Send Email via SMTP, Resend, SendGrid & Mailgun",
|
| 10527 |
"phrase": "Send Email via SMTP, Resend, SendGrid & Mailgun",
|
|
@@ -10569,7 +10596,8 @@
|
|
| 10569 |
],
|
| 10570 |
"relatedDatasets": [],
|
| 10571 |
"developer": [
|
| 10572 |
-
"https://api.apify.com/v2/acts/cybermax~send-email/run-sync-get-dataset-items"
|
|
|
|
| 10573 |
],
|
| 10574 |
"ai": [
|
| 10575 |
"https://mcp.apify.com/?tools=cybermax/send-email",
|
|
@@ -11050,7 +11078,9 @@
|
|
| 11050 |
"returns": "JSON array of output records (HTTP 201)",
|
| 11051 |
"asyncUrl": "https://api.apify.com/v2/acts/cybermax~send-email/runs",
|
| 11052 |
"timeoutNote": "run-sync waits up to 300 s; use asyncUrl + GET /v2/actor-runs/{runId} for large inputs"
|
| 11053 |
-
}
|
|
|
|
|
|
|
| 11054 |
},
|
| 11055 |
"mcp": {
|
| 11056 |
"hosted": {
|
|
@@ -11094,9 +11124,10 @@
|
|
| 11094 |
},
|
| 11095 |
"payment": {
|
| 11096 |
"methods": [
|
| 11097 |
-
"apify_account"
|
|
|
|
| 11098 |
],
|
| 11099 |
-
"notes": "Apify
|
| 11100 |
},
|
| 11101 |
"examples": [
|
| 11102 |
{
|
|
@@ -11144,7 +11175,13 @@
|
|
| 11144 |
"One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.",
|
| 11145 |
"On the hosted MCP server the tool is named \"cybermax--send-email\" and takes the same input object (plus optional waitSecs)."
|
| 11146 |
],
|
| 11147 |
-
"stats":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11148 |
"related": [],
|
| 11149 |
"economy": {
|
| 11150 |
"markets": [
|
|
@@ -13838,7 +13875,7 @@
|
|
| 13838 |
"source": "Hugging Face API",
|
| 13839 |
"likes": 0,
|
| 13840 |
"downloads30d": 74,
|
| 13841 |
-
"lastModified": "2026-09-
|
| 13842 |
},
|
| 13843 |
"related": [
|
| 13844 |
"cybermax/domain-authority"
|
|
@@ -14513,7 +14550,7 @@
|
|
| 14513 |
"source": "Hugging Face API",
|
| 14514 |
"likes": 0,
|
| 14515 |
"downloads30d": 19,
|
| 14516 |
-
"lastModified": "2026-09-
|
| 14517 |
},
|
| 14518 |
"related": [
|
| 14519 |
"cybermax/sec-insider-tracker"
|
|
@@ -14694,7 +14731,7 @@
|
|
| 14694 |
"source": "Hugging Face API",
|
| 14695 |
"likes": 0,
|
| 14696 |
"downloads30d": 21,
|
| 14697 |
-
"lastModified": "2026-09-
|
| 14698 |
},
|
| 14699 |
"related": [
|
| 14700 |
"cybermax/domain-intel"
|
|
@@ -15032,7 +15069,7 @@
|
|
| 15032 |
"source": "Hugging Face API",
|
| 15033 |
"likes": 0,
|
| 15034 |
"downloads30d": 21,
|
| 15035 |
-
"lastModified": "2026-09-
|
| 15036 |
},
|
| 15037 |
"related": [
|
| 15038 |
"cybermax/zip-data-api"
|
|
@@ -16447,7 +16484,7 @@
|
|
| 16447 |
"source": "Hugging Face API",
|
| 16448 |
"likes": 0,
|
| 16449 |
"downloads30d": 0,
|
| 16450 |
-
"lastModified": "2026-09-
|
| 16451 |
},
|
| 16452 |
"related": [],
|
| 16453 |
"economy": {
|
|
@@ -17808,7 +17845,7 @@
|
|
| 17808 |
"source": "Hugging Face API",
|
| 17809 |
"likes": 0,
|
| 17810 |
"downloads30d": 0,
|
| 17811 |
-
"lastModified": "2026-09-
|
| 17812 |
},
|
| 17813 |
"related": [],
|
| 17814 |
"economy": {
|
|
@@ -17993,7 +18030,7 @@
|
|
| 17993 |
"source": "Hugging Face API",
|
| 17994 |
"likes": 0,
|
| 17995 |
"downloads30d": 0,
|
| 17996 |
-
"lastModified": "2026-09-
|
| 17997 |
},
|
| 17998 |
"related": [],
|
| 17999 |
"economy": {
|
|
|
|
| 3 |
"name": "CyberMax AI Product Market",
|
| 4 |
"publisher": "CyberMax",
|
| 5 |
"description": "Every live CyberMax capability for AI agents, apps and developers, with input/output JSON Schemas, endpoints, pricing, examples and integration code.",
|
| 6 |
+
"generatedAt": "2026-09-25T14:55:01.756Z",
|
| 7 |
"generator": "scripts/market/build.mjs",
|
| 8 |
"formats": {
|
| 9 |
"llmsTxt": "https://cybermax-tools-cybermax.static.hf.space/market/llms.txt",
|
|
|
|
| 17 |
"partnerProgram": "docs/ceo/partner-program.md (developer program live; referral, revenue share and white-label switch on with the first payment channel)"
|
| 18 |
},
|
| 19 |
"counts": {
|
| 20 |
+
"liveTools": 13,
|
| 21 |
+
"comingSoon": 12,
|
| 22 |
"datasets": 25,
|
| 23 |
"webApps": 11,
|
| 24 |
"downloads": 2,
|
|
|
|
| 987 |
{
|
| 988 |
"id": "cybermax/article-extract",
|
| 989 |
"kind": "api_tool",
|
| 990 |
+
"status": "live",
|
| 991 |
"brand": "Inkpluck",
|
| 992 |
"title": "Inkpluck — Article Extractor: URL to Text, Markdown & Metadata",
|
| 993 |
"phrase": "Article Extractor: URL to Text, Markdown & Metadata",
|
|
|
|
| 1022 |
"llm",
|
| 1023 |
"ai-agents"
|
| 1024 |
],
|
| 1025 |
+
"categories": [
|
| 1026 |
+
"NEWS",
|
| 1027 |
+
"AI",
|
| 1028 |
+
"DEVELOPER_TOOLS"
|
| 1029 |
+
],
|
| 1030 |
"publisher": "CyberMax",
|
| 1031 |
"interfaces": {
|
| 1032 |
"human": [
|
|
|
|
| 1035 |
],
|
| 1036 |
"relatedDatasets": [],
|
| 1037 |
"developer": [
|
| 1038 |
+
"https://api.apify.com/v2/acts/cybermax~article-extract/run-sync-get-dataset-items",
|
| 1039 |
+
"https://cybermax-tools-cybermax.static.hf.space/market/openapi/article-extract.json"
|
| 1040 |
],
|
| 1041 |
"ai": [
|
| 1042 |
"https://mcp.apify.com/?tools=cybermax/article-extract",
|
|
|
|
| 1349 |
"returns": "JSON array of output records (HTTP 201)",
|
| 1350 |
"asyncUrl": "https://api.apify.com/v2/acts/cybermax~article-extract/runs",
|
| 1351 |
"timeoutNote": "run-sync waits up to 300 s; use asyncUrl + GET /v2/actor-runs/{runId} for large inputs"
|
| 1352 |
+
},
|
| 1353 |
+
"openapi": "https://cybermax-tools-cybermax.static.hf.space/market/openapi/article-extract.json",
|
| 1354 |
+
"apifyOpenapi": "https://api.apify.com/v2/acts/cybermax~article-extract/builds/default/openapi.json"
|
| 1355 |
},
|
| 1356 |
"mcp": {
|
| 1357 |
"hosted": {
|
|
|
|
| 1395 |
},
|
| 1396 |
"payment": {
|
| 1397 |
"methods": [
|
| 1398 |
+
"apify_account",
|
| 1399 |
+
"apify_agentic_payments"
|
| 1400 |
],
|
| 1401 |
+
"notes": "Apify lists this Actor as enabled for agentic payments on its hosted MCP server (payment-only sessions such as x402/Skyfire, per Apify's MCP docs), in addition to a normal Apify token."
|
| 1402 |
},
|
| 1403 |
"examples": [
|
| 1404 |
{
|
|
|
|
| 1431 |
"One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.",
|
| 1432 |
"On the hosted MCP server the tool is named \"cybermax--article-extract\" and takes the same input object (plus optional waitSecs)."
|
| 1433 |
],
|
| 1434 |
+
"stats": {
|
| 1435 |
+
"source": "Apify Store API",
|
| 1436 |
+
"users30d": 1,
|
| 1437 |
+
"publicRuns30d": null,
|
| 1438 |
+
"reviews": 0,
|
| 1439 |
+
"rating": null
|
| 1440 |
+
},
|
| 1441 |
"related": [],
|
| 1442 |
"economy": {
|
| 1443 |
"markets": [
|
|
|
|
| 2020 |
{
|
| 2021 |
"id": "cybermax/bulk-image-downloader",
|
| 2022 |
"kind": "api_tool",
|
| 2023 |
+
"status": "live",
|
| 2024 |
"brand": "Picpail",
|
| 2025 |
"title": "Picpail — Bulk Image Downloader: All Images from URLs to ZIP",
|
| 2026 |
"phrase": "Bulk Image Downloader: All Images from URLs to ZIP",
|
|
|
|
| 2062 |
],
|
| 2063 |
"relatedDatasets": [],
|
| 2064 |
"developer": [
|
| 2065 |
+
"https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/run-sync-get-dataset-items",
|
| 2066 |
+
"https://cybermax-tools-cybermax.static.hf.space/market/openapi/bulk-image-downloader.json"
|
| 2067 |
],
|
| 2068 |
"ai": [
|
| 2069 |
"https://mcp.apify.com/?tools=cybermax/bulk-image-downloader",
|
|
|
|
| 2438 |
"returns": "JSON array of output records (HTTP 201)",
|
| 2439 |
"asyncUrl": "https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/runs",
|
| 2440 |
"timeoutNote": "run-sync waits up to 300 s; use asyncUrl + GET /v2/actor-runs/{runId} for large inputs"
|
| 2441 |
+
},
|
| 2442 |
+
"openapi": "https://cybermax-tools-cybermax.static.hf.space/market/openapi/bulk-image-downloader.json",
|
| 2443 |
+
"apifyOpenapi": "https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/builds/default/openapi.json"
|
| 2444 |
},
|
| 2445 |
"mcp": {
|
| 2446 |
"hosted": {
|
|
|
|
| 2490 |
},
|
| 2491 |
"payment": {
|
| 2492 |
"methods": [
|
| 2493 |
+
"apify_account",
|
| 2494 |
+
"apify_agentic_payments"
|
| 2495 |
],
|
| 2496 |
+
"notes": "Apify lists this Actor as enabled for agentic payments on its hosted MCP server (payment-only sessions such as x402/Skyfire, per Apify's MCP docs), in addition to a normal Apify token."
|
| 2497 |
},
|
| 2498 |
"examples": [
|
| 2499 |
{
|
| 2500 |
+
"name": "Only JPEG/PNG/WebP images, as a metadata list (links, sizes, formats) instead of a ZIP:",
|
| 2501 |
"input": {
|
| 2502 |
"urls": [
|
| 2503 |
+
"https://books.toscrape.com/"
|
|
|
|
| 2504 |
],
|
| 2505 |
+
"output": "list",
|
| 2506 |
+
"formats": [
|
| 2507 |
+
"jpeg",
|
| 2508 |
+
"png",
|
| 2509 |
+
"webp"
|
| 2510 |
+
],
|
| 2511 |
+
"minWidth": 100
|
| 2512 |
}
|
| 2513 |
}
|
| 2514 |
],
|
| 2515 |
"integration": {
|
| 2516 |
+
"curl": "curl -s -X POST 'https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/run-sync-get-dataset-items' \\\n -H \"Authorization: Bearer $APIFY_TOKEN\" -H 'Content-Type: application/json' \\\n -d '{\"urls\":[\"https://books.toscrape.com/\"],\"output\":\"list\",\"formats\":[\"jpeg\",\"png\",\"webp\"],\"minWidth\":100}'",
|
| 2517 |
+
"python": "from apify_client import ApifyClient # pip install apify-client\nclient = ApifyClient(\"<APIFY_TOKEN>\")\nrun = client.actor(\"cybermax/bulk-image-downloader\").call(run_input={\"urls\":[\"https://books.toscrape.com/\"],\"output\":\"list\",\"formats\":[\"jpeg\",\"png\",\"webp\"],\"minWidth\":100})\nfor item in client.dataset(run[\"defaultDatasetId\"]).iterate_items():\n print(item)",
|
| 2518 |
+
"javascript": "import { ApifyClient } from 'apify-client'; // npm i apify-client\nconst client = new ApifyClient({ token: process.env.APIFY_TOKEN });\nconst run = await client.actor('cybermax/bulk-image-downloader').call({\"urls\":[\"https://books.toscrape.com/\"],\"output\":\"list\",\"formats\":[\"jpeg\",\"png\",\"webp\"],\"minWidth\":100});\nconst { items } = await client.dataset(run.defaultDatasetId).listItems();",
|
| 2519 |
"mcpConfig": {
|
| 2520 |
"mcpServers": {
|
| 2521 |
"cybermax-bulk-image-downloader": {
|
|
|
|
| 2533 |
"One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.",
|
| 2534 |
"On the hosted MCP server the tool is named \"cybermax--bulk-image-downloader\" and takes the same input object (plus optional waitSecs)."
|
| 2535 |
],
|
| 2536 |
+
"stats": {
|
| 2537 |
+
"source": "Apify Store API",
|
| 2538 |
+
"users30d": 1,
|
| 2539 |
+
"publicRuns30d": null,
|
| 2540 |
+
"reviews": 0,
|
| 2541 |
+
"rating": null
|
| 2542 |
+
},
|
| 2543 |
"related": [],
|
| 2544 |
"economy": {
|
| 2545 |
"markets": [
|
|
|
|
| 4372 |
},
|
| 4373 |
"examples": [
|
| 4374 |
{
|
| 4375 |
+
"name": "Strict CRM write, UK companies:",
|
| 4376 |
"input": {
|
| 4377 |
"companies": [
|
| 4378 |
+
"Hiscox",
|
| 4379 |
+
"Octopus Energy",
|
| 4380 |
+
"Revolut Ltd."
|
| 4381 |
+
],
|
| 4382 |
+
"country": "gb",
|
| 4383 |
+
"minConfidence": 0.8
|
| 4384 |
}
|
| 4385 |
}
|
| 4386 |
],
|
| 4387 |
"integration": {
|
| 4388 |
+
"curl": "curl -s -X POST 'https://api.apify.com/v2/acts/cybermax~company-to-domain/run-sync-get-dataset-items' \\\n -H \"Authorization: Bearer $APIFY_TOKEN\" -H 'Content-Type: application/json' \\\n -d '{\"companies\":[\"Hiscox\",\"Octopus Energy\",\"Revolut Ltd.\"],\"country\":\"gb\",\"minConfidence\":0.8}'",
|
| 4389 |
+
"python": "from apify_client import ApifyClient # pip install apify-client\nclient = ApifyClient(\"<APIFY_TOKEN>\")\nrun = client.actor(\"cybermax/company-to-domain\").call(run_input={\"companies\":[\"Hiscox\",\"Octopus Energy\",\"Revolut Ltd.\"],\"country\":\"gb\",\"minConfidence\":0.8})\nfor item in client.dataset(run[\"defaultDatasetId\"]).iterate_items():\n print(item)",
|
| 4390 |
+
"javascript": "import { ApifyClient } from 'apify-client'; // npm i apify-client\nconst client = new ApifyClient({ token: process.env.APIFY_TOKEN });\nconst run = await client.actor('cybermax/company-to-domain').call({\"companies\":[\"Hiscox\",\"Octopus Energy\",\"Revolut Ltd.\"],\"country\":\"gb\",\"minConfidence\":0.8});\nconst { items } = await client.dataset(run.defaultDatasetId).listItems();",
|
| 4391 |
"mcpConfig": {
|
| 4392 |
"mcpServers": {
|
| 4393 |
"cybermax-company-to-domain": {
|
|
|
|
| 10548 |
{
|
| 10549 |
"id": "cybermax/send-email",
|
| 10550 |
"kind": "api_tool",
|
| 10551 |
+
"status": "live",
|
| 10552 |
"brand": "Sendfinch",
|
| 10553 |
"title": "Sendfinch — Send Email via SMTP, Resend, SendGrid & Mailgun",
|
| 10554 |
"phrase": "Send Email via SMTP, Resend, SendGrid & Mailgun",
|
|
|
|
| 10596 |
],
|
| 10597 |
"relatedDatasets": [],
|
| 10598 |
"developer": [
|
| 10599 |
+
"https://api.apify.com/v2/acts/cybermax~send-email/run-sync-get-dataset-items",
|
| 10600 |
+
"https://cybermax-tools-cybermax.static.hf.space/market/openapi/send-email.json"
|
| 10601 |
],
|
| 10602 |
"ai": [
|
| 10603 |
"https://mcp.apify.com/?tools=cybermax/send-email",
|
|
|
|
| 11078 |
"returns": "JSON array of output records (HTTP 201)",
|
| 11079 |
"asyncUrl": "https://api.apify.com/v2/acts/cybermax~send-email/runs",
|
| 11080 |
"timeoutNote": "run-sync waits up to 300 s; use asyncUrl + GET /v2/actor-runs/{runId} for large inputs"
|
| 11081 |
+
},
|
| 11082 |
+
"openapi": "https://cybermax-tools-cybermax.static.hf.space/market/openapi/send-email.json",
|
| 11083 |
+
"apifyOpenapi": "https://api.apify.com/v2/acts/cybermax~send-email/builds/default/openapi.json"
|
| 11084 |
},
|
| 11085 |
"mcp": {
|
| 11086 |
"hosted": {
|
|
|
|
| 11124 |
},
|
| 11125 |
"payment": {
|
| 11126 |
"methods": [
|
| 11127 |
+
"apify_account",
|
| 11128 |
+
"apify_agentic_payments"
|
| 11129 |
],
|
| 11130 |
+
"notes": "Apify lists this Actor as enabled for agentic payments on its hosted MCP server (payment-only sessions such as x402/Skyfire, per Apify's MCP docs), in addition to a normal Apify token."
|
| 11131 |
},
|
| 11132 |
"examples": [
|
| 11133 |
{
|
|
|
|
| 11175 |
"One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.",
|
| 11176 |
"On the hosted MCP server the tool is named \"cybermax--send-email\" and takes the same input object (plus optional waitSecs)."
|
| 11177 |
],
|
| 11178 |
+
"stats": {
|
| 11179 |
+
"source": "Apify Store API",
|
| 11180 |
+
"users30d": 1,
|
| 11181 |
+
"publicRuns30d": null,
|
| 11182 |
+
"reviews": 0,
|
| 11183 |
+
"rating": null
|
| 11184 |
+
},
|
| 11185 |
"related": [],
|
| 11186 |
"economy": {
|
| 11187 |
"markets": [
|
|
|
|
| 13875 |
"source": "Hugging Face API",
|
| 13876 |
"likes": 0,
|
| 13877 |
"downloads30d": 74,
|
| 13878 |
+
"lastModified": "2026-09-25T12:17:00.000Z"
|
| 13879 |
},
|
| 13880 |
"related": [
|
| 13881 |
"cybermax/domain-authority"
|
|
|
|
| 14550 |
"source": "Hugging Face API",
|
| 14551 |
"likes": 0,
|
| 14552 |
"downloads30d": 19,
|
| 14553 |
+
"lastModified": "2026-09-25T12:17:01.000Z"
|
| 14554 |
},
|
| 14555 |
"related": [
|
| 14556 |
"cybermax/sec-insider-tracker"
|
|
|
|
| 14731 |
"source": "Hugging Face API",
|
| 14732 |
"likes": 0,
|
| 14733 |
"downloads30d": 21,
|
| 14734 |
+
"lastModified": "2026-09-25T12:16:58.000Z"
|
| 14735 |
},
|
| 14736 |
"related": [
|
| 14737 |
"cybermax/domain-intel"
|
|
|
|
| 15069 |
"source": "Hugging Face API",
|
| 15070 |
"likes": 0,
|
| 15071 |
"downloads30d": 21,
|
| 15072 |
+
"lastModified": "2026-09-25T12:16:57.000Z"
|
| 15073 |
},
|
| 15074 |
"related": [
|
| 15075 |
"cybermax/zip-data-api"
|
|
|
|
| 16484 |
"source": "Hugging Face API",
|
| 16485 |
"likes": 0,
|
| 16486 |
"downloads30d": 0,
|
| 16487 |
+
"lastModified": "2026-09-25T12:17:02.000Z"
|
| 16488 |
},
|
| 16489 |
"related": [],
|
| 16490 |
"economy": {
|
|
|
|
| 17845 |
"source": "Hugging Face API",
|
| 17846 |
"likes": 0,
|
| 17847 |
"downloads30d": 0,
|
| 17848 |
+
"lastModified": "2026-09-25T12:16:59.000Z"
|
| 17849 |
},
|
| 17850 |
"related": [],
|
| 17851 |
"economy": {
|
|
|
|
| 18030 |
"source": "Hugging Face API",
|
| 18031 |
"likes": 0,
|
| 18032 |
"downloads30d": 0,
|
| 18033 |
+
"lastModified": "2026-09-25T12:16:58.000Z"
|
| 18034 |
},
|
| 18035 |
"related": [],
|
| 18036 |
"economy": {
|
market/live-snapshot.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
{
|
| 2 |
-
"fetchedAt": "2026-09-
|
| 3 |
"store": [
|
| 4 |
{
|
| 5 |
"name": "app-reviews",
|
|
@@ -408,6 +408,104 @@
|
|
| 408 |
},
|
| 409 |
"rating": null,
|
| 410 |
"reviews": 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 411 |
}
|
| 412 |
],
|
| 413 |
"spaces": [
|
|
@@ -573,7 +671,7 @@
|
|
| 573 |
"configs": [
|
| 574 |
"default"
|
| 575 |
],
|
| 576 |
-
"lastModified": "2026-09-
|
| 577 |
},
|
| 578 |
{
|
| 579 |
"id": "CyberMax-tools/saas-email-security-snapshot",
|
|
@@ -693,7 +791,7 @@
|
|
| 693 |
"configs": [
|
| 694 |
"default"
|
| 695 |
],
|
| 696 |
-
"lastModified": "2026-09-
|
| 697 |
},
|
| 698 |
{
|
| 699 |
"id": "CyberMax-tools/kevscope-cve-kev-epss-daily",
|
|
@@ -735,7 +833,7 @@
|
|
| 735 |
"recent",
|
| 736 |
"epss"
|
| 737 |
],
|
| 738 |
-
"lastModified": "2026-09-
|
| 739 |
},
|
| 740 |
{
|
| 741 |
"id": "CyberMax-tools/tickerbell-sec-8k-events",
|
|
@@ -800,7 +898,7 @@
|
|
| 800 |
"configs": [
|
| 801 |
"default"
|
| 802 |
],
|
| 803 |
-
"lastModified": "2026-09-
|
| 804 |
},
|
| 805 |
{
|
| 806 |
"id": "CyberMax-tools/curvewire-us-macro-panel",
|
|
@@ -1141,7 +1239,7 @@
|
|
| 1141 |
"public_inspection",
|
| 1142 |
"weekly_counts"
|
| 1143 |
],
|
| 1144 |
-
"lastModified": "2026-09-
|
| 1145 |
},
|
| 1146 |
{
|
| 1147 |
"id": "CyberMax-tools/swellmeter-google-trending-searches",
|
|
@@ -1407,7 +1505,7 @@
|
|
| 1407 |
"recalls",
|
| 1408 |
"vehicles"
|
| 1409 |
],
|
| 1410 |
-
"lastModified": "2026-09-
|
| 1411 |
},
|
| 1412 |
{
|
| 1413 |
"id": "CyberMax-tools/fedflow-federal-spending-by-county",
|
|
@@ -1457,12 +1555,13 @@
|
|
| 1457 |
"state_top_contractors",
|
| 1458 |
"state_top_industries"
|
| 1459 |
],
|
| 1460 |
-
"lastModified": "2026-09-
|
| 1461 |
}
|
| 1462 |
],
|
| 1463 |
"registry": [
|
| 1464 |
"io.github.shawmena-dotcom/app-reviews",
|
| 1465 |
"io.github.shawmena-dotcom/career-site-jobs",
|
|
|
|
| 1466 |
"io.github.shawmena-dotcom/domain-authority",
|
| 1467 |
"io.github.shawmena-dotcom/domain-intel",
|
| 1468 |
"io.github.shawmena-dotcom/google-trends",
|
|
|
|
| 1 |
{
|
| 2 |
+
"fetchedAt": "2026-09-25T14:55:01.756Z",
|
| 3 |
"store": [
|
| 4 |
{
|
| 5 |
"name": "app-reviews",
|
|
|
|
| 408 |
},
|
| 409 |
"rating": null,
|
| 410 |
"reviews": 0
|
| 411 |
+
},
|
| 412 |
+
{
|
| 413 |
+
"name": "article-extract",
|
| 414 |
+
"title": "Inkpluck — Article Extractor: URL to Text, Markdown & Metadata",
|
| 415 |
+
"description": "Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out. newspaper3k-compatible fields. $0.001 per article; failures free.",
|
| 416 |
+
"url": "https://apify.com/cybermax/article-extract",
|
| 417 |
+
"categories": [
|
| 418 |
+
"NEWS",
|
| 419 |
+
"AI",
|
| 420 |
+
"DEVELOPER_TOOLS"
|
| 421 |
+
],
|
| 422 |
+
"pricing": {
|
| 423 |
+
"pricingModel": "PAY_PER_EVENT",
|
| 424 |
+
"startedAt": "2026-09-24T00:30:00.000Z",
|
| 425 |
+
"apifyMarginPercentage": 0.2,
|
| 426 |
+
"pricingPerEvent": {
|
| 427 |
+
"actorChargeEvents": {
|
| 428 |
+
"article-extracted": {
|
| 429 |
+
"eventTitle": "Article extracted",
|
| 430 |
+
"eventDescription": "One page from which article text was extracted: clean text (and Markdown), title, authors, dates, language, images and videos. Pages that fail to load, are blocked, paywalled, not HTML or have too little text are not charged.",
|
| 431 |
+
"eventPriceUsd": 0.001
|
| 432 |
+
}
|
| 433 |
+
}
|
| 434 |
+
},
|
| 435 |
+
"createdAt": "2026-09-23T23:47:13.856Z"
|
| 436 |
+
},
|
| 437 |
+
"agenticPayments": true,
|
| 438 |
+
"users30d": 1,
|
| 439 |
+
"runs30d": null,
|
| 440 |
+
"rating": null,
|
| 441 |
+
"reviews": 0
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"name": "send-email",
|
| 445 |
+
"title": "Sendfinch — Send Email via SMTP, Resend, SendGrid & Mailgun",
|
| 446 |
+
"description": "Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status. $0.001 per email; failures free.",
|
| 447 |
+
"url": "https://apify.com/cybermax/send-email",
|
| 448 |
+
"categories": [
|
| 449 |
+
"AUTOMATION",
|
| 450 |
+
"INTEGRATIONS",
|
| 451 |
+
"DEVELOPER_TOOLS"
|
| 452 |
+
],
|
| 453 |
+
"pricing": {
|
| 454 |
+
"pricingModel": "PAY_PER_EVENT",
|
| 455 |
+
"startedAt": "2026-09-24T01:00:00.000Z",
|
| 456 |
+
"apifyMarginPercentage": 0.2,
|
| 457 |
+
"pricingPerEvent": {
|
| 458 |
+
"actorChargeEvents": {
|
| 459 |
+
"email-sent": {
|
| 460 |
+
"eventTitle": "Email sent",
|
| 461 |
+
"eventDescription": "One recipient (To, Cc or Bcc) of an email that your SMTP server or email provider accepted. Dry runs, failed sends, refused recipients, invalid or duplicate addresses and empty digests are not charged.",
|
| 462 |
+
"eventPriceUsd": 0.001
|
| 463 |
+
}
|
| 464 |
+
}
|
| 465 |
+
},
|
| 466 |
+
"createdAt": "2026-09-24T00:30:22.608Z"
|
| 467 |
+
},
|
| 468 |
+
"agenticPayments": true,
|
| 469 |
+
"users30d": 1,
|
| 470 |
+
"runs30d": null,
|
| 471 |
+
"rating": null,
|
| 472 |
+
"reviews": 0
|
| 473 |
+
},
|
| 474 |
+
{
|
| 475 |
+
"name": "bulk-image-downloader",
|
| 476 |
+
"title": "Picpail — Bulk Image Downloader: All Images from URLs to ZIP",
|
| 477 |
+
"description": "Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image. Real format and pixel size, duplicate removal, size/format filters, monitor mode. $0.0005 per image; duplicates and skips free.",
|
| 478 |
+
"url": "https://apify.com/cybermax/bulk-image-downloader",
|
| 479 |
+
"categories": [
|
| 480 |
+
"DEVELOPER_TOOLS",
|
| 481 |
+
"AUTOMATION",
|
| 482 |
+
"ECOMMERCE"
|
| 483 |
+
],
|
| 484 |
+
"pricing": {
|
| 485 |
+
"pricingModel": "PAY_PER_EVENT",
|
| 486 |
+
"startedAt": "2026-09-24T12:30:00.000Z",
|
| 487 |
+
"apifyMarginPercentage": 0.2,
|
| 488 |
+
"pricingPerEvent": {
|
| 489 |
+
"actorChargeEvents": {
|
| 490 |
+
"image-downloaded": {
|
| 491 |
+
"eventTitle": "Image downloaded",
|
| 492 |
+
"eventDescription": "One image delivered: downloaded, verified as a real image from its bytes, measured (format, width, height, bytes, SHA-256) and saved to your ZIP/file or listed. Duplicates, filtered-out images, links to HTML pages, failed downloads and failed pages are not charged.",
|
| 493 |
+
"eventPriceUsd": 0.0005
|
| 494 |
+
},
|
| 495 |
+
"large-image-megabyte": {
|
| 496 |
+
"eventTitle": "Extra MB of a large image",
|
| 497 |
+
"eventDescription": "Only for very large files: each started megabyte above the first 2 MB of one delivered image (a 5.5 MB photo = 4 extra MB). Typical web images are under 2 MB and never trigger this.",
|
| 498 |
+
"eventPriceUsd": 0.0001
|
| 499 |
+
}
|
| 500 |
+
}
|
| 501 |
+
},
|
| 502 |
+
"createdAt": "2026-09-24T11:43:02.801Z"
|
| 503 |
+
},
|
| 504 |
+
"agenticPayments": true,
|
| 505 |
+
"users30d": 1,
|
| 506 |
+
"runs30d": null,
|
| 507 |
+
"rating": null,
|
| 508 |
+
"reviews": 0
|
| 509 |
}
|
| 510 |
],
|
| 511 |
"spaces": [
|
|
|
|
| 671 |
"configs": [
|
| 672 |
"default"
|
| 673 |
],
|
| 674 |
+
"lastModified": "2026-09-25T12:17:00.000Z"
|
| 675 |
},
|
| 676 |
{
|
| 677 |
"id": "CyberMax-tools/saas-email-security-snapshot",
|
|
|
|
| 791 |
"configs": [
|
| 792 |
"default"
|
| 793 |
],
|
| 794 |
+
"lastModified": "2026-09-25T12:17:01.000Z"
|
| 795 |
},
|
| 796 |
{
|
| 797 |
"id": "CyberMax-tools/kevscope-cve-kev-epss-daily",
|
|
|
|
| 833 |
"recent",
|
| 834 |
"epss"
|
| 835 |
],
|
| 836 |
+
"lastModified": "2026-09-25T12:16:58.000Z"
|
| 837 |
},
|
| 838 |
{
|
| 839 |
"id": "CyberMax-tools/tickerbell-sec-8k-events",
|
|
|
|
| 898 |
"configs": [
|
| 899 |
"default"
|
| 900 |
],
|
| 901 |
+
"lastModified": "2026-09-25T12:16:57.000Z"
|
| 902 |
},
|
| 903 |
{
|
| 904 |
"id": "CyberMax-tools/curvewire-us-macro-panel",
|
|
|
|
| 1239 |
"public_inspection",
|
| 1240 |
"weekly_counts"
|
| 1241 |
],
|
| 1242 |
+
"lastModified": "2026-09-25T12:17:02.000Z"
|
| 1243 |
},
|
| 1244 |
{
|
| 1245 |
"id": "CyberMax-tools/swellmeter-google-trending-searches",
|
|
|
|
| 1505 |
"recalls",
|
| 1506 |
"vehicles"
|
| 1507 |
],
|
| 1508 |
+
"lastModified": "2026-09-25T12:16:59.000Z"
|
| 1509 |
},
|
| 1510 |
{
|
| 1511 |
"id": "CyberMax-tools/fedflow-federal-spending-by-county",
|
|
|
|
| 1555 |
"state_top_contractors",
|
| 1556 |
"state_top_industries"
|
| 1557 |
],
|
| 1558 |
+
"lastModified": "2026-09-25T12:16:58.000Z"
|
| 1559 |
}
|
| 1560 |
],
|
| 1561 |
"registry": [
|
| 1562 |
"io.github.shawmena-dotcom/app-reviews",
|
| 1563 |
"io.github.shawmena-dotcom/career-site-jobs",
|
| 1564 |
+
"io.github.shawmena-dotcom/cybermax-data",
|
| 1565 |
"io.github.shawmena-dotcom/domain-authority",
|
| 1566 |
"io.github.shawmena-dotcom/domain-intel",
|
| 1567 |
"io.github.shawmena-dotcom/google-trends",
|
market/llms-full.txt
CHANGED
|
@@ -1,11 +1,13 @@
|
|
| 1 |
# CyberMax AI Product Market
|
| 2 |
|
| 3 |
-
> Machine-readable catalog of every live CyberMax capability:
|
| 4 |
|
| 5 |
-
How to call a tool: hosted MCP `https://mcp.apify.com/?tools=cybermax/<name>` (streamable HTTP, header `Authorization: Bearer <APIFY_TOKEN>`; several tools: comma-separate them), tool name `cybermax--<name>`; or HTTP `POST https://api.apify.com/v2/acts/cybermax~<name>/run-sync-get-dataset-items` with the input JSON. Structured catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json. Built 2026-09-
|
| 6 |
|
| 7 |
## Tools
|
| 8 |
- [Gripeline](https://apify.com/cybermax/app-reviews): App Store and Google Play reviews scraper: both stores in one clean schema, plus a per-app summary agents can read (star mix, % negative, top complaints, worst app versions).
|
|
|
|
|
|
|
| 9 |
- [HireHeat Jobs](https://apify.com/cybermax/career-site-jobs): Job search across 12,000+ company career sites (Greenhouse, Lever, Ashby, Workable, SmartRecruiters): filter by title, location, remote and posted-within-days; returns jobs newest first with apply URL, salary where posted and posted date.
|
| 10 |
- [Linkheft](https://apify.com/cybermax/domain-authority): Bulk domain authority checker and Moz DA alternative from open web data: a 0–100 authority score, rank among 133M domains in the Common Crawl web graph, 4-month trend and referring subnets.
|
| 11 |
- [DomainDNA](https://apify.com/cybermax/domain-intel): Website tech stack detector and domain lookup in one JSON record: CMS, e-commerce, analytics, CDN and payments with evidence, plus WHOIS/RDAP domain age, MX provider, SPF/DMARC, TLS expiry and security headers.
|
|
@@ -13,6 +15,7 @@ How to call a tool: hosted MCP `https://mcp.apify.com/?tools=cybermax/<name>` (s
|
|
| 13 |
- [HireHeat](https://apify.com/cybermax/hiring-signals): Per-company hiring summary by domain: open roles now, new roles in the last 7 and 30 days, counts by function and seniority, and hiring momentum; answers "is X hiring, and how many engineers?"
|
| 14 |
- [Keyfern](https://apify.com/cybermax/keyword-ideas): Keyword research from real autocomplete: seeds in, hundreds of long-tail keywords and questions from Google, YouTube, Bing, Amazon and DuckDuckGo, with intent, clusters and an optional Google Trends verdict.
|
| 15 |
- [Boardroom Buys](https://apify.com/cybermax/sec-insider-tracker): SEC Form 4 insider trades from EDGAR: pass tickers (or scan the whole market) and a lookback window to get open-market buys and sells by officers, directors and 10% owners, with cluster-buy flags and the filing link.
|
|
|
|
| 16 |
- [Hollerdex](https://apify.com/cybermax/website-contacts): Website contact finder and email finder by domain (contact details scraper): ranked emails (sales, support, press), phones in E.164, LinkedIn, X, Instagram and more, contact page, form and address.
|
| 17 |
- [SnapScout](https://apify.com/cybermax/website-screenshot): Website screenshot API for AI agents: one record per URL with a public PNG/JPEG screenshot (full page, element or mobile), HTTP status, title, meta and clean page text.
|
| 18 |
|
|
@@ -67,6 +70,49 @@ Example input:
|
|
| 67 |
{"apps":["Duolingo"],"maxReviewsPerApp":5}
|
| 68 |
```
|
| 69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
### HireHeat Jobs: Career Site Job Listings: Greenhouse & Lever
|
| 71 |
|
| 72 |
HireHeat Jobs. Searches open jobs straight from employers' own career sites (12,000+ public boards on Greenhouse, Ashby, Workable, SmartRecruiters; Recruitee opt-in; Lever for companies you name) and returns matching jobs, newest first: title, company, location, remote flag, department, employment type, salary where posted, posted date and days ago, apply URL, ATS and matched keywords. Filter by title keywords, locations, remote, posted date, excluded words, or restrict to certain companies. Use it for "find remote data engineer jobs posted this week", job-board feeds, or finding companies hiring for a role. For a per-company hiring summary, use HireHeat (company_hiring_signals) instead. Cost: $0.002 per job returned + $0.02 per search of more than 25 career sites (maxJobs 50 = at most $0.12). Takes 1-4 minutes for a full directory search; set companies or companyNames for a fast one.
|
|
@@ -224,6 +270,27 @@ Example input:
|
|
| 224 |
{"tickers":["AAPL","NVDA"],"maxTransactions":2,"flagClusterBuys":false,"lookbackDays":30,"onlyOpenMarket":false}
|
| 225 |
```
|
| 226 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 227 |
### Hollerdex: Website Contact Finder & Contact Details Scraper
|
| 228 |
|
| 229 |
Hollerdex. Pass company domains or any URL on the site. Reads the homepage and the likely contact pages (contact, about, support, impressum) and returns one contact card per domain: primaryEmail plus every email (typed role or personal, e.g. sales@, press@), primaryPhone plus phones in E.164, the main LinkedIn, X, Facebook, Instagram, YouTube, TikTok, GitHub and other profiles, contact page and form URLs, postal addresses, company name and a one-line summary. Use it for "how do I contact acme.com?", "find the support email / LinkedIn for these companies", or to enrich a lead list. Only public info on the company's own site; no logins. Cost: $0.004 per domain where at least one contact is found; nothing found, blocked or unreachable = free. Seconds per domain.
|
|
@@ -285,12 +352,6 @@ Example input:
|
|
| 285 |
- [Recallroll — Free VIN Decoder & Vehicle Recall Check (NHTSA)](https://cybermax-tools-cybermax.static.hf.space/recallroll/index.html): Free VIN decoder and recall check on official NHTSA data: every safety recall for your vehicle, Do Not Drive warnings first, 50 VINs at once with CSV, and new recalls. Free, for people (no API).
|
| 286 |
- [Fedflow — Federal Contract & Grant Spending by County and State](https://cybermax-tools-cybermax.static.hf.space/fedflow/index.html): Where federal contracts and grants go: dollars by state and every county, per resident, top agencies, contractors and industries. Free, for people (no API).
|
| 287 |
|
| 288 |
-
## Free data pages, feeds and widgets
|
| 289 |
-
|
| 290 |
-
- [CyberMax Data](https://data.cybermax-tools.workers.dev/): one page per US ZIP code, top web domain, CISA KEV CVE, county federal spending and NHTSA vehicle recall; single-record JSON at https://data.cybermax-tools.workers.dev/api/<zip|cve|county|recall|domain>/<id>.json. Site index: https://data.cybermax-tools.workers.dev/llms.txt
|
| 291 |
-
- Feeds (RSS 2.0 + JSON Feed 1.1): [new CISA KEV CVEs](https://data.cybermax-tools.workers.dev/feeds/kev.xml) ([JSON](https://data.cybermax-tools.workers.dev/feeds/kev.json)), [new vehicle recalls](https://data.cybermax-tools.workers.dev/feeds/recalls.xml) ([JSON](https://data.cybermax-tools.workers.dev/feeds/recalls.json)), [new SEC insider buys](https://data.cybermax-tools.workers.dev/feeds/insider-buys.xml) ([JSON](https://data.cybermax-tools.workers.dev/feeds/insider-buys.json)), [US AI policy updates](https://data.cybermax-tools.workers.dev/feeds/ai-policy.xml) ([JSON](https://data.cybermax-tools.workers.dev/feeds/ai-policy.json))
|
| 292 |
-
- [Embeddable widgets](https://data.cybermax-tools.workers.dev/widgets): ZIP lookup box, domain-rank badge, CISA KEV ticker (free, no cookies)
|
| 293 |
-
|
| 294 |
## Free downloads
|
| 295 |
|
| 296 |
- [Velbrake — Block AI Crawlers in WordPress, Free Plugin (GPL)](https://cybermax-tools-cybermax.static.hf.space/velbrake/index.html): Free WordPress plugin: see which AI bots crawl your site and what they cost, block AI training crawlers like GPTBot and CCBot, keep AI search bots that cite you, and catch fake Googlebots. Free zip: https://cybermax-tools-cybermax.static.hf.space/velbrake/velbrake.zip
|
|
@@ -311,9 +372,7 @@ Example input:
|
|
| 311 |
## Optional
|
| 312 |
|
| 313 |
- [Fieldwright (coming soon, not callable yet): AI Web Data Extractor (Bring Your Own LLM Key)](https://cybermax-tools-cybermax.static.hf.space/market/tools/ai-extract.md): AI web scraper that turns any page into typed JSON fields you name, using YOUR OpenAI, Claude, Gemini or OpenRouter key (you pay the model at cost).
|
| 314 |
-
- [Inkpluck (coming soon, not callable yet): Article Extractor: URL to Text, Markdown & Metadata](https://cybermax-tools-cybermax.static.hf.space/market/tools/article-extract.md): Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out.
|
| 315 |
- [Pinloft (coming soon, not callable yet): Batch Geocoder: Address to Lat/Long + Census FIPS](https://cybermax-tools-cybermax.static.hf.space/market/tools/batch-geocoder.md): Batch geocoding API: addresses to latitude/longitude, cleaned address, county, Census tract and block FIPS for US addresses (US Census), worldwide via OpenStreetMap.
|
| 316 |
-
- [Picpail (coming soon, not callable yet): Bulk Image Downloader: All Images from URLs to ZIP](https://cybermax-tools-cybermax.static.hf.space/market/tools/bulk-image-downloader.md): Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image.
|
| 317 |
- [Firmfold (coming soon, not callable yet): Company Enrichment API: Logo, Tech, Contacts, Jobs](https://cybermax-tools-cybermax.static.hf.space/market/tools/company-enrichment.md): Company enrichment API: give domains, work emails or company names; get one flat profile each: official domain, logo + brand colour, tech stack, email security, domain age, contacts, socials, hiring and Wikidata firmographics.
|
| 318 |
- [Namewhere (coming soon, not callable yet): Company Name to Domain & Website Finder](https://cybermax-tools-cybermax.static.hf.space/market/tools/company-to-domain.md): Company name to domain finder: turn company names into official website domains with a confidence score and evidence (Wikidata, homepage brand check), alternatives, social links, parked domains rejected.
|
| 319 |
- [Commonkite (coming soon, not callable yet): Free Image Search API: Creative Commons & CC0](https://cybermax-tools-cybermax.static.hf.space/market/tools/creative-commons-images.md): Search free-to-use images by keyword across Openverse (900M+ CC images), NASA, The Met, Art Institute of Chicago, Cleveland Museum of Art and Wikimedia Commons.
|
|
@@ -323,5 +382,4 @@ Example input:
|
|
| 323 |
- [Logolark (coming soon, not callable yet): Company Logo API & Favicon Finder by Domain](https://cybermax-tools-cybermax.static.hf.space/market/tools/logo-finder.md): Clearbit Logo API replacement: give domains, URLs or emails, get each company's own best logo and square icon, verified by download: real size, SVG/PNG/ICO, transparency, brand colour, hosted copy, plus rebrand alerts in monitor mode.
|
| 324 |
- [Paperkiln (coming soon, not callable yet): Word, Excel & PowerPoint to PDF Converter API](https://cybermax-tools-cybermax.static.hf.space/market/tools/office-to-pdf.md): Convert DOCX, XLSX, PPTX, ODT, RTF, CSV and legacy DOC/XLS/PPT files to PDF (or PDF/A) in bulk with headless LibreOffice and Office-compatible fonts.
|
| 325 |
- [Feedpeck (coming soon, not callable yet): RSS Feed Finder & Reader: Discover Feeds by Website](https://cybermax-tools-cybermax.static.hf.space/market/tools/rss-feed-finder.md): Find every RSS, Atom and JSON feed a website publishes (link tags, page links, common paths, platform rules for Reddit, Medium, YouTube, GitHub), validated, with title, type, last post date and the latest items.
|
| 326 |
-
- [Sendfinch (coming soon, not callable yet): Send Email via SMTP, Resend, SendGrid & Mailgun](https://cybermax-tools-cybermax.static.hf.space/market/tools/send-email.md): Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status.
|
| 327 |
- [Ziplore (coming soon, not callable yet): US ZIP Code API: Demographics, County & Radius](https://cybermax-tools-cybermax.static.hf.space/market/tools/zip-data-api.md): US ZIP code lookup API: city, state, county + FIPS, lat/long, time zone, Census population, income, home value and rent for every ZIP.
|
|
|
|
| 1 |
# CyberMax AI Product Market
|
| 2 |
|
| 3 |
+
> Machine-readable catalog of every live CyberMax capability: 13 pay-per-result API tools (callable as MCP tools or HTTP APIs, billed to the caller's own Apify account) and 25 free open datasets. Pick a tool by what it returns; every entry has JSON Schemas for input and output, pricing and copy-paste integration code.
|
| 4 |
|
| 5 |
+
How to call a tool: hosted MCP `https://mcp.apify.com/?tools=cybermax/<name>` (streamable HTTP, header `Authorization: Bearer <APIFY_TOKEN>`; several tools: comma-separate them), tool name `cybermax--<name>`; or HTTP `POST https://api.apify.com/v2/acts/cybermax~<name>/run-sync-get-dataset-items` with the input JSON. Structured catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json. Built 2026-09-25T14:55:01.756Z.
|
| 6 |
|
| 7 |
## Tools
|
| 8 |
- [Gripeline](https://apify.com/cybermax/app-reviews): App Store and Google Play reviews scraper: both stores in one clean schema, plus a per-app summary agents can read (star mix, % negative, top complaints, worst app versions).
|
| 9 |
+
- [Inkpluck](https://apify.com/cybermax/article-extract): Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out.
|
| 10 |
+
- [Picpail](https://apify.com/cybermax/bulk-image-downloader): Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image.
|
| 11 |
- [HireHeat Jobs](https://apify.com/cybermax/career-site-jobs): Job search across 12,000+ company career sites (Greenhouse, Lever, Ashby, Workable, SmartRecruiters): filter by title, location, remote and posted-within-days; returns jobs newest first with apply URL, salary where posted and posted date.
|
| 12 |
- [Linkheft](https://apify.com/cybermax/domain-authority): Bulk domain authority checker and Moz DA alternative from open web data: a 0–100 authority score, rank among 133M domains in the Common Crawl web graph, 4-month trend and referring subnets.
|
| 13 |
- [DomainDNA](https://apify.com/cybermax/domain-intel): Website tech stack detector and domain lookup in one JSON record: CMS, e-commerce, analytics, CDN and payments with evidence, plus WHOIS/RDAP domain age, MX provider, SPF/DMARC, TLS expiry and security headers.
|
|
|
|
| 15 |
- [HireHeat](https://apify.com/cybermax/hiring-signals): Per-company hiring summary by domain: open roles now, new roles in the last 7 and 30 days, counts by function and seniority, and hiring momentum; answers "is X hiring, and how many engineers?"
|
| 16 |
- [Keyfern](https://apify.com/cybermax/keyword-ideas): Keyword research from real autocomplete: seeds in, hundreds of long-tail keywords and questions from Google, YouTube, Bing, Amazon and DuckDuckGo, with intent, clusters and an optional Google Trends verdict.
|
| 17 |
- [Boardroom Buys](https://apify.com/cybermax/sec-insider-tracker): SEC Form 4 insider trades from EDGAR: pass tickers (or scan the whole market) and a lookback window to get open-market buys and sells by officers, directors and 10% owners, with cluster-buy flags and the filing link.
|
| 18 |
+
- [Sendfinch](https://apify.com/cybermax/send-email): Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status.
|
| 19 |
- [Hollerdex](https://apify.com/cybermax/website-contacts): Website contact finder and email finder by domain (contact details scraper): ranked emails (sales, support, press), phones in E.164, LinkedIn, X, Instagram and more, contact page, form and address.
|
| 20 |
- [SnapScout](https://apify.com/cybermax/website-screenshot): Website screenshot API for AI agents: one record per URL with a public PNG/JPEG screenshot (full page, element or mobile), HTTP status, title, meta and clean page text.
|
| 21 |
|
|
|
|
| 70 |
{"apps":["Duolingo"],"maxReviewsPerApp":5}
|
| 71 |
```
|
| 72 |
|
| 73 |
+
### Inkpluck: Article Extractor: URL to Text, Markdown & Metadata
|
| 74 |
+
|
| 75 |
+
Inkpluck. Article extractor: give URLs of news articles, blog posts or docs pages and get, per URL, the clean article body as Markdown (or plain text) without navigation, ads or footers, plus title, authors, publish and modified dates (ISO 8601), language, site name, tags, top image, embedded videos, word count, reading time, a paywall flag and looksLikeArticle (false for home/section pages). Use it to read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus. It fetches the given URLs and feed items only (no crawling) with plain HTTP, so JavaScript-only pages and hard bot walls return a free failure with the reason. Cost: $0.001 per article extracted; failures are free. Typically 0.5-3 s per URL.
|
| 76 |
+
|
| 77 |
+
Use when: read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus.
|
| 78 |
+
|
| 79 |
+
- ID: `cybermax/article-extract` · MCP tool: `cybermax--article-extract` at https://mcp.apify.com/?tools=cybermax/article-extract
|
| 80 |
+
- HTTP: `POST https://api.apify.com/v2/acts/cybermax~article-extract/run-sync-get-dataset-items` (header `Authorization: Bearer <APIFY_TOKEN>`, body = input JSON, returns a JSON array)
|
| 81 |
+
- Price: $0.001 per article extracted (pay per event, billed by Apify to the caller's account)
|
| 82 |
+
- Store page: https://apify.com/cybermax/article-extract · OpenAPI: https://cybermax-tools-cybermax.static.hf.space/market/openapi/article-extract.json
|
| 83 |
+
- Input fields: `urls` (array), `feedUrls` (array), `maxArticlesPerFeed` (integer), `onlyNew` (boolean), `monitorName` (string), `htmlDocuments` (array), `onlyArticles` (boolean), `outputMarkdown` (boolean), `includeHtml` (boolean), `newspaper3kFields` (boolean), `minWords` (integer), `maxConcurrency` (integer), `timeoutSecs` (integer), `retryBlockedWithProxy` (boolean), `proxyConfiguration` (object), `startUrls` (array)
|
| 84 |
+
- Output fields: `url`, `finalUrl`, `ok`, `title`, `authors`, `publishDate`, `modifiedDate`, `siteName`, `language`, `description`, `section`, `tags`, `topImage`, `images`, `videos`, `text`, `markdown`, `html`, `wordCount`, `readingTimeMinutes`, `looksLikeArticle`, `paywalled`, `canonicalUrl`, `httpStatus`, `fetchedVia`, `ms`, `error`, `extractedAt`
|
| 85 |
+
- One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.
|
| 86 |
+
- On the hosted MCP server the tool is named "cybermax--article-extract" and takes the same input object (plus optional waitSecs).
|
| 87 |
+
|
| 88 |
+
Example input:
|
| 89 |
+
|
| 90 |
+
```json
|
| 91 |
+
{"urls":["https://techcrunch.com/2026/09/23/meta-introduces-camera-free-ai-glasses/","https://blog.cloudflare.com/vary-support/"]}
|
| 92 |
+
```
|
| 93 |
+
|
| 94 |
+
### Picpail: Bulk Image Downloader: All Images from URLs to ZIP
|
| 95 |
+
|
| 96 |
+
Picpail. Bulk image downloader: give web page URLs (product pages, galleries, blog posts) and/or direct image URLs; it finds every image (img, srcset, lazy-load data-src, picture, CSS backgrounds, og:image, JSON-LD, linked originals), swaps CDN thumbnails for FULL-SIZE ORIGINALS (Shopify, WordPress, Wikimedia, Cloudinary, Wix, Squarespace, Contentful, imgix), downloads each once, verifies it from its bytes and returns a ZIP link (or one link per file with output="files") plus, per image: real format, width, height, bytes, alt text and where it was found. Filters: minWidth/minHeight, formats, sameDomainOnly, urlPattern. Use it to collect product photos, back up a site's media, build image datasets or audit alt text. Reads server HTML (no browser): JavaScript-only pages return few images. Cost: $0.0005 per image delivered (+$0.0001 per MB above 2 MB for very large files); duplicates and skipped images are free.
|
| 97 |
+
|
| 98 |
+
Use when: collect product photos, back up a site's media, build image datasets or audit alt text.
|
| 99 |
+
|
| 100 |
+
- ID: `cybermax/bulk-image-downloader` · MCP tool: `cybermax--bulk-image-downloader` at https://mcp.apify.com/?tools=cybermax/bulk-image-downloader
|
| 101 |
+
- HTTP: `POST https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/run-sync-get-dataset-items` (header `Authorization: Bearer <APIFY_TOKEN>`, body = input JSON, returns a JSON array)
|
| 102 |
+
- Price: $0.0005 per image downloaded + $0.0001 per extra mb of a large image (pay per event, billed by Apify to the caller's account)
|
| 103 |
+
- Store page: https://apify.com/cybermax/bulk-image-downloader · OpenAPI: https://cybermax-tools-cybermax.static.hf.space/market/openapi/bulk-image-downloader.json
|
| 104 |
+
- Input fields: `urls` (array, required), `output` (string), `minWidth` (integer), `minHeight` (integer), `formats` (array), `minFileSizeKb` (integer), `maxFileSizeMb` (integer), `urlPattern` (string), `excludeUrlPattern` (string), `sameDomainOnly` (boolean), `dedupe` (boolean), `skipTrackingPixels` (boolean), `upgradeToOriginals` (boolean), `srcset` (string), `includeLinkedImages` (boolean), `includeCssBackgrounds` (boolean), `includeMetaImages` (boolean), `includeIcons` (boolean), `includeDataUris` (boolean), `preferOriginalFormat` (boolean), `fileNaming` (string), `zipPartSizeMb` (integer), `maxImagesPerPage` (integer), `maxImagesTotal` (integer), `pageConcurrency` (integer), `imageConcurrency` (integer), `timeoutSecs` (integer), `proxyConfiguration` (object), `retryWithProxy` (boolean), `monitor` (boolean), `monitorKey` (string)
|
| 105 |
+
- Output fields: `fileUrl`, `imageUrl`, `pageImageUrl`, `pageUrl`, `format`, `width`, `height`, `bytes`, `extraMegabytes`, `alt`, `source`, `fileName`, `zipUrl`, `sha256`, `pageTitle`, `animated`, `finalUrl`, `via`, `type`, `error`, `httpStatus`
|
| 106 |
+
- Monitor mode: set "monitor": true on a scheduled run to get only records that changed since the last run.
|
| 107 |
+
- One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.
|
| 108 |
+
- On the hosted MCP server the tool is named "cybermax--bulk-image-downloader" and takes the same input object (plus optional waitSecs).
|
| 109 |
+
|
| 110 |
+
Example input:
|
| 111 |
+
|
| 112 |
+
```json
|
| 113 |
+
{"urls":["https://books.toscrape.com/"],"output":"list","formats":["jpeg","png","webp"],"minWidth":100}
|
| 114 |
+
```
|
| 115 |
+
|
| 116 |
### HireHeat Jobs: Career Site Job Listings: Greenhouse & Lever
|
| 117 |
|
| 118 |
HireHeat Jobs. Searches open jobs straight from employers' own career sites (12,000+ public boards on Greenhouse, Ashby, Workable, SmartRecruiters; Recruitee opt-in; Lever for companies you name) and returns matching jobs, newest first: title, company, location, remote flag, department, employment type, salary where posted, posted date and days ago, apply URL, ATS and matched keywords. Filter by title keywords, locations, remote, posted date, excluded words, or restrict to certain companies. Use it for "find remote data engineer jobs posted this week", job-board feeds, or finding companies hiring for a role. For a per-company hiring summary, use HireHeat (company_hiring_signals) instead. Cost: $0.002 per job returned + $0.02 per search of more than 25 career sites (maxJobs 50 = at most $0.12). Takes 1-4 minutes for a full directory search; set companies or companyNames for a fast one.
|
|
|
|
| 270 |
{"tickers":["AAPL","NVDA"],"maxTransactions":2,"flagClusterBuys":false,"lookbackDays":30,"onlyOpenMarket":false}
|
| 271 |
```
|
| 272 |
|
| 273 |
+
### Sendfinch: Send Email via SMTP, Resend, SendGrid & Mailgun
|
| 274 |
+
|
| 275 |
+
Sendfinch. Sends an email (HTML and/or plain text, cc/bcc, reply-to, attachments by URL or text) from the user's configured sender address through their own SMTP server, Resend, SendGrid, Mailgun or Postmark account. Returns, per email, ok, the provider message ID, the SMTP/HTTP response, refused recipients and a readable error. Use dry_run: true first to show the user the rendered email without sending (free). Only email people who expect it (the user, their team, their customers); never cold or bulk marketing. Cost: $0.001 per recipient accepted; failures and dry runs are free. Typically 3-6 s.
|
| 276 |
+
|
| 277 |
+
Not for: Only email people who expect it (the user, their team, their customers); never cold or bulk marketing.
|
| 278 |
+
|
| 279 |
+
- ID: `cybermax/send-email` · MCP tool: `cybermax--send-email` at https://mcp.apify.com/?tools=cybermax/send-email
|
| 280 |
+
- HTTP: `POST https://api.apify.com/v2/acts/cybermax~send-email/run-sync-get-dataset-items` (header `Authorization: Bearer <APIFY_TOKEN>`, body = input JSON, returns a JSON array)
|
| 281 |
+
- Price: $0.001 per email sent (pay per event, billed by Apify to the caller's account)
|
| 282 |
+
- Store page: https://apify.com/cybermax/send-email · OpenAPI: https://cybermax-tools-cybermax.static.hf.space/market/openapi/send-email.json
|
| 283 |
+
- Input fields: `provider` (string), `from` (string), `to` (string), `subject` (string), `html` (string), `text` (string), `mode` (string), `datasetId` (string), `items` (array), `toField` (string), `nameField` (string), `digestFields` (array), `digestTitle` (string), `maxDigestRows` (integer), `attachCsv` (boolean), `skipIfEmpty` (boolean), `maxItems` (integer), `onlyNew` (boolean), `monitorName` (string), `idField` (string), `messages` (array), `variables` (object), `sendSeparately` (boolean), `cc` (string), `bcc` (string), `replyTo` (string), `attachments` (array), `keyValueStoreId` (string), `headers` (object), `unsubscribeUrl` (string), `smtpHost` (string), `smtpPort` (integer), `smtpSecure` (boolean), `smtpUser` (string), `smtpPassword` (string), `smtpAllowSelfSigned` (boolean), `apiKey` (string), `mailgunDomain` (string), `region` (string), `postmarkStream` (string), `dryRun` (boolean), `maxEmails` (integer), `maxConcurrency` (integer), `delayBetweenEmailsMs` (integer), `autoText` (boolean)
|
| 284 |
+
- Output fields: `index`, `mode`, `provider`, `ok`, `to`, `cc`, `bcc`, `subject`, `recipients`, `charged`, `messageId`, `status`, `rejected`, `attachments`, `rows`, `dryRun`, `text`, `html`, `error`, `ms`, `sentAt`
|
| 285 |
+
- One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.
|
| 286 |
+
- On the hosted MCP server the tool is named "cybermax--send-email" and takes the same input object (plus optional waitSecs).
|
| 287 |
+
|
| 288 |
+
Example input:
|
| 289 |
+
|
| 290 |
+
```json
|
| 291 |
+
{"from":"Acme Alerts <alerts@acme.com>","subject":"Hi {{firstName}}, your {{plan}} report is ready","html":"<p>Hi {{firstName}},</p><p>Your {{plan}} report for <b>{{company}}</b> is ready.</p>","mode":"merge","items":[{"email":"ann@example.com","firstName":"Ann","company":"Acme Corp","plan":"Pro"},{"email":"raj@example.org","firstName":"Raj","company":"Northwind","plan":"Team"}],"dryRun":true}
|
| 292 |
+
```
|
| 293 |
+
|
| 294 |
### Hollerdex: Website Contact Finder & Contact Details Scraper
|
| 295 |
|
| 296 |
Hollerdex. Pass company domains or any URL on the site. Reads the homepage and the likely contact pages (contact, about, support, impressum) and returns one contact card per domain: primaryEmail plus every email (typed role or personal, e.g. sales@, press@), primaryPhone plus phones in E.164, the main LinkedIn, X, Facebook, Instagram, YouTube, TikTok, GitHub and other profiles, contact page and form URLs, postal addresses, company name and a one-line summary. Use it for "how do I contact acme.com?", "find the support email / LinkedIn for these companies", or to enrich a lead list. Only public info on the company's own site; no logins. Cost: $0.004 per domain where at least one contact is found; nothing found, blocked or unreachable = free. Seconds per domain.
|
|
|
|
| 352 |
- [Recallroll — Free VIN Decoder & Vehicle Recall Check (NHTSA)](https://cybermax-tools-cybermax.static.hf.space/recallroll/index.html): Free VIN decoder and recall check on official NHTSA data: every safety recall for your vehicle, Do Not Drive warnings first, 50 VINs at once with CSV, and new recalls. Free, for people (no API).
|
| 353 |
- [Fedflow — Federal Contract & Grant Spending by County and State](https://cybermax-tools-cybermax.static.hf.space/fedflow/index.html): Where federal contracts and grants go: dollars by state and every county, per resident, top agencies, contractors and industries. Free, for people (no API).
|
| 354 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 355 |
## Free downloads
|
| 356 |
|
| 357 |
- [Velbrake — Block AI Crawlers in WordPress, Free Plugin (GPL)](https://cybermax-tools-cybermax.static.hf.space/velbrake/index.html): Free WordPress plugin: see which AI bots crawl your site and what they cost, block AI training crawlers like GPTBot and CCBot, keep AI search bots that cite you, and catch fake Googlebots. Free zip: https://cybermax-tools-cybermax.static.hf.space/velbrake/velbrake.zip
|
|
|
|
| 372 |
## Optional
|
| 373 |
|
| 374 |
- [Fieldwright (coming soon, not callable yet): AI Web Data Extractor (Bring Your Own LLM Key)](https://cybermax-tools-cybermax.static.hf.space/market/tools/ai-extract.md): AI web scraper that turns any page into typed JSON fields you name, using YOUR OpenAI, Claude, Gemini or OpenRouter key (you pay the model at cost).
|
|
|
|
| 375 |
- [Pinloft (coming soon, not callable yet): Batch Geocoder: Address to Lat/Long + Census FIPS](https://cybermax-tools-cybermax.static.hf.space/market/tools/batch-geocoder.md): Batch geocoding API: addresses to latitude/longitude, cleaned address, county, Census tract and block FIPS for US addresses (US Census), worldwide via OpenStreetMap.
|
|
|
|
| 376 |
- [Firmfold (coming soon, not callable yet): Company Enrichment API: Logo, Tech, Contacts, Jobs](https://cybermax-tools-cybermax.static.hf.space/market/tools/company-enrichment.md): Company enrichment API: give domains, work emails or company names; get one flat profile each: official domain, logo + brand colour, tech stack, email security, domain age, contacts, socials, hiring and Wikidata firmographics.
|
| 377 |
- [Namewhere (coming soon, not callable yet): Company Name to Domain & Website Finder](https://cybermax-tools-cybermax.static.hf.space/market/tools/company-to-domain.md): Company name to domain finder: turn company names into official website domains with a confidence score and evidence (Wikidata, homepage brand check), alternatives, social links, parked domains rejected.
|
| 378 |
- [Commonkite (coming soon, not callable yet): Free Image Search API: Creative Commons & CC0](https://cybermax-tools-cybermax.static.hf.space/market/tools/creative-commons-images.md): Search free-to-use images by keyword across Openverse (900M+ CC images), NASA, The Met, Art Institute of Chicago, Cleveland Museum of Art and Wikimedia Commons.
|
|
|
|
| 382 |
- [Logolark (coming soon, not callable yet): Company Logo API & Favicon Finder by Domain](https://cybermax-tools-cybermax.static.hf.space/market/tools/logo-finder.md): Clearbit Logo API replacement: give domains, URLs or emails, get each company's own best logo and square icon, verified by download: real size, SVG/PNG/ICO, transparency, brand colour, hosted copy, plus rebrand alerts in monitor mode.
|
| 383 |
- [Paperkiln (coming soon, not callable yet): Word, Excel & PowerPoint to PDF Converter API](https://cybermax-tools-cybermax.static.hf.space/market/tools/office-to-pdf.md): Convert DOCX, XLSX, PPTX, ODT, RTF, CSV and legacy DOC/XLS/PPT files to PDF (or PDF/A) in bulk with headless LibreOffice and Office-compatible fonts.
|
| 384 |
- [Feedpeck (coming soon, not callable yet): RSS Feed Finder & Reader: Discover Feeds by Website](https://cybermax-tools-cybermax.static.hf.space/market/tools/rss-feed-finder.md): Find every RSS, Atom and JSON feed a website publishes (link tags, page links, common paths, platform rules for Reddit, Medium, YouTube, GitHub), validated, with title, type, last post date and the latest items.
|
|
|
|
| 385 |
- [Ziplore (coming soon, not callable yet): US ZIP Code API: Demographics, County & Radius](https://cybermax-tools-cybermax.static.hf.space/market/tools/zip-data-api.md): US ZIP code lookup API: city, state, county + FIPS, lat/long, time zone, Census population, income, home value and rent for every ZIP.
|
market/llms.txt
CHANGED
|
@@ -1,11 +1,13 @@
|
|
| 1 |
# CyberMax AI Product Market
|
| 2 |
|
| 3 |
-
> Machine-readable catalog of every live CyberMax capability:
|
| 4 |
|
| 5 |
-
How to call a tool: hosted MCP `https://mcp.apify.com/?tools=cybermax/<name>` (streamable HTTP, header `Authorization: Bearer <APIFY_TOKEN>`; several tools: comma-separate them), tool name `cybermax--<name>`; or HTTP `POST https://api.apify.com/v2/acts/cybermax~<name>/run-sync-get-dataset-items` with the input JSON. Structured catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json. Built 2026-09-
|
| 6 |
|
| 7 |
## Tools
|
| 8 |
- [Gripeline: App Store & Google Play Reviews Scraper](https://cybermax-tools-cybermax.static.hf.space/market/tools/app-reviews.md): App Store and Google Play reviews scraper: both stores in one clean schema, plus a per-app summary agents can read (star mix, % negative, top complaints, worst app versions). Price: $0.003 per app summary + $0.0001 per review. MCP tool `cybermax--app-reviews`.
|
|
|
|
|
|
|
| 9 |
- [HireHeat Jobs: Career Site Job Listings: Greenhouse & Lever](https://cybermax-tools-cybermax.static.hf.space/market/tools/career-site-jobs.md): Job search across 12,000+ company career sites (Greenhouse, Lever, Ashby, Workable, SmartRecruiters): filter by title, location, remote and posted-within-days; returns jobs newest first with apply URL, salary where posted and posted date. Price: $0.02 per search + $0.002 per job returned. MCP tool `cybermax--career-site-jobs`.
|
| 10 |
- [Linkheft: Domain Authority Checker & Website Rank API](https://cybermax-tools-cybermax.static.hf.space/market/tools/domain-authority.md): Bulk domain authority checker and Moz DA alternative from open web data: a 0–100 authority score, rank among 133M domains in the Common Crawl web graph, 4-month trend and referring subnets. Price: $0.002 per domain ranked. MCP tool `cybermax--domain-authority`.
|
| 11 |
- [DomainDNA: Tech Stack Detector, WHOIS & Domain Age API](https://cybermax-tools-cybermax.static.hf.space/market/tools/domain-intel.md): Website tech stack detector and domain lookup in one JSON record: CMS, e-commerce, analytics, CDN and payments with evidence, plus WHOIS/RDAP domain age, MX provider, SPF/DMARC, TLS expiry and security headers. Price: $0.004 per domain analyzed. MCP tool `cybermax--domain-intel`.
|
|
@@ -13,6 +15,7 @@ How to call a tool: hosted MCP `https://mcp.apify.com/?tools=cybermax/<name>` (s
|
|
| 13 |
- [HireHeat: Company Hiring Signals & Job Postings by Domain](https://cybermax-tools-cybermax.static.hf.space/market/tools/hiring-signals.md): Per-company hiring summary by domain: open roles now, new roles in the last 7 and 30 days, counts by function and seniority, and hiring momentum; answers "is X hiring, and how many engineers?" Price: $0.01 per company hiring summary + $0.001 per job returned. MCP tool `cybermax--hiring-signals`.
|
| 14 |
- [Keyfern: Keyword Ideas & Google Autocomplete: YouTube, Amazon](https://cybermax-tools-cybermax.static.hf.space/market/tools/keyword-ideas.md): Keyword research from real autocomplete: seeds in, hundreds of long-tail keywords and questions from Google, YouTube, Bing, Amazon and DuckDuckGo, with intent, clusters and an optional Google Trends verdict. Price: $0.001 per keyword idea + $0.003 per trend verdict. MCP tool `cybermax--keyword-ideas`.
|
| 15 |
- [Boardroom Buys: SEC Form 4 Insider Trading Tracker & Alerts](https://cybermax-tools-cybermax.static.hf.space/market/tools/sec-insider-tracker.md): SEC Form 4 insider trades from EDGAR: pass tickers (or scan the whole market) and a lookback window to get open-market buys and sells by officers, directors and 10% owners, with cluster-buy flags and the filing link. Price: $0.004 per insider transaction + $0.015 per cluster buy signal. MCP tool `cybermax--sec-insider-tracker`.
|
|
|
|
| 16 |
- [Hollerdex: Website Contact Finder & Contact Details Scraper](https://cybermax-tools-cybermax.static.hf.space/market/tools/website-contacts.md): Website contact finder and email finder by domain (contact details scraper): ranked emails (sales, support, press), phones in E.164, LinkedIn, X, Instagram and more, contact page, form and address. Price: $0.004 per domain with contacts found. MCP tool `cybermax--website-contacts`.
|
| 17 |
- [SnapScout: Website Screenshot API for AI Agents (Image + Text)](https://cybermax-tools-cybermax.static.hf.space/market/tools/website-screenshot.md): Website screenshot API for AI agents: one record per URL with a public PNG/JPEG screenshot (full page, element or mobile), HTTP status, title, meta and clean page text. Price: $0.003 per screenshot captured. MCP tool `cybermax--website-screenshot`.
|
| 18 |
|
|
@@ -57,12 +60,6 @@ How to call a tool: hosted MCP `https://mcp.apify.com/?tools=cybermax/<name>` (s
|
|
| 57 |
- [Recallroll — Free VIN Decoder & Vehicle Recall Check (NHTSA)](https://cybermax-tools-cybermax.static.hf.space/recallroll/index.html): Free VIN decoder and recall check on official NHTSA data: every safety recall for your vehicle, Do Not Drive warnings first, 50 VINs at once with CSV, and new recalls. Free, for people (no API).
|
| 58 |
- [Fedflow — Federal Contract & Grant Spending by County and State](https://cybermax-tools-cybermax.static.hf.space/fedflow/index.html): Where federal contracts and grants go: dollars by state and every county, per resident, top agencies, contractors and industries. Free, for people (no API).
|
| 59 |
|
| 60 |
-
## Free data pages, feeds and widgets
|
| 61 |
-
|
| 62 |
-
- [CyberMax Data](https://data.cybermax-tools.workers.dev/): one page per US ZIP code, top web domain, CISA KEV CVE, county federal spending and NHTSA vehicle recall; single-record JSON at https://data.cybermax-tools.workers.dev/api/<zip|cve|county|recall|domain>/<id>.json. Site index: https://data.cybermax-tools.workers.dev/llms.txt
|
| 63 |
-
- Feeds (RSS 2.0 + JSON Feed 1.1): [new CISA KEV CVEs](https://data.cybermax-tools.workers.dev/feeds/kev.xml) ([JSON](https://data.cybermax-tools.workers.dev/feeds/kev.json)), [new vehicle recalls](https://data.cybermax-tools.workers.dev/feeds/recalls.xml) ([JSON](https://data.cybermax-tools.workers.dev/feeds/recalls.json)), [new SEC insider buys](https://data.cybermax-tools.workers.dev/feeds/insider-buys.xml) ([JSON](https://data.cybermax-tools.workers.dev/feeds/insider-buys.json)), [US AI policy updates](https://data.cybermax-tools.workers.dev/feeds/ai-policy.xml) ([JSON](https://data.cybermax-tools.workers.dev/feeds/ai-policy.json))
|
| 64 |
-
- [Embeddable widgets](https://data.cybermax-tools.workers.dev/widgets): ZIP lookup box, domain-rank badge, CISA KEV ticker (free, no cookies)
|
| 65 |
-
|
| 66 |
## Free downloads
|
| 67 |
|
| 68 |
- [Velbrake — Block AI Crawlers in WordPress, Free Plugin (GPL)](https://cybermax-tools-cybermax.static.hf.space/velbrake/index.html): Free WordPress plugin: see which AI bots crawl your site and what they cost, block AI training crawlers like GPTBot and CCBot, keep AI search bots that cite you, and catch fake Googlebots. Free zip: https://cybermax-tools-cybermax.static.hf.space/velbrake/velbrake.zip
|
|
@@ -83,9 +80,7 @@ How to call a tool: hosted MCP `https://mcp.apify.com/?tools=cybermax/<name>` (s
|
|
| 83 |
## Optional
|
| 84 |
|
| 85 |
- [Fieldwright (coming soon, not callable yet): AI Web Data Extractor (Bring Your Own LLM Key)](https://cybermax-tools-cybermax.static.hf.space/market/tools/ai-extract.md): AI web scraper that turns any page into typed JSON fields you name, using YOUR OpenAI, Claude, Gemini or OpenRouter key (you pay the model at cost).
|
| 86 |
-
- [Inkpluck (coming soon, not callable yet): Article Extractor: URL to Text, Markdown & Metadata](https://cybermax-tools-cybermax.static.hf.space/market/tools/article-extract.md): Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out.
|
| 87 |
- [Pinloft (coming soon, not callable yet): Batch Geocoder: Address to Lat/Long + Census FIPS](https://cybermax-tools-cybermax.static.hf.space/market/tools/batch-geocoder.md): Batch geocoding API: addresses to latitude/longitude, cleaned address, county, Census tract and block FIPS for US addresses (US Census), worldwide via OpenStreetMap.
|
| 88 |
-
- [Picpail (coming soon, not callable yet): Bulk Image Downloader: All Images from URLs to ZIP](https://cybermax-tools-cybermax.static.hf.space/market/tools/bulk-image-downloader.md): Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image.
|
| 89 |
- [Firmfold (coming soon, not callable yet): Company Enrichment API: Logo, Tech, Contacts, Jobs](https://cybermax-tools-cybermax.static.hf.space/market/tools/company-enrichment.md): Company enrichment API: give domains, work emails or company names; get one flat profile each: official domain, logo + brand colour, tech stack, email security, domain age, contacts, socials, hiring and Wikidata firmographics.
|
| 90 |
- [Namewhere (coming soon, not callable yet): Company Name to Domain & Website Finder](https://cybermax-tools-cybermax.static.hf.space/market/tools/company-to-domain.md): Company name to domain finder: turn company names into official website domains with a confidence score and evidence (Wikidata, homepage brand check), alternatives, social links, parked domains rejected.
|
| 91 |
- [Commonkite (coming soon, not callable yet): Free Image Search API: Creative Commons & CC0](https://cybermax-tools-cybermax.static.hf.space/market/tools/creative-commons-images.md): Search free-to-use images by keyword across Openverse (900M+ CC images), NASA, The Met, Art Institute of Chicago, Cleveland Museum of Art and Wikimedia Commons.
|
|
@@ -95,5 +90,4 @@ How to call a tool: hosted MCP `https://mcp.apify.com/?tools=cybermax/<name>` (s
|
|
| 95 |
- [Logolark (coming soon, not callable yet): Company Logo API & Favicon Finder by Domain](https://cybermax-tools-cybermax.static.hf.space/market/tools/logo-finder.md): Clearbit Logo API replacement: give domains, URLs or emails, get each company's own best logo and square icon, verified by download: real size, SVG/PNG/ICO, transparency, brand colour, hosted copy, plus rebrand alerts in monitor mode.
|
| 96 |
- [Paperkiln (coming soon, not callable yet): Word, Excel & PowerPoint to PDF Converter API](https://cybermax-tools-cybermax.static.hf.space/market/tools/office-to-pdf.md): Convert DOCX, XLSX, PPTX, ODT, RTF, CSV and legacy DOC/XLS/PPT files to PDF (or PDF/A) in bulk with headless LibreOffice and Office-compatible fonts.
|
| 97 |
- [Feedpeck (coming soon, not callable yet): RSS Feed Finder & Reader: Discover Feeds by Website](https://cybermax-tools-cybermax.static.hf.space/market/tools/rss-feed-finder.md): Find every RSS, Atom and JSON feed a website publishes (link tags, page links, common paths, platform rules for Reddit, Medium, YouTube, GitHub), validated, with title, type, last post date and the latest items.
|
| 98 |
-
- [Sendfinch (coming soon, not callable yet): Send Email via SMTP, Resend, SendGrid & Mailgun](https://cybermax-tools-cybermax.static.hf.space/market/tools/send-email.md): Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status.
|
| 99 |
- [Ziplore (coming soon, not callable yet): US ZIP Code API: Demographics, County & Radius](https://cybermax-tools-cybermax.static.hf.space/market/tools/zip-data-api.md): US ZIP code lookup API: city, state, county + FIPS, lat/long, time zone, Census population, income, home value and rent for every ZIP.
|
|
|
|
| 1 |
# CyberMax AI Product Market
|
| 2 |
|
| 3 |
+
> Machine-readable catalog of every live CyberMax capability: 13 pay-per-result API tools (callable as MCP tools or HTTP APIs, billed to the caller's own Apify account) and 25 free open datasets. Pick a tool by what it returns; every entry has JSON Schemas for input and output, pricing and copy-paste integration code.
|
| 4 |
|
| 5 |
+
How to call a tool: hosted MCP `https://mcp.apify.com/?tools=cybermax/<name>` (streamable HTTP, header `Authorization: Bearer <APIFY_TOKEN>`; several tools: comma-separate them), tool name `cybermax--<name>`; or HTTP `POST https://api.apify.com/v2/acts/cybermax~<name>/run-sync-get-dataset-items` with the input JSON. Structured catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json. Built 2026-09-25T14:55:01.756Z.
|
| 6 |
|
| 7 |
## Tools
|
| 8 |
- [Gripeline: App Store & Google Play Reviews Scraper](https://cybermax-tools-cybermax.static.hf.space/market/tools/app-reviews.md): App Store and Google Play reviews scraper: both stores in one clean schema, plus a per-app summary agents can read (star mix, % negative, top complaints, worst app versions). Price: $0.003 per app summary + $0.0001 per review. MCP tool `cybermax--app-reviews`.
|
| 9 |
+
- [Inkpluck: Article Extractor: URL to Text, Markdown & Metadata](https://cybermax-tools-cybermax.static.hf.space/market/tools/article-extract.md): Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out. Price: $0.001 per article extracted. MCP tool `cybermax--article-extract`.
|
| 10 |
+
- [Picpail: Bulk Image Downloader: All Images from URLs to ZIP](https://cybermax-tools-cybermax.static.hf.space/market/tools/bulk-image-downloader.md): Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image. Price: $0.0005 per image downloaded + $0.0001 per extra mb of a large image. MCP tool `cybermax--bulk-image-downloader`.
|
| 11 |
- [HireHeat Jobs: Career Site Job Listings: Greenhouse & Lever](https://cybermax-tools-cybermax.static.hf.space/market/tools/career-site-jobs.md): Job search across 12,000+ company career sites (Greenhouse, Lever, Ashby, Workable, SmartRecruiters): filter by title, location, remote and posted-within-days; returns jobs newest first with apply URL, salary where posted and posted date. Price: $0.02 per search + $0.002 per job returned. MCP tool `cybermax--career-site-jobs`.
|
| 12 |
- [Linkheft: Domain Authority Checker & Website Rank API](https://cybermax-tools-cybermax.static.hf.space/market/tools/domain-authority.md): Bulk domain authority checker and Moz DA alternative from open web data: a 0–100 authority score, rank among 133M domains in the Common Crawl web graph, 4-month trend and referring subnets. Price: $0.002 per domain ranked. MCP tool `cybermax--domain-authority`.
|
| 13 |
- [DomainDNA: Tech Stack Detector, WHOIS & Domain Age API](https://cybermax-tools-cybermax.static.hf.space/market/tools/domain-intel.md): Website tech stack detector and domain lookup in one JSON record: CMS, e-commerce, analytics, CDN and payments with evidence, plus WHOIS/RDAP domain age, MX provider, SPF/DMARC, TLS expiry and security headers. Price: $0.004 per domain analyzed. MCP tool `cybermax--domain-intel`.
|
|
|
|
| 15 |
- [HireHeat: Company Hiring Signals & Job Postings by Domain](https://cybermax-tools-cybermax.static.hf.space/market/tools/hiring-signals.md): Per-company hiring summary by domain: open roles now, new roles in the last 7 and 30 days, counts by function and seniority, and hiring momentum; answers "is X hiring, and how many engineers?" Price: $0.01 per company hiring summary + $0.001 per job returned. MCP tool `cybermax--hiring-signals`.
|
| 16 |
- [Keyfern: Keyword Ideas & Google Autocomplete: YouTube, Amazon](https://cybermax-tools-cybermax.static.hf.space/market/tools/keyword-ideas.md): Keyword research from real autocomplete: seeds in, hundreds of long-tail keywords and questions from Google, YouTube, Bing, Amazon and DuckDuckGo, with intent, clusters and an optional Google Trends verdict. Price: $0.001 per keyword idea + $0.003 per trend verdict. MCP tool `cybermax--keyword-ideas`.
|
| 17 |
- [Boardroom Buys: SEC Form 4 Insider Trading Tracker & Alerts](https://cybermax-tools-cybermax.static.hf.space/market/tools/sec-insider-tracker.md): SEC Form 4 insider trades from EDGAR: pass tickers (or scan the whole market) and a lookback window to get open-market buys and sells by officers, directors and 10% owners, with cluster-buy flags and the filing link. Price: $0.004 per insider transaction + $0.015 per cluster buy signal. MCP tool `cybermax--sec-insider-tracker`.
|
| 18 |
+
- [Sendfinch: Send Email via SMTP, Resend, SendGrid & Mailgun](https://cybermax-tools-cybermax.static.hf.space/market/tools/send-email.md): Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status. Price: $0.001 per email sent. MCP tool `cybermax--send-email`.
|
| 19 |
- [Hollerdex: Website Contact Finder & Contact Details Scraper](https://cybermax-tools-cybermax.static.hf.space/market/tools/website-contacts.md): Website contact finder and email finder by domain (contact details scraper): ranked emails (sales, support, press), phones in E.164, LinkedIn, X, Instagram and more, contact page, form and address. Price: $0.004 per domain with contacts found. MCP tool `cybermax--website-contacts`.
|
| 20 |
- [SnapScout: Website Screenshot API for AI Agents (Image + Text)](https://cybermax-tools-cybermax.static.hf.space/market/tools/website-screenshot.md): Website screenshot API for AI agents: one record per URL with a public PNG/JPEG screenshot (full page, element or mobile), HTTP status, title, meta and clean page text. Price: $0.003 per screenshot captured. MCP tool `cybermax--website-screenshot`.
|
| 21 |
|
|
|
|
| 60 |
- [Recallroll — Free VIN Decoder & Vehicle Recall Check (NHTSA)](https://cybermax-tools-cybermax.static.hf.space/recallroll/index.html): Free VIN decoder and recall check on official NHTSA data: every safety recall for your vehicle, Do Not Drive warnings first, 50 VINs at once with CSV, and new recalls. Free, for people (no API).
|
| 61 |
- [Fedflow — Federal Contract & Grant Spending by County and State](https://cybermax-tools-cybermax.static.hf.space/fedflow/index.html): Where federal contracts and grants go: dollars by state and every county, per resident, top agencies, contractors and industries. Free, for people (no API).
|
| 62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
## Free downloads
|
| 64 |
|
| 65 |
- [Velbrake — Block AI Crawlers in WordPress, Free Plugin (GPL)](https://cybermax-tools-cybermax.static.hf.space/velbrake/index.html): Free WordPress plugin: see which AI bots crawl your site and what they cost, block AI training crawlers like GPTBot and CCBot, keep AI search bots that cite you, and catch fake Googlebots. Free zip: https://cybermax-tools-cybermax.static.hf.space/velbrake/velbrake.zip
|
|
|
|
| 80 |
## Optional
|
| 81 |
|
| 82 |
- [Fieldwright (coming soon, not callable yet): AI Web Data Extractor (Bring Your Own LLM Key)](https://cybermax-tools-cybermax.static.hf.space/market/tools/ai-extract.md): AI web scraper that turns any page into typed JSON fields you name, using YOUR OpenAI, Claude, Gemini or OpenRouter key (you pay the model at cost).
|
|
|
|
| 83 |
- [Pinloft (coming soon, not callable yet): Batch Geocoder: Address to Lat/Long + Census FIPS](https://cybermax-tools-cybermax.static.hf.space/market/tools/batch-geocoder.md): Batch geocoding API: addresses to latitude/longitude, cleaned address, county, Census tract and block FIPS for US addresses (US Census), worldwide via OpenStreetMap.
|
|
|
|
| 84 |
- [Firmfold (coming soon, not callable yet): Company Enrichment API: Logo, Tech, Contacts, Jobs](https://cybermax-tools-cybermax.static.hf.space/market/tools/company-enrichment.md): Company enrichment API: give domains, work emails or company names; get one flat profile each: official domain, logo + brand colour, tech stack, email security, domain age, contacts, socials, hiring and Wikidata firmographics.
|
| 85 |
- [Namewhere (coming soon, not callable yet): Company Name to Domain & Website Finder](https://cybermax-tools-cybermax.static.hf.space/market/tools/company-to-domain.md): Company name to domain finder: turn company names into official website domains with a confidence score and evidence (Wikidata, homepage brand check), alternatives, social links, parked domains rejected.
|
| 86 |
- [Commonkite (coming soon, not callable yet): Free Image Search API: Creative Commons & CC0](https://cybermax-tools-cybermax.static.hf.space/market/tools/creative-commons-images.md): Search free-to-use images by keyword across Openverse (900M+ CC images), NASA, The Met, Art Institute of Chicago, Cleveland Museum of Art and Wikimedia Commons.
|
|
|
|
| 90 |
- [Logolark (coming soon, not callable yet): Company Logo API & Favicon Finder by Domain](https://cybermax-tools-cybermax.static.hf.space/market/tools/logo-finder.md): Clearbit Logo API replacement: give domains, URLs or emails, get each company's own best logo and square icon, verified by download: real size, SVG/PNG/ICO, transparency, brand colour, hosted copy, plus rebrand alerts in monitor mode.
|
| 91 |
- [Paperkiln (coming soon, not callable yet): Word, Excel & PowerPoint to PDF Converter API](https://cybermax-tools-cybermax.static.hf.space/market/tools/office-to-pdf.md): Convert DOCX, XLSX, PPTX, ODT, RTF, CSV and legacy DOC/XLS/PPT files to PDF (or PDF/A) in bulk with headless LibreOffice and Office-compatible fonts.
|
| 92 |
- [Feedpeck (coming soon, not callable yet): RSS Feed Finder & Reader: Discover Feeds by Website](https://cybermax-tools-cybermax.static.hf.space/market/tools/rss-feed-finder.md): Find every RSS, Atom and JSON feed a website publishes (link tags, page links, common paths, platform rules for Reddit, Medium, YouTube, GitHub), validated, with title, type, last post date and the latest items.
|
|
|
|
| 93 |
- [Ziplore (coming soon, not callable yet): US ZIP Code API: Demographics, County & Radius](https://cybermax-tools-cybermax.static.hf.space/market/tools/zip-data-api.md): US ZIP code lookup API: city, state, county + FIPS, lat/long, time zone, Census population, income, home value and rent for every ZIP.
|
market/openapi/article-extract.json
ADDED
|
@@ -0,0 +1,562 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"openapi": "3.1.0",
|
| 3 |
+
"info": {
|
| 4 |
+
"title": "Inkpluck API (Article Extractor: URL to Text, Markdown & Metadata)",
|
| 5 |
+
"version": "1.0.0",
|
| 6 |
+
"summary": "Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out.",
|
| 7 |
+
"description": "Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out. newspaper3k-compatible fields. $0.001 per article; failures free.\n\nRuns the Inkpluck Actor (`cybermax/article-extract`) on Apify with the caller's own Apify API token and returns its dataset. Pricing (pay per event, billed by Apify):\n- Article extracted: $0.001\n\nPublisher: CyberMax. Catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json",
|
| 8 |
+
"contact": {
|
| 9 |
+
"name": "CyberMax",
|
| 10 |
+
"url": "https://apify.com/cybermax/article-extract"
|
| 11 |
+
},
|
| 12 |
+
"x-logo": {
|
| 13 |
+
"url": "https://cybermax-tools-cybermax.static.hf.space/favicon.ico"
|
| 14 |
+
}
|
| 15 |
+
},
|
| 16 |
+
"externalDocs": {
|
| 17 |
+
"description": "Apify Store page",
|
| 18 |
+
"url": "https://apify.com/cybermax/article-extract"
|
| 19 |
+
},
|
| 20 |
+
"servers": [
|
| 21 |
+
{
|
| 22 |
+
"url": "https://api.apify.com",
|
| 23 |
+
"description": "Apify API"
|
| 24 |
+
}
|
| 25 |
+
],
|
| 26 |
+
"security": [
|
| 27 |
+
{
|
| 28 |
+
"apifyToken": []
|
| 29 |
+
}
|
| 30 |
+
],
|
| 31 |
+
"tags": [
|
| 32 |
+
{
|
| 33 |
+
"name": "Inkpluck",
|
| 34 |
+
"description": "Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out."
|
| 35 |
+
}
|
| 36 |
+
],
|
| 37 |
+
"paths": {
|
| 38 |
+
"/v2/acts/cybermax~article-extract/run-sync-get-dataset-items": {
|
| 39 |
+
"post": {
|
| 40 |
+
"operationId": "runInkpluckSync",
|
| 41 |
+
"tags": [
|
| 42 |
+
"Inkpluck"
|
| 43 |
+
],
|
| 44 |
+
"summary": "Inkpluck: run and return results",
|
| 45 |
+
"description": "Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out. Waits for the run to finish (up to 300 s) and returns the output records.",
|
| 46 |
+
"parameters": [
|
| 47 |
+
{
|
| 48 |
+
"name": "timeout",
|
| 49 |
+
"in": "query",
|
| 50 |
+
"required": false,
|
| 51 |
+
"description": "Run timeout in seconds (max 300 for synchronous runs).",
|
| 52 |
+
"schema": {
|
| 53 |
+
"type": "integer",
|
| 54 |
+
"minimum": 1,
|
| 55 |
+
"maximum": 300
|
| 56 |
+
}
|
| 57 |
+
},
|
| 58 |
+
{
|
| 59 |
+
"name": "clean",
|
| 60 |
+
"in": "query",
|
| 61 |
+
"required": false,
|
| 62 |
+
"description": "Omit empty records and hidden fields.",
|
| 63 |
+
"schema": {
|
| 64 |
+
"type": "boolean",
|
| 65 |
+
"default": true
|
| 66 |
+
}
|
| 67 |
+
}
|
| 68 |
+
],
|
| 69 |
+
"requestBody": {
|
| 70 |
+
"required": true,
|
| 71 |
+
"content": {
|
| 72 |
+
"application/json": {
|
| 73 |
+
"schema": {
|
| 74 |
+
"$ref": "#/components/schemas/Input"
|
| 75 |
+
},
|
| 76 |
+
"example": {
|
| 77 |
+
"urls": [
|
| 78 |
+
"https://techcrunch.com/2026/09/23/meta-introduces-camera-free-ai-glasses/",
|
| 79 |
+
"https://blog.cloudflare.com/vary-support/"
|
| 80 |
+
]
|
| 81 |
+
}
|
| 82 |
+
}
|
| 83 |
+
}
|
| 84 |
+
},
|
| 85 |
+
"responses": {
|
| 86 |
+
"201": {
|
| 87 |
+
"description": "Run finished; body is the list of output records.",
|
| 88 |
+
"content": {
|
| 89 |
+
"application/json": {
|
| 90 |
+
"schema": {
|
| 91 |
+
"type": "array",
|
| 92 |
+
"items": {
|
| 93 |
+
"$ref": "#/components/schemas/OutputRecord"
|
| 94 |
+
}
|
| 95 |
+
},
|
| 96 |
+
"example": [
|
| 97 |
+
{
|
| 98 |
+
"url": "https://arxiv.org/pdf/1706.03762",
|
| 99 |
+
"finalUrl": "https://arxiv.org/pdf/1706.03762",
|
| 100 |
+
"ok": false,
|
| 101 |
+
"error": "not an HTML page (application/pdf)",
|
| 102 |
+
"ms": 442,
|
| 103 |
+
"extractedAt": "2026-09-23T23:44:36.144Z",
|
| 104 |
+
"images": []
|
| 105 |
+
}
|
| 106 |
+
]
|
| 107 |
+
}
|
| 108 |
+
}
|
| 109 |
+
},
|
| 110 |
+
"400": {
|
| 111 |
+
"description": "Invalid input.",
|
| 112 |
+
"content": {
|
| 113 |
+
"application/json": {
|
| 114 |
+
"schema": {
|
| 115 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 116 |
+
}
|
| 117 |
+
}
|
| 118 |
+
}
|
| 119 |
+
},
|
| 120 |
+
"401": {
|
| 121 |
+
"description": "Missing or invalid Apify token.",
|
| 122 |
+
"content": {
|
| 123 |
+
"application/json": {
|
| 124 |
+
"schema": {
|
| 125 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 126 |
+
}
|
| 127 |
+
}
|
| 128 |
+
}
|
| 129 |
+
},
|
| 130 |
+
"402": {
|
| 131 |
+
"description": "Apify account has no credit left for this run.",
|
| 132 |
+
"content": {
|
| 133 |
+
"application/json": {
|
| 134 |
+
"schema": {
|
| 135 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 136 |
+
}
|
| 137 |
+
}
|
| 138 |
+
}
|
| 139 |
+
},
|
| 140 |
+
"408": {
|
| 141 |
+
"description": "The run did not finish within the synchronous timeout; start it asynchronously instead.",
|
| 142 |
+
"content": {
|
| 143 |
+
"application/json": {
|
| 144 |
+
"schema": {
|
| 145 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 146 |
+
}
|
| 147 |
+
}
|
| 148 |
+
}
|
| 149 |
+
},
|
| 150 |
+
"429": {
|
| 151 |
+
"description": "Rate limited by Apify.",
|
| 152 |
+
"content": {
|
| 153 |
+
"application/json": {
|
| 154 |
+
"schema": {
|
| 155 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 156 |
+
}
|
| 157 |
+
}
|
| 158 |
+
}
|
| 159 |
+
}
|
| 160 |
+
}
|
| 161 |
+
}
|
| 162 |
+
},
|
| 163 |
+
"/v2/acts/cybermax~article-extract/runs": {
|
| 164 |
+
"post": {
|
| 165 |
+
"operationId": "startInkpluckRun",
|
| 166 |
+
"tags": [
|
| 167 |
+
"Inkpluck"
|
| 168 |
+
],
|
| 169 |
+
"summary": "Inkpluck: start an asynchronous run",
|
| 170 |
+
"description": "Starts a run and returns immediately. Poll GET https://api.apify.com/v2/actor-runs/{runId} and read items from GET https://api.apify.com/v2/datasets/{defaultDatasetId}/items.",
|
| 171 |
+
"requestBody": {
|
| 172 |
+
"required": true,
|
| 173 |
+
"content": {
|
| 174 |
+
"application/json": {
|
| 175 |
+
"schema": {
|
| 176 |
+
"$ref": "#/components/schemas/Input"
|
| 177 |
+
}
|
| 178 |
+
}
|
| 179 |
+
}
|
| 180 |
+
},
|
| 181 |
+
"responses": {
|
| 182 |
+
"201": {
|
| 183 |
+
"description": "Run started.",
|
| 184 |
+
"content": {
|
| 185 |
+
"application/json": {
|
| 186 |
+
"schema": {
|
| 187 |
+
"$ref": "#/components/schemas/RunStarted"
|
| 188 |
+
}
|
| 189 |
+
}
|
| 190 |
+
}
|
| 191 |
+
},
|
| 192 |
+
"400": {
|
| 193 |
+
"description": "Invalid input.",
|
| 194 |
+
"content": {
|
| 195 |
+
"application/json": {
|
| 196 |
+
"schema": {
|
| 197 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 198 |
+
}
|
| 199 |
+
}
|
| 200 |
+
}
|
| 201 |
+
},
|
| 202 |
+
"401": {
|
| 203 |
+
"description": "Missing or invalid Apify token.",
|
| 204 |
+
"content": {
|
| 205 |
+
"application/json": {
|
| 206 |
+
"schema": {
|
| 207 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 208 |
+
}
|
| 209 |
+
}
|
| 210 |
+
}
|
| 211 |
+
},
|
| 212 |
+
"402": {
|
| 213 |
+
"description": "Apify account has no credit left for this run.",
|
| 214 |
+
"content": {
|
| 215 |
+
"application/json": {
|
| 216 |
+
"schema": {
|
| 217 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 218 |
+
}
|
| 219 |
+
}
|
| 220 |
+
}
|
| 221 |
+
},
|
| 222 |
+
"429": {
|
| 223 |
+
"description": "Rate limited by Apify.",
|
| 224 |
+
"content": {
|
| 225 |
+
"application/json": {
|
| 226 |
+
"schema": {
|
| 227 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 228 |
+
}
|
| 229 |
+
}
|
| 230 |
+
}
|
| 231 |
+
}
|
| 232 |
+
}
|
| 233 |
+
}
|
| 234 |
+
}
|
| 235 |
+
},
|
| 236 |
+
"components": {
|
| 237 |
+
"securitySchemes": {
|
| 238 |
+
"apifyToken": {
|
| 239 |
+
"type": "http",
|
| 240 |
+
"scheme": "bearer",
|
| 241 |
+
"description": "Your Apify API token (https://console.apify.com/settings/integrations). Runs are billed to your Apify account."
|
| 242 |
+
}
|
| 243 |
+
},
|
| 244 |
+
"schemas": {
|
| 245 |
+
"Input": {
|
| 246 |
+
"type": "object",
|
| 247 |
+
"properties": {
|
| 248 |
+
"urls": {
|
| 249 |
+
"type": "array",
|
| 250 |
+
"title": "Article URLs",
|
| 251 |
+
"description": "News articles, blog posts or docs pages to extract. One URL per line; the scheme is optional (\"example.com/post\" works). Duplicates are skipped.",
|
| 252 |
+
"examples": [
|
| 253 |
+
[
|
| 254 |
+
"https://techcrunch.com/2026/09/23/meta-introduces-camera-free-ai-glasses/",
|
| 255 |
+
"https://blog.cloudflare.com/vary-support/"
|
| 256 |
+
]
|
| 257 |
+
],
|
| 258 |
+
"items": {
|
| 259 |
+
"type": "string"
|
| 260 |
+
}
|
| 261 |
+
},
|
| 262 |
+
"feedUrls": {
|
| 263 |
+
"type": "array",
|
| 264 |
+
"title": "RSS/Atom feeds to watch",
|
| 265 |
+
"description": "Feed URLs (e.g. https://techcrunch.com/feed/). Inkpluck reads each feed and extracts its newest articles. Combine with \"Only new articles\" and an Apify Schedule to get each new article once, as Markdown, every day.",
|
| 266 |
+
"items": {
|
| 267 |
+
"type": "string"
|
| 268 |
+
}
|
| 269 |
+
},
|
| 270 |
+
"maxArticlesPerFeed": {
|
| 271 |
+
"type": "integer",
|
| 272 |
+
"title": "Articles per feed",
|
| 273 |
+
"description": "Newest items taken from each feed.",
|
| 274 |
+
"default": 20,
|
| 275 |
+
"minimum": 1,
|
| 276 |
+
"maximum": 200
|
| 277 |
+
},
|
| 278 |
+
"onlyNew": {
|
| 279 |
+
"type": "boolean",
|
| 280 |
+
"title": "Only new articles (monitor mode)",
|
| 281 |
+
"description": "Skip URLs this monitor already extracted in earlier runs (skips are free and produce no record). Memory is kept in a named key-value store per monitor name in your account.",
|
| 282 |
+
"default": false
|
| 283 |
+
},
|
| 284 |
+
"monitorName": {
|
| 285 |
+
"type": "string",
|
| 286 |
+
"title": "Monitor name",
|
| 287 |
+
"description": "Separate memories for separate watch lists, e.g. \"ai-news\" or \"competitor-blogs\". Letters, digits and dashes.",
|
| 288 |
+
"default": "default"
|
| 289 |
+
},
|
| 290 |
+
"htmlDocuments": {
|
| 291 |
+
"type": "array",
|
| 292 |
+
"title": "Raw HTML documents (optional)",
|
| 293 |
+
"description": "Already have the HTML? Pass [{\"url\": \"https://site.com/post\", \"html\": \"<html>...\"}] and Inkpluck extracts it without fetching. The URL is used to resolve relative links and dates.",
|
| 294 |
+
"items": {}
|
| 295 |
+
},
|
| 296 |
+
"onlyArticles": {
|
| 297 |
+
"type": "boolean",
|
| 298 |
+
"title": "Only charge for real articles",
|
| 299 |
+
"description": "Home pages, section pages (/news, /tech) and link lists are returned as free failures instead of extracted pages. Turn on when feeding crawled link lists; leave off to extract any page's main text.",
|
| 300 |
+
"default": false
|
| 301 |
+
},
|
| 302 |
+
"outputMarkdown": {
|
| 303 |
+
"type": "boolean",
|
| 304 |
+
"title": "Include Markdown",
|
| 305 |
+
"description": "Add a `markdown` field (headings, lists, links, images and tables kept) next to the plain `text`. Ideal for LLM/RAG pipelines.",
|
| 306 |
+
"default": true
|
| 307 |
+
},
|
| 308 |
+
"includeHtml": {
|
| 309 |
+
"type": "boolean",
|
| 310 |
+
"title": "Include cleaned article HTML",
|
| 311 |
+
"description": "Add an `html` field with the article body only (no navigation, ads or footer).",
|
| 312 |
+
"default": false
|
| 313 |
+
},
|
| 314 |
+
"newspaper3kFields": {
|
| 315 |
+
"type": "boolean",
|
| 316 |
+
"title": "Add newspaper3k field names",
|
| 317 |
+
"description": "Also output newspaper3k's attribute names (publish_date, top_image, movies, meta_lang, meta_description, meta_keywords, canonical_link, source_url) so existing newspaper3k code keeps working.",
|
| 318 |
+
"default": false
|
| 319 |
+
},
|
| 320 |
+
"minWords": {
|
| 321 |
+
"type": "integer",
|
| 322 |
+
"title": "Minimum words for a successful extraction",
|
| 323 |
+
"description": "Pages with fewer words of article text are reported as failures (free).",
|
| 324 |
+
"default": 50,
|
| 325 |
+
"minimum": 1,
|
| 326 |
+
"maximum": 5000
|
| 327 |
+
},
|
| 328 |
+
"maxConcurrency": {
|
| 329 |
+
"type": "integer",
|
| 330 |
+
"title": "Pages in parallel",
|
| 331 |
+
"description": "How many pages are fetched and extracted at the same time.",
|
| 332 |
+
"default": 10,
|
| 333 |
+
"minimum": 1,
|
| 334 |
+
"maximum": 50
|
| 335 |
+
},
|
| 336 |
+
"timeoutSecs": {
|
| 337 |
+
"type": "integer",
|
| 338 |
+
"title": "Timeout per page (seconds)",
|
| 339 |
+
"description": "Give up on a page after this many seconds (one automatic retry on network errors and 5xx).",
|
| 340 |
+
"default": 20,
|
| 341 |
+
"minimum": 5,
|
| 342 |
+
"maximum": 120
|
| 343 |
+
},
|
| 344 |
+
"retryBlockedWithProxy": {
|
| 345 |
+
"type": "boolean",
|
| 346 |
+
"title": "Retry blocked pages through Apify Proxy",
|
| 347 |
+
"description": "When a site answers 403/429/503 to a direct request, try once more through Apify Proxy (uses your account's proxy).",
|
| 348 |
+
"default": true
|
| 349 |
+
},
|
| 350 |
+
"proxyConfiguration": {
|
| 351 |
+
"type": "object",
|
| 352 |
+
"title": "Proxy (optional)",
|
| 353 |
+
"description": "Send every request through this proxy (e.g. residential for sites that block datacenters). Leave empty for direct requests with the automatic retry above.",
|
| 354 |
+
"default": {
|
| 355 |
+
"useApifyProxy": false
|
| 356 |
+
}
|
| 357 |
+
},
|
| 358 |
+
"startUrls": {
|
| 359 |
+
"type": "array",
|
| 360 |
+
"title": "Start URLs (compatibility)",
|
| 361 |
+
"description": "Same as Article URLs, in the [{\"url\": ...}] format other Actors use.",
|
| 362 |
+
"items": {
|
| 363 |
+
"type": "object",
|
| 364 |
+
"properties": {
|
| 365 |
+
"url": {
|
| 366 |
+
"type": "string",
|
| 367 |
+
"format": "uri"
|
| 368 |
+
}
|
| 369 |
+
}
|
| 370 |
+
}
|
| 371 |
+
}
|
| 372 |
+
},
|
| 373 |
+
"title": "Inkpluck article extractor",
|
| 374 |
+
"additionalProperties": false
|
| 375 |
+
},
|
| 376 |
+
"OutputRecord": {
|
| 377 |
+
"type": "object",
|
| 378 |
+
"properties": {
|
| 379 |
+
"url": {
|
| 380 |
+
"type": "string",
|
| 381 |
+
"description": "The URL as given in the input"
|
| 382 |
+
},
|
| 383 |
+
"finalUrl": {
|
| 384 |
+
"type": [
|
| 385 |
+
"string",
|
| 386 |
+
"null"
|
| 387 |
+
],
|
| 388 |
+
"description": "URL after redirects"
|
| 389 |
+
},
|
| 390 |
+
"ok": {
|
| 391 |
+
"type": "boolean",
|
| 392 |
+
"description": "true when article text was extracted (charged); false = free failure, see error"
|
| 393 |
+
},
|
| 394 |
+
"title": {
|
| 395 |
+
"type": [
|
| 396 |
+
"string",
|
| 397 |
+
"null"
|
| 398 |
+
]
|
| 399 |
+
},
|
| 400 |
+
"authors": {
|
| 401 |
+
"type": "array",
|
| 402 |
+
"items": {
|
| 403 |
+
"type": "string"
|
| 404 |
+
}
|
| 405 |
+
},
|
| 406 |
+
"publishDate": {
|
| 407 |
+
"type": [
|
| 408 |
+
"string",
|
| 409 |
+
"null"
|
| 410 |
+
],
|
| 411 |
+
"description": "ISO 8601"
|
| 412 |
+
},
|
| 413 |
+
"modifiedDate": {
|
| 414 |
+
"type": [
|
| 415 |
+
"string",
|
| 416 |
+
"null"
|
| 417 |
+
],
|
| 418 |
+
"description": "ISO 8601"
|
| 419 |
+
},
|
| 420 |
+
"siteName": {
|
| 421 |
+
"type": [
|
| 422 |
+
"string",
|
| 423 |
+
"null"
|
| 424 |
+
]
|
| 425 |
+
},
|
| 426 |
+
"language": {
|
| 427 |
+
"type": [
|
| 428 |
+
"string",
|
| 429 |
+
"null"
|
| 430 |
+
],
|
| 431 |
+
"description": "ISO 639-1 code, e.g. en"
|
| 432 |
+
},
|
| 433 |
+
"description": {
|
| 434 |
+
"type": [
|
| 435 |
+
"string",
|
| 436 |
+
"null"
|
| 437 |
+
]
|
| 438 |
+
},
|
| 439 |
+
"section": {
|
| 440 |
+
"type": [
|
| 441 |
+
"string",
|
| 442 |
+
"null"
|
| 443 |
+
]
|
| 444 |
+
},
|
| 445 |
+
"tags": {
|
| 446 |
+
"type": "array",
|
| 447 |
+
"items": {
|
| 448 |
+
"type": "string"
|
| 449 |
+
}
|
| 450 |
+
},
|
| 451 |
+
"topImage": {
|
| 452 |
+
"type": [
|
| 453 |
+
"string",
|
| 454 |
+
"null"
|
| 455 |
+
],
|
| 456 |
+
"description": "Image"
|
| 457 |
+
},
|
| 458 |
+
"images": {
|
| 459 |
+
"type": "array",
|
| 460 |
+
"items": {
|
| 461 |
+
"type": "string"
|
| 462 |
+
}
|
| 463 |
+
},
|
| 464 |
+
"videos": {
|
| 465 |
+
"type": "array",
|
| 466 |
+
"items": {
|
| 467 |
+
"type": "string"
|
| 468 |
+
}
|
| 469 |
+
},
|
| 470 |
+
"text": {
|
| 471 |
+
"type": "string",
|
| 472 |
+
"description": "Clean article text, paragraphs separated by blank lines"
|
| 473 |
+
},
|
| 474 |
+
"markdown": {
|
| 475 |
+
"type": [
|
| 476 |
+
"string",
|
| 477 |
+
"null"
|
| 478 |
+
]
|
| 479 |
+
},
|
| 480 |
+
"html": {
|
| 481 |
+
"type": [
|
| 482 |
+
"string",
|
| 483 |
+
"null"
|
| 484 |
+
]
|
| 485 |
+
},
|
| 486 |
+
"wordCount": {
|
| 487 |
+
"type": "integer"
|
| 488 |
+
},
|
| 489 |
+
"readingTimeMinutes": {
|
| 490 |
+
"type": "integer"
|
| 491 |
+
},
|
| 492 |
+
"looksLikeArticle": {
|
| 493 |
+
"type": "boolean"
|
| 494 |
+
},
|
| 495 |
+
"paywalled": {
|
| 496 |
+
"type": "boolean"
|
| 497 |
+
},
|
| 498 |
+
"canonicalUrl": {
|
| 499 |
+
"type": [
|
| 500 |
+
"string",
|
| 501 |
+
"null"
|
| 502 |
+
]
|
| 503 |
+
},
|
| 504 |
+
"httpStatus": {
|
| 505 |
+
"type": [
|
| 506 |
+
"integer",
|
| 507 |
+
"null"
|
| 508 |
+
]
|
| 509 |
+
},
|
| 510 |
+
"fetchedVia": {
|
| 511 |
+
"type": "string",
|
| 512 |
+
"description": "direct, proxy, proxy-retry or html-input"
|
| 513 |
+
},
|
| 514 |
+
"ms": {
|
| 515 |
+
"type": "integer"
|
| 516 |
+
},
|
| 517 |
+
"error": {
|
| 518 |
+
"type": "string"
|
| 519 |
+
},
|
| 520 |
+
"extractedAt": {
|
| 521 |
+
"type": "string"
|
| 522 |
+
}
|
| 523 |
+
}
|
| 524 |
+
},
|
| 525 |
+
"RunStarted": {
|
| 526 |
+
"type": "object",
|
| 527 |
+
"properties": {
|
| 528 |
+
"data": {
|
| 529 |
+
"type": "object",
|
| 530 |
+
"properties": {
|
| 531 |
+
"id": {
|
| 532 |
+
"type": "string"
|
| 533 |
+
},
|
| 534 |
+
"status": {
|
| 535 |
+
"type": "string"
|
| 536 |
+
},
|
| 537 |
+
"defaultDatasetId": {
|
| 538 |
+
"type": "string"
|
| 539 |
+
}
|
| 540 |
+
}
|
| 541 |
+
}
|
| 542 |
+
}
|
| 543 |
+
},
|
| 544 |
+
"ApifyError": {
|
| 545 |
+
"type": "object",
|
| 546 |
+
"properties": {
|
| 547 |
+
"error": {
|
| 548 |
+
"type": "object",
|
| 549 |
+
"properties": {
|
| 550 |
+
"type": {
|
| 551 |
+
"type": "string"
|
| 552 |
+
},
|
| 553 |
+
"message": {
|
| 554 |
+
"type": "string"
|
| 555 |
+
}
|
| 556 |
+
}
|
| 557 |
+
}
|
| 558 |
+
}
|
| 559 |
+
}
|
| 560 |
+
}
|
| 561 |
+
}
|
| 562 |
+
}
|
market/openapi/bulk-image-downloader.json
ADDED
|
@@ -0,0 +1,628 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"openapi": "3.1.0",
|
| 3 |
+
"info": {
|
| 4 |
+
"title": "Picpail API (Bulk Image Downloader: All Images from URLs to ZIP)",
|
| 5 |
+
"version": "1.0.0",
|
| 6 |
+
"summary": "Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image.",
|
| 7 |
+
"description": "Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image. Real format and pixel size, duplicate removal, size/format filters, monitor mode. $0.0005 per image; duplicates and skips free.\n\nRuns the Picpail Actor (`cybermax/bulk-image-downloader`) on Apify with the caller's own Apify API token and returns its dataset. Pricing (pay per event, billed by Apify):\n- Image downloaded: $0.0005\n- Extra MB of a large image: $0.0001\n\nPublisher: CyberMax. Catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json",
|
| 8 |
+
"contact": {
|
| 9 |
+
"name": "CyberMax",
|
| 10 |
+
"url": "https://apify.com/cybermax/bulk-image-downloader"
|
| 11 |
+
},
|
| 12 |
+
"x-logo": {
|
| 13 |
+
"url": "https://cybermax-tools-cybermax.static.hf.space/favicon.ico"
|
| 14 |
+
}
|
| 15 |
+
},
|
| 16 |
+
"externalDocs": {
|
| 17 |
+
"description": "Apify Store page",
|
| 18 |
+
"url": "https://apify.com/cybermax/bulk-image-downloader"
|
| 19 |
+
},
|
| 20 |
+
"servers": [
|
| 21 |
+
{
|
| 22 |
+
"url": "https://api.apify.com",
|
| 23 |
+
"description": "Apify API"
|
| 24 |
+
}
|
| 25 |
+
],
|
| 26 |
+
"security": [
|
| 27 |
+
{
|
| 28 |
+
"apifyToken": []
|
| 29 |
+
}
|
| 30 |
+
],
|
| 31 |
+
"tags": [
|
| 32 |
+
{
|
| 33 |
+
"name": "Picpail",
|
| 34 |
+
"description": "Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image."
|
| 35 |
+
}
|
| 36 |
+
],
|
| 37 |
+
"paths": {
|
| 38 |
+
"/v2/acts/cybermax~bulk-image-downloader/run-sync-get-dataset-items": {
|
| 39 |
+
"post": {
|
| 40 |
+
"operationId": "runPicpailSync",
|
| 41 |
+
"tags": [
|
| 42 |
+
"Picpail"
|
| 43 |
+
],
|
| 44 |
+
"summary": "Picpail: run and return results",
|
| 45 |
+
"description": "Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image. Waits for the run to finish (up to 300 s) and returns the output records.",
|
| 46 |
+
"parameters": [
|
| 47 |
+
{
|
| 48 |
+
"name": "timeout",
|
| 49 |
+
"in": "query",
|
| 50 |
+
"required": false,
|
| 51 |
+
"description": "Run timeout in seconds (max 300 for synchronous runs).",
|
| 52 |
+
"schema": {
|
| 53 |
+
"type": "integer",
|
| 54 |
+
"minimum": 1,
|
| 55 |
+
"maximum": 300
|
| 56 |
+
}
|
| 57 |
+
},
|
| 58 |
+
{
|
| 59 |
+
"name": "clean",
|
| 60 |
+
"in": "query",
|
| 61 |
+
"required": false,
|
| 62 |
+
"description": "Omit empty records and hidden fields.",
|
| 63 |
+
"schema": {
|
| 64 |
+
"type": "boolean",
|
| 65 |
+
"default": true
|
| 66 |
+
}
|
| 67 |
+
}
|
| 68 |
+
],
|
| 69 |
+
"requestBody": {
|
| 70 |
+
"required": true,
|
| 71 |
+
"content": {
|
| 72 |
+
"application/json": {
|
| 73 |
+
"schema": {
|
| 74 |
+
"$ref": "#/components/schemas/Input"
|
| 75 |
+
},
|
| 76 |
+
"example": {
|
| 77 |
+
"urls": [
|
| 78 |
+
"https://books.toscrape.com/"
|
| 79 |
+
],
|
| 80 |
+
"output": "list",
|
| 81 |
+
"formats": [
|
| 82 |
+
"jpeg",
|
| 83 |
+
"png",
|
| 84 |
+
"webp"
|
| 85 |
+
],
|
| 86 |
+
"minWidth": 100
|
| 87 |
+
}
|
| 88 |
+
}
|
| 89 |
+
}
|
| 90 |
+
},
|
| 91 |
+
"responses": {
|
| 92 |
+
"201": {
|
| 93 |
+
"description": "Run finished; body is the list of output records.",
|
| 94 |
+
"content": {
|
| 95 |
+
"application/json": {
|
| 96 |
+
"schema": {
|
| 97 |
+
"type": "array",
|
| 98 |
+
"items": {
|
| 99 |
+
"$ref": "#/components/schemas/OutputRecord"
|
| 100 |
+
}
|
| 101 |
+
}
|
| 102 |
+
}
|
| 103 |
+
}
|
| 104 |
+
},
|
| 105 |
+
"400": {
|
| 106 |
+
"description": "Invalid input.",
|
| 107 |
+
"content": {
|
| 108 |
+
"application/json": {
|
| 109 |
+
"schema": {
|
| 110 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 111 |
+
}
|
| 112 |
+
}
|
| 113 |
+
}
|
| 114 |
+
},
|
| 115 |
+
"401": {
|
| 116 |
+
"description": "Missing or invalid Apify token.",
|
| 117 |
+
"content": {
|
| 118 |
+
"application/json": {
|
| 119 |
+
"schema": {
|
| 120 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 121 |
+
}
|
| 122 |
+
}
|
| 123 |
+
}
|
| 124 |
+
},
|
| 125 |
+
"402": {
|
| 126 |
+
"description": "Apify account has no credit left for this run.",
|
| 127 |
+
"content": {
|
| 128 |
+
"application/json": {
|
| 129 |
+
"schema": {
|
| 130 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 131 |
+
}
|
| 132 |
+
}
|
| 133 |
+
}
|
| 134 |
+
},
|
| 135 |
+
"408": {
|
| 136 |
+
"description": "The run did not finish within the synchronous timeout; start it asynchronously instead.",
|
| 137 |
+
"content": {
|
| 138 |
+
"application/json": {
|
| 139 |
+
"schema": {
|
| 140 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 141 |
+
}
|
| 142 |
+
}
|
| 143 |
+
}
|
| 144 |
+
},
|
| 145 |
+
"429": {
|
| 146 |
+
"description": "Rate limited by Apify.",
|
| 147 |
+
"content": {
|
| 148 |
+
"application/json": {
|
| 149 |
+
"schema": {
|
| 150 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 151 |
+
}
|
| 152 |
+
}
|
| 153 |
+
}
|
| 154 |
+
}
|
| 155 |
+
}
|
| 156 |
+
}
|
| 157 |
+
},
|
| 158 |
+
"/v2/acts/cybermax~bulk-image-downloader/runs": {
|
| 159 |
+
"post": {
|
| 160 |
+
"operationId": "startPicpailRun",
|
| 161 |
+
"tags": [
|
| 162 |
+
"Picpail"
|
| 163 |
+
],
|
| 164 |
+
"summary": "Picpail: start an asynchronous run",
|
| 165 |
+
"description": "Starts a run and returns immediately. Poll GET https://api.apify.com/v2/actor-runs/{runId} and read items from GET https://api.apify.com/v2/datasets/{defaultDatasetId}/items.",
|
| 166 |
+
"requestBody": {
|
| 167 |
+
"required": true,
|
| 168 |
+
"content": {
|
| 169 |
+
"application/json": {
|
| 170 |
+
"schema": {
|
| 171 |
+
"$ref": "#/components/schemas/Input"
|
| 172 |
+
}
|
| 173 |
+
}
|
| 174 |
+
}
|
| 175 |
+
},
|
| 176 |
+
"responses": {
|
| 177 |
+
"201": {
|
| 178 |
+
"description": "Run started.",
|
| 179 |
+
"content": {
|
| 180 |
+
"application/json": {
|
| 181 |
+
"schema": {
|
| 182 |
+
"$ref": "#/components/schemas/RunStarted"
|
| 183 |
+
}
|
| 184 |
+
}
|
| 185 |
+
}
|
| 186 |
+
},
|
| 187 |
+
"400": {
|
| 188 |
+
"description": "Invalid input.",
|
| 189 |
+
"content": {
|
| 190 |
+
"application/json": {
|
| 191 |
+
"schema": {
|
| 192 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 193 |
+
}
|
| 194 |
+
}
|
| 195 |
+
}
|
| 196 |
+
},
|
| 197 |
+
"401": {
|
| 198 |
+
"description": "Missing or invalid Apify token.",
|
| 199 |
+
"content": {
|
| 200 |
+
"application/json": {
|
| 201 |
+
"schema": {
|
| 202 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 203 |
+
}
|
| 204 |
+
}
|
| 205 |
+
}
|
| 206 |
+
},
|
| 207 |
+
"402": {
|
| 208 |
+
"description": "Apify account has no credit left for this run.",
|
| 209 |
+
"content": {
|
| 210 |
+
"application/json": {
|
| 211 |
+
"schema": {
|
| 212 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 213 |
+
}
|
| 214 |
+
}
|
| 215 |
+
}
|
| 216 |
+
},
|
| 217 |
+
"429": {
|
| 218 |
+
"description": "Rate limited by Apify.",
|
| 219 |
+
"content": {
|
| 220 |
+
"application/json": {
|
| 221 |
+
"schema": {
|
| 222 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 223 |
+
}
|
| 224 |
+
}
|
| 225 |
+
}
|
| 226 |
+
}
|
| 227 |
+
}
|
| 228 |
+
}
|
| 229 |
+
}
|
| 230 |
+
},
|
| 231 |
+
"components": {
|
| 232 |
+
"securitySchemes": {
|
| 233 |
+
"apifyToken": {
|
| 234 |
+
"type": "http",
|
| 235 |
+
"scheme": "bearer",
|
| 236 |
+
"description": "Your Apify API token (https://console.apify.com/settings/integrations). Runs are billed to your Apify account."
|
| 237 |
+
}
|
| 238 |
+
},
|
| 239 |
+
"schemas": {
|
| 240 |
+
"Input": {
|
| 241 |
+
"type": "object",
|
| 242 |
+
"properties": {
|
| 243 |
+
"urls": {
|
| 244 |
+
"type": "array",
|
| 245 |
+
"title": "Page or image URLs",
|
| 246 |
+
"description": "Web pages to take every image from (product pages, galleries, blog posts, listings) and/or direct image URLs (…/photo.jpg). Mix freely; bare domains get https://. Each image is downloaded, checked to be a real image and measured.",
|
| 247 |
+
"examples": [
|
| 248 |
+
[
|
| 249 |
+
"https://books.toscrape.com/",
|
| 250 |
+
"https://www.gstatic.com/webp/gallery/1.webp"
|
| 251 |
+
]
|
| 252 |
+
],
|
| 253 |
+
"items": {
|
| 254 |
+
"type": "string"
|
| 255 |
+
}
|
| 256 |
+
},
|
| 257 |
+
"output": {
|
| 258 |
+
"type": "string",
|
| 259 |
+
"title": "Deliver images as",
|
| 260 |
+
"description": "How to get the images. ZIPs are split into parts at 'ZIP part size'. Every mode also returns one dataset row per image (URL, format, width, height, bytes, SHA-256, alt text, where it was found).",
|
| 261 |
+
"default": "zip",
|
| 262 |
+
"enum": [
|
| 263 |
+
"zip",
|
| 264 |
+
"zipPerPage",
|
| 265 |
+
"files",
|
| 266 |
+
"list"
|
| 267 |
+
],
|
| 268 |
+
"x-enumTitles": [
|
| 269 |
+
"One ZIP (a folder per page)",
|
| 270 |
+
"One ZIP per page",
|
| 271 |
+
"Separate files in the key-value store",
|
| 272 |
+
"List only (metadata + original URLs, no files)"
|
| 273 |
+
]
|
| 274 |
+
},
|
| 275 |
+
"minWidth": {
|
| 276 |
+
"type": "integer",
|
| 277 |
+
"title": "Minimum width (px)",
|
| 278 |
+
"description": "Skip images narrower than this (measured from the file, not the HTML). 100 skips icons and thumbnails. Skipped images are free.",
|
| 279 |
+
"default": 0,
|
| 280 |
+
"minimum": 0
|
| 281 |
+
},
|
| 282 |
+
"minHeight": {
|
| 283 |
+
"type": "integer",
|
| 284 |
+
"title": "Minimum height (px)",
|
| 285 |
+
"description": "Skip images shorter than this.",
|
| 286 |
+
"default": 0,
|
| 287 |
+
"minimum": 0
|
| 288 |
+
},
|
| 289 |
+
"formats": {
|
| 290 |
+
"type": "array",
|
| 291 |
+
"title": "Only these formats",
|
| 292 |
+
"description": "Keep only these real formats (detected from the file bytes). Empty = all formats.",
|
| 293 |
+
"items": {
|
| 294 |
+
"type": "string",
|
| 295 |
+
"enum": [
|
| 296 |
+
"jpeg",
|
| 297 |
+
"png",
|
| 298 |
+
"webp",
|
| 299 |
+
"gif",
|
| 300 |
+
"avif",
|
| 301 |
+
"svg",
|
| 302 |
+
"ico",
|
| 303 |
+
"bmp",
|
| 304 |
+
"tiff",
|
| 305 |
+
"heic"
|
| 306 |
+
],
|
| 307 |
+
"x-enumTitles": [
|
| 308 |
+
"JPEG",
|
| 309 |
+
"PNG",
|
| 310 |
+
"WebP",
|
| 311 |
+
"GIF",
|
| 312 |
+
"AVIF",
|
| 313 |
+
"SVG",
|
| 314 |
+
"ICO",
|
| 315 |
+
"BMP",
|
| 316 |
+
"TIFF",
|
| 317 |
+
"HEIC"
|
| 318 |
+
]
|
| 319 |
+
}
|
| 320 |
+
},
|
| 321 |
+
"minFileSizeKb": {
|
| 322 |
+
"type": "integer",
|
| 323 |
+
"title": "Minimum file size (KB)",
|
| 324 |
+
"description": "Skip files smaller than this.",
|
| 325 |
+
"default": 0,
|
| 326 |
+
"minimum": 0
|
| 327 |
+
},
|
| 328 |
+
"maxFileSizeMb": {
|
| 329 |
+
"type": "integer",
|
| 330 |
+
"title": "Maximum file size (MB)",
|
| 331 |
+
"description": "Larger files are skipped (not downloaded).",
|
| 332 |
+
"default": 25,
|
| 333 |
+
"minimum": 1,
|
| 334 |
+
"maximum": 200
|
| 335 |
+
},
|
| 336 |
+
"urlPattern": {
|
| 337 |
+
"type": "string",
|
| 338 |
+
"title": "Image URL must match (regex)",
|
| 339 |
+
"description": "Optional regular expression, case-insensitive, e.g. /products/|cdn\\.shopify\\.com"
|
| 340 |
+
},
|
| 341 |
+
"excludeUrlPattern": {
|
| 342 |
+
"type": "string",
|
| 343 |
+
"title": "Skip image URLs matching (regex)",
|
| 344 |
+
"description": "Optional, e.g. logo|icon|sprite|avatar"
|
| 345 |
+
},
|
| 346 |
+
"sameDomainOnly": {
|
| 347 |
+
"type": "boolean",
|
| 348 |
+
"title": "Only images from the page's own site",
|
| 349 |
+
"description": "Skip images hosted on other domains (ads, trackers, embeds). The site's own CDN subdomains (cdn.example.com) count as the same site.",
|
| 350 |
+
"default": false
|
| 351 |
+
},
|
| 352 |
+
"dedupe": {
|
| 353 |
+
"type": "boolean",
|
| 354 |
+
"title": "Remove duplicates",
|
| 355 |
+
"description": "Download each image URL once and drop byte-identical files (SHA-256) across all pages. Duplicates are free.",
|
| 356 |
+
"default": true
|
| 357 |
+
},
|
| 358 |
+
"skipTrackingPixels": {
|
| 359 |
+
"type": "boolean",
|
| 360 |
+
"title": "Skip tracking pixels",
|
| 361 |
+
"description": "Skip 1×1 and 2×2 images.",
|
| 362 |
+
"default": true
|
| 363 |
+
},
|
| 364 |
+
"upgradeToOriginals": {
|
| 365 |
+
"type": "boolean",
|
| 366 |
+
"title": "Full-size originals instead of thumbnails",
|
| 367 |
+
"description": "Pages usually show resized copies. For Shopify, WordPress (media library + Jetpack), Wikimedia, Cloudinary, Wix, Squarespace, Contentful and imgix URLs, download the full-size original instead (falls back to the page's copy if the original can't be fetched). The row keeps both URLs.",
|
| 368 |
+
"default": true
|
| 369 |
+
},
|
| 370 |
+
"srcset": {
|
| 371 |
+
"type": "string",
|
| 372 |
+
"title": "Responsive images (srcset)",
|
| 373 |
+
"description": "Pages often offer several sizes of the same picture. 'Largest' gets the best quality once.",
|
| 374 |
+
"default": "largest",
|
| 375 |
+
"enum": [
|
| 376 |
+
"largest",
|
| 377 |
+
"all",
|
| 378 |
+
"none"
|
| 379 |
+
],
|
| 380 |
+
"x-enumTitles": [
|
| 381 |
+
"Largest version only",
|
| 382 |
+
"Every size",
|
| 383 |
+
"Ignore srcset (plain src only)"
|
| 384 |
+
]
|
| 385 |
+
},
|
| 386 |
+
"includeLinkedImages": {
|
| 387 |
+
"type": "boolean",
|
| 388 |
+
"title": "Linked originals (<a href=…jpg>)",
|
| 389 |
+
"description": "Gallery thumbnails often link to the full-size original. Links that turn out to be HTML pages are skipped for free.",
|
| 390 |
+
"default": true
|
| 391 |
+
},
|
| 392 |
+
"includeCssBackgrounds": {
|
| 393 |
+
"type": "boolean",
|
| 394 |
+
"title": "CSS background images",
|
| 395 |
+
"description": "Inline style and <style> backgrounds (hero banners, sliders). External CSS files are not fetched.",
|
| 396 |
+
"default": true
|
| 397 |
+
},
|
| 398 |
+
"includeMetaImages": {
|
| 399 |
+
"type": "boolean",
|
| 400 |
+
"title": "Social/SEO images",
|
| 401 |
+
"description": "og:image, twitter:image, JSON-LD product/article images and video posters.",
|
| 402 |
+
"default": true
|
| 403 |
+
},
|
| 404 |
+
"includeIcons": {
|
| 405 |
+
"type": "boolean",
|
| 406 |
+
"title": "Favicons and touch icons",
|
| 407 |
+
"description": "Include <link rel=icon> and apple-touch-icon files.",
|
| 408 |
+
"default": false
|
| 409 |
+
},
|
| 410 |
+
"includeDataUris": {
|
| 411 |
+
"type": "boolean",
|
| 412 |
+
"title": "Inline data: images",
|
| 413 |
+
"description": "Include images embedded in the HTML as data: URIs (placeholders are always skipped).",
|
| 414 |
+
"default": false
|
| 415 |
+
},
|
| 416 |
+
"preferOriginalFormat": {
|
| 417 |
+
"type": "boolean",
|
| 418 |
+
"title": "Prefer original file format",
|
| 419 |
+
"description": "Ask servers for the original JPEG/PNG/GIF instead of the WebP/AVIF copies many CDNs create on the fly. Turn off to get the (usually smaller) modern formats a browser would get.",
|
| 420 |
+
"default": true
|
| 421 |
+
},
|
| 422 |
+
"fileNaming": {
|
| 423 |
+
"type": "string",
|
| 424 |
+
"title": "File names",
|
| 425 |
+
"description": "Names inside the ZIP / key-value store. Extensions always match the real format.",
|
| 426 |
+
"default": "original",
|
| 427 |
+
"enum": [
|
| 428 |
+
"original",
|
| 429 |
+
"alt",
|
| 430 |
+
"index",
|
| 431 |
+
"hash"
|
| 432 |
+
],
|
| 433 |
+
"x-enumTitles": [
|
| 434 |
+
"0001-original-name.jpg",
|
| 435 |
+
"0001-alt-text.jpg",
|
| 436 |
+
"0001.jpg",
|
| 437 |
+
"sha256.jpg"
|
| 438 |
+
]
|
| 439 |
+
},
|
| 440 |
+
"zipPartSizeMb": {
|
| 441 |
+
"type": "integer",
|
| 442 |
+
"title": "ZIP part size (MB)",
|
| 443 |
+
"description": "Big jobs are split into images.zip, images-part-2.zip, …",
|
| 444 |
+
"default": 1000,
|
| 445 |
+
"minimum": 10,
|
| 446 |
+
"maximum": 3900
|
| 447 |
+
},
|
| 448 |
+
"maxImagesPerPage": {
|
| 449 |
+
"type": "integer",
|
| 450 |
+
"title": "Max images per page",
|
| 451 |
+
"description": "Safety cap per input URL.",
|
| 452 |
+
"default": 500,
|
| 453 |
+
"minimum": 1,
|
| 454 |
+
"maximum": 10000
|
| 455 |
+
},
|
| 456 |
+
"maxImagesTotal": {
|
| 457 |
+
"type": "integer",
|
| 458 |
+
"title": "Max images per run",
|
| 459 |
+
"description": "Stop after this many delivered images (you can also set a maximum charge per run in Apify).",
|
| 460 |
+
"default": 100000,
|
| 461 |
+
"minimum": 1
|
| 462 |
+
},
|
| 463 |
+
"pageConcurrency": {
|
| 464 |
+
"type": "integer",
|
| 465 |
+
"title": "Pages in parallel",
|
| 466 |
+
"description": "How many input URLs are processed at the same time.",
|
| 467 |
+
"default": 4,
|
| 468 |
+
"minimum": 1,
|
| 469 |
+
"maximum": 20
|
| 470 |
+
},
|
| 471 |
+
"imageConcurrency": {
|
| 472 |
+
"type": "integer",
|
| 473 |
+
"title": "Downloads in parallel per page",
|
| 474 |
+
"description": "How many images of one page download at the same time. Lower it for small sites.",
|
| 475 |
+
"default": 12,
|
| 476 |
+
"minimum": 1,
|
| 477 |
+
"maximum": 50
|
| 478 |
+
},
|
| 479 |
+
"timeoutSecs": {
|
| 480 |
+
"type": "integer",
|
| 481 |
+
"title": "Timeout per request (s)",
|
| 482 |
+
"description": "Per page or image download.",
|
| 483 |
+
"default": 30,
|
| 484 |
+
"minimum": 3,
|
| 485 |
+
"maximum": 120
|
| 486 |
+
},
|
| 487 |
+
"proxyConfiguration": {
|
| 488 |
+
"type": "object",
|
| 489 |
+
"title": "Proxy",
|
| 490 |
+
"description": "Optional. By default requests go direct and blocked ones (403/429/503) are retried once through Apify Proxy. Use residential proxies for strict sites.",
|
| 491 |
+
"examples": [
|
| 492 |
+
{
|
| 493 |
+
"useApifyProxy": false
|
| 494 |
+
}
|
| 495 |
+
]
|
| 496 |
+
},
|
| 497 |
+
"retryWithProxy": {
|
| 498 |
+
"type": "boolean",
|
| 499 |
+
"title": "Retry blocked requests through Apify Proxy",
|
| 500 |
+
"description": "Only used when no proxy is set above.",
|
| 501 |
+
"default": true
|
| 502 |
+
},
|
| 503 |
+
"monitor": {
|
| 504 |
+
"type": "boolean",
|
| 505 |
+
"title": "Monitor mode: new images only",
|
| 506 |
+
"description": "For scheduled runs. Remembers every image delivered for this list of URLs (by content hash) and returns only images that are new since the last monitor run: new products, new gallery photos, a changed banner. Images you already got are skipped and not charged. The first run returns everything.",
|
| 507 |
+
"default": false
|
| 508 |
+
},
|
| 509 |
+
"monitorKey": {
|
| 510 |
+
"type": "string",
|
| 511 |
+
"title": "Watchlist name",
|
| 512 |
+
"description": "Optional name for the monitor memory, so you can change the URL list and keep history. Default: derived from the URL list."
|
| 513 |
+
}
|
| 514 |
+
},
|
| 515 |
+
"title": "Picpail input",
|
| 516 |
+
"description": "Give page or image URLs; get every image as a ZIP (or files) plus a metadata row per image.",
|
| 517 |
+
"required": [
|
| 518 |
+
"urls"
|
| 519 |
+
],
|
| 520 |
+
"additionalProperties": false
|
| 521 |
+
},
|
| 522 |
+
"OutputRecord": {
|
| 523 |
+
"type": "object",
|
| 524 |
+
"properties": {
|
| 525 |
+
"fileUrl": {
|
| 526 |
+
"description": "Image (files mode)"
|
| 527 |
+
},
|
| 528 |
+
"imageUrl": {
|
| 529 |
+
"description": "Image URL"
|
| 530 |
+
},
|
| 531 |
+
"pageImageUrl": {
|
| 532 |
+
"description": "Thumbnail on page"
|
| 533 |
+
},
|
| 534 |
+
"pageUrl": {
|
| 535 |
+
"description": "Page"
|
| 536 |
+
},
|
| 537 |
+
"format": {
|
| 538 |
+
"description": "Format"
|
| 539 |
+
},
|
| 540 |
+
"width": {
|
| 541 |
+
"description": "Width"
|
| 542 |
+
},
|
| 543 |
+
"height": {
|
| 544 |
+
"description": "Height"
|
| 545 |
+
},
|
| 546 |
+
"bytes": {
|
| 547 |
+
"description": "Bytes"
|
| 548 |
+
},
|
| 549 |
+
"extraMegabytes": {
|
| 550 |
+
"description": "Extra MB billed"
|
| 551 |
+
},
|
| 552 |
+
"alt": {
|
| 553 |
+
"description": "Alt text"
|
| 554 |
+
},
|
| 555 |
+
"source": {
|
| 556 |
+
"description": "Found in"
|
| 557 |
+
},
|
| 558 |
+
"fileName": {
|
| 559 |
+
"description": "File name"
|
| 560 |
+
},
|
| 561 |
+
"zipUrl": {
|
| 562 |
+
"description": "ZIP"
|
| 563 |
+
},
|
| 564 |
+
"sha256": {
|
| 565 |
+
"description": "SHA-256"
|
| 566 |
+
},
|
| 567 |
+
"pageTitle": {
|
| 568 |
+
"description": "Page title"
|
| 569 |
+
},
|
| 570 |
+
"animated": {
|
| 571 |
+
"description": "Animated"
|
| 572 |
+
},
|
| 573 |
+
"finalUrl": {
|
| 574 |
+
"description": "Redirected to"
|
| 575 |
+
},
|
| 576 |
+
"via": {
|
| 577 |
+
"description": "Fetched via"
|
| 578 |
+
},
|
| 579 |
+
"type": {
|
| 580 |
+
"description": "Row type"
|
| 581 |
+
},
|
| 582 |
+
"error": {
|
| 583 |
+
"description": "Error (free rows)"
|
| 584 |
+
},
|
| 585 |
+
"httpStatus": {
|
| 586 |
+
"description": "HTTP status"
|
| 587 |
+
}
|
| 588 |
+
},
|
| 589 |
+
"x-inferredFrom": "the Actor dataset view field list (types not declared)"
|
| 590 |
+
},
|
| 591 |
+
"RunStarted": {
|
| 592 |
+
"type": "object",
|
| 593 |
+
"properties": {
|
| 594 |
+
"data": {
|
| 595 |
+
"type": "object",
|
| 596 |
+
"properties": {
|
| 597 |
+
"id": {
|
| 598 |
+
"type": "string"
|
| 599 |
+
},
|
| 600 |
+
"status": {
|
| 601 |
+
"type": "string"
|
| 602 |
+
},
|
| 603 |
+
"defaultDatasetId": {
|
| 604 |
+
"type": "string"
|
| 605 |
+
}
|
| 606 |
+
}
|
| 607 |
+
}
|
| 608 |
+
}
|
| 609 |
+
},
|
| 610 |
+
"ApifyError": {
|
| 611 |
+
"type": "object",
|
| 612 |
+
"properties": {
|
| 613 |
+
"error": {
|
| 614 |
+
"type": "object",
|
| 615 |
+
"properties": {
|
| 616 |
+
"type": {
|
| 617 |
+
"type": "string"
|
| 618 |
+
},
|
| 619 |
+
"message": {
|
| 620 |
+
"type": "string"
|
| 621 |
+
}
|
| 622 |
+
}
|
| 623 |
+
}
|
| 624 |
+
}
|
| 625 |
+
}
|
| 626 |
+
}
|
| 627 |
+
}
|
| 628 |
+
}
|
market/openapi/send-email.json
ADDED
|
@@ -0,0 +1,745 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"openapi": "3.1.0",
|
| 3 |
+
"info": {
|
| 4 |
+
"title": "Sendfinch API (Send Email via SMTP, Resend, SendGrid & Mailgun)",
|
| 5 |
+
"version": "1.0.0",
|
| 6 |
+
"summary": "Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status.",
|
| 7 |
+
"description": "Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status. $0.001 per email; failures free.\n\nRuns the Sendfinch Actor (`cybermax/send-email`) on Apify with the caller's own Apify API token and returns its dataset. Pricing (pay per event, billed by Apify):\n- Email sent: $0.001\n\nPublisher: CyberMax. Catalog: https://cybermax-tools-cybermax.static.hf.space/market/catalog.json",
|
| 8 |
+
"contact": {
|
| 9 |
+
"name": "CyberMax",
|
| 10 |
+
"url": "https://apify.com/cybermax/send-email"
|
| 11 |
+
},
|
| 12 |
+
"x-logo": {
|
| 13 |
+
"url": "https://cybermax-tools-cybermax.static.hf.space/favicon.ico"
|
| 14 |
+
}
|
| 15 |
+
},
|
| 16 |
+
"externalDocs": {
|
| 17 |
+
"description": "Apify Store page",
|
| 18 |
+
"url": "https://apify.com/cybermax/send-email"
|
| 19 |
+
},
|
| 20 |
+
"servers": [
|
| 21 |
+
{
|
| 22 |
+
"url": "https://api.apify.com",
|
| 23 |
+
"description": "Apify API"
|
| 24 |
+
}
|
| 25 |
+
],
|
| 26 |
+
"security": [
|
| 27 |
+
{
|
| 28 |
+
"apifyToken": []
|
| 29 |
+
}
|
| 30 |
+
],
|
| 31 |
+
"tags": [
|
| 32 |
+
{
|
| 33 |
+
"name": "Sendfinch",
|
| 34 |
+
"description": "Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status."
|
| 35 |
+
}
|
| 36 |
+
],
|
| 37 |
+
"paths": {
|
| 38 |
+
"/v2/acts/cybermax~send-email/run-sync-get-dataset-items": {
|
| 39 |
+
"post": {
|
| 40 |
+
"operationId": "runSendfinchSync",
|
| 41 |
+
"tags": [
|
| 42 |
+
"Sendfinch"
|
| 43 |
+
],
|
| 44 |
+
"summary": "Sendfinch: run and return results",
|
| 45 |
+
"description": "Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status. Waits for the run to finish (up to 300 s) and returns the output records.",
|
| 46 |
+
"parameters": [
|
| 47 |
+
{
|
| 48 |
+
"name": "timeout",
|
| 49 |
+
"in": "query",
|
| 50 |
+
"required": false,
|
| 51 |
+
"description": "Run timeout in seconds (max 300 for synchronous runs).",
|
| 52 |
+
"schema": {
|
| 53 |
+
"type": "integer",
|
| 54 |
+
"minimum": 1,
|
| 55 |
+
"maximum": 300
|
| 56 |
+
}
|
| 57 |
+
},
|
| 58 |
+
{
|
| 59 |
+
"name": "clean",
|
| 60 |
+
"in": "query",
|
| 61 |
+
"required": false,
|
| 62 |
+
"description": "Omit empty records and hidden fields.",
|
| 63 |
+
"schema": {
|
| 64 |
+
"type": "boolean",
|
| 65 |
+
"default": true
|
| 66 |
+
}
|
| 67 |
+
}
|
| 68 |
+
],
|
| 69 |
+
"requestBody": {
|
| 70 |
+
"required": true,
|
| 71 |
+
"content": {
|
| 72 |
+
"application/json": {
|
| 73 |
+
"schema": {
|
| 74 |
+
"$ref": "#/components/schemas/Input"
|
| 75 |
+
},
|
| 76 |
+
"example": {
|
| 77 |
+
"from": "Acme Alerts <alerts@acme.com>",
|
| 78 |
+
"subject": "Hi {{firstName}}, your {{plan}} report is ready",
|
| 79 |
+
"html": "<p>Hi {{firstName}},</p><p>Your {{plan}} report for <b>{{company}}</b> is ready.</p>",
|
| 80 |
+
"mode": "merge",
|
| 81 |
+
"items": [
|
| 82 |
+
{
|
| 83 |
+
"email": "ann@example.com",
|
| 84 |
+
"firstName": "Ann",
|
| 85 |
+
"company": "Acme Corp",
|
| 86 |
+
"plan": "Pro"
|
| 87 |
+
},
|
| 88 |
+
{
|
| 89 |
+
"email": "raj@example.org",
|
| 90 |
+
"firstName": "Raj",
|
| 91 |
+
"company": "Northwind",
|
| 92 |
+
"plan": "Team"
|
| 93 |
+
}
|
| 94 |
+
],
|
| 95 |
+
"dryRun": true
|
| 96 |
+
}
|
| 97 |
+
}
|
| 98 |
+
}
|
| 99 |
+
},
|
| 100 |
+
"responses": {
|
| 101 |
+
"201": {
|
| 102 |
+
"description": "Run finished; body is the list of output records.",
|
| 103 |
+
"content": {
|
| 104 |
+
"application/json": {
|
| 105 |
+
"schema": {
|
| 106 |
+
"type": "array",
|
| 107 |
+
"items": {
|
| 108 |
+
"$ref": "#/components/schemas/OutputRecord"
|
| 109 |
+
}
|
| 110 |
+
},
|
| 111 |
+
"example": [
|
| 112 |
+
{
|
| 113 |
+
"index": 0,
|
| 114 |
+
"mode": "digest",
|
| 115 |
+
"provider": "smtp",
|
| 116 |
+
"to": [
|
| 117 |
+
"you@yourdomain.com"
|
| 118 |
+
],
|
| 119 |
+
"cc": [],
|
| 120 |
+
"bcc": [],
|
| 121 |
+
"subject": "1 new result (2026-09-24)",
|
| 122 |
+
"attachments": [
|
| 123 |
+
"results-2026-09-24.csv"
|
| 124 |
+
],
|
| 125 |
+
"recipients": 1,
|
| 126 |
+
"rows": 1,
|
| 127 |
+
"ok": true,
|
| 128 |
+
"messageId": "<a4c8c4d3-b13b-d89f-f4e5-d9e6ebc24f04@ethereal.email>",
|
| 129 |
+
"status": "250 Accepted [STATUS=new MSGID=arRuDHr.3nbIbauCarRvOvLvAxtdqkONAAAABlF4myyownocuD12LRj-bfc]",
|
| 130 |
+
"charged": 0,
|
| 131 |
+
"ms": 1575,
|
| 132 |
+
"sentAt": "2026-09-24T00:30:50.325Z"
|
| 133 |
+
}
|
| 134 |
+
]
|
| 135 |
+
}
|
| 136 |
+
}
|
| 137 |
+
},
|
| 138 |
+
"400": {
|
| 139 |
+
"description": "Invalid input.",
|
| 140 |
+
"content": {
|
| 141 |
+
"application/json": {
|
| 142 |
+
"schema": {
|
| 143 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 144 |
+
}
|
| 145 |
+
}
|
| 146 |
+
}
|
| 147 |
+
},
|
| 148 |
+
"401": {
|
| 149 |
+
"description": "Missing or invalid Apify token.",
|
| 150 |
+
"content": {
|
| 151 |
+
"application/json": {
|
| 152 |
+
"schema": {
|
| 153 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 154 |
+
}
|
| 155 |
+
}
|
| 156 |
+
}
|
| 157 |
+
},
|
| 158 |
+
"402": {
|
| 159 |
+
"description": "Apify account has no credit left for this run.",
|
| 160 |
+
"content": {
|
| 161 |
+
"application/json": {
|
| 162 |
+
"schema": {
|
| 163 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 164 |
+
}
|
| 165 |
+
}
|
| 166 |
+
}
|
| 167 |
+
},
|
| 168 |
+
"408": {
|
| 169 |
+
"description": "The run did not finish within the synchronous timeout; start it asynchronously instead.",
|
| 170 |
+
"content": {
|
| 171 |
+
"application/json": {
|
| 172 |
+
"schema": {
|
| 173 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 174 |
+
}
|
| 175 |
+
}
|
| 176 |
+
}
|
| 177 |
+
},
|
| 178 |
+
"429": {
|
| 179 |
+
"description": "Rate limited by Apify.",
|
| 180 |
+
"content": {
|
| 181 |
+
"application/json": {
|
| 182 |
+
"schema": {
|
| 183 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 184 |
+
}
|
| 185 |
+
}
|
| 186 |
+
}
|
| 187 |
+
}
|
| 188 |
+
}
|
| 189 |
+
}
|
| 190 |
+
},
|
| 191 |
+
"/v2/acts/cybermax~send-email/runs": {
|
| 192 |
+
"post": {
|
| 193 |
+
"operationId": "startSendfinchRun",
|
| 194 |
+
"tags": [
|
| 195 |
+
"Sendfinch"
|
| 196 |
+
],
|
| 197 |
+
"summary": "Sendfinch: start an asynchronous run",
|
| 198 |
+
"description": "Starts a run and returns immediately. Poll GET https://api.apify.com/v2/actor-runs/{runId} and read items from GET https://api.apify.com/v2/datasets/{defaultDatasetId}/items.",
|
| 199 |
+
"requestBody": {
|
| 200 |
+
"required": true,
|
| 201 |
+
"content": {
|
| 202 |
+
"application/json": {
|
| 203 |
+
"schema": {
|
| 204 |
+
"$ref": "#/components/schemas/Input"
|
| 205 |
+
}
|
| 206 |
+
}
|
| 207 |
+
}
|
| 208 |
+
},
|
| 209 |
+
"responses": {
|
| 210 |
+
"201": {
|
| 211 |
+
"description": "Run started.",
|
| 212 |
+
"content": {
|
| 213 |
+
"application/json": {
|
| 214 |
+
"schema": {
|
| 215 |
+
"$ref": "#/components/schemas/RunStarted"
|
| 216 |
+
}
|
| 217 |
+
}
|
| 218 |
+
}
|
| 219 |
+
},
|
| 220 |
+
"400": {
|
| 221 |
+
"description": "Invalid input.",
|
| 222 |
+
"content": {
|
| 223 |
+
"application/json": {
|
| 224 |
+
"schema": {
|
| 225 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 226 |
+
}
|
| 227 |
+
}
|
| 228 |
+
}
|
| 229 |
+
},
|
| 230 |
+
"401": {
|
| 231 |
+
"description": "Missing or invalid Apify token.",
|
| 232 |
+
"content": {
|
| 233 |
+
"application/json": {
|
| 234 |
+
"schema": {
|
| 235 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 236 |
+
}
|
| 237 |
+
}
|
| 238 |
+
}
|
| 239 |
+
},
|
| 240 |
+
"402": {
|
| 241 |
+
"description": "Apify account has no credit left for this run.",
|
| 242 |
+
"content": {
|
| 243 |
+
"application/json": {
|
| 244 |
+
"schema": {
|
| 245 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 246 |
+
}
|
| 247 |
+
}
|
| 248 |
+
}
|
| 249 |
+
},
|
| 250 |
+
"429": {
|
| 251 |
+
"description": "Rate limited by Apify.",
|
| 252 |
+
"content": {
|
| 253 |
+
"application/json": {
|
| 254 |
+
"schema": {
|
| 255 |
+
"$ref": "#/components/schemas/ApifyError"
|
| 256 |
+
}
|
| 257 |
+
}
|
| 258 |
+
}
|
| 259 |
+
}
|
| 260 |
+
}
|
| 261 |
+
}
|
| 262 |
+
}
|
| 263 |
+
},
|
| 264 |
+
"components": {
|
| 265 |
+
"securitySchemes": {
|
| 266 |
+
"apifyToken": {
|
| 267 |
+
"type": "http",
|
| 268 |
+
"scheme": "bearer",
|
| 269 |
+
"description": "Your Apify API token (https://console.apify.com/settings/integrations). Runs are billed to your Apify account."
|
| 270 |
+
}
|
| 271 |
+
},
|
| 272 |
+
"schemas": {
|
| 273 |
+
"Input": {
|
| 274 |
+
"type": "object",
|
| 275 |
+
"properties": {
|
| 276 |
+
"provider": {
|
| 277 |
+
"type": "string",
|
| 278 |
+
"title": "Provider",
|
| 279 |
+
"description": "How to send: your own SMTP server (Gmail/Google Workspace, Microsoft 365, Amazon SES, Zoho, Fastmail, any host) or the API of Resend, SendGrid, Mailgun or Postmark. Sendfinch never sends through shared servers: mail goes out from your account and your domain.",
|
| 280 |
+
"default": "smtp",
|
| 281 |
+
"enum": [
|
| 282 |
+
"smtp",
|
| 283 |
+
"resend",
|
| 284 |
+
"sendgrid",
|
| 285 |
+
"mailgun",
|
| 286 |
+
"postmark"
|
| 287 |
+
],
|
| 288 |
+
"x-enumTitles": [
|
| 289 |
+
"SMTP server",
|
| 290 |
+
"Resend API",
|
| 291 |
+
"SendGrid API",
|
| 292 |
+
"Mailgun API",
|
| 293 |
+
"Postmark API"
|
| 294 |
+
]
|
| 295 |
+
},
|
| 296 |
+
"from": {
|
| 297 |
+
"type": "string",
|
| 298 |
+
"title": "From",
|
| 299 |
+
"description": "Sender, e.g. \"Acme Alerts <alerts@acme.com>\". Must be an address your SMTP login or provider lets you send from (a verified sender/domain).",
|
| 300 |
+
"examples": [
|
| 301 |
+
"Acme Alerts <alerts@acme.com>"
|
| 302 |
+
]
|
| 303 |
+
},
|
| 304 |
+
"to": {
|
| 305 |
+
"type": "string",
|
| 306 |
+
"title": "To",
|
| 307 |
+
"description": "Recipient(s), separated by commas: \"ann@acme.com, Bob <bob@acme.com>\". In digest mode, who gets the digest. Not used in merge mode (addresses come from each row)."
|
| 308 |
+
},
|
| 309 |
+
"subject": {
|
| 310 |
+
"type": "string",
|
| 311 |
+
"title": "Subject",
|
| 312 |
+
"description": "Subject line. {{field}} placeholders are filled from each row (merge), from \"variables\", or with {{count}}/{{date}} (digest).",
|
| 313 |
+
"examples": [
|
| 314 |
+
"Hi {{firstName}}, your {{plan}} report is ready"
|
| 315 |
+
]
|
| 316 |
+
},
|
| 317 |
+
"html": {
|
| 318 |
+
"type": "string",
|
| 319 |
+
"title": "HTML body",
|
| 320 |
+
"description": "HTML body with {{field}} placeholders (values are HTML-escaped; use {{{field}}} for raw HTML). In digest mode, put {{{table}}} where the results table goes (leave empty for the default layout). A plain-text part is generated automatically unless you set \"text\".",
|
| 321 |
+
"examples": [
|
| 322 |
+
"<p>Hi {{firstName}},</p><p>Your {{plan}} report for <b>{{company}}</b> is ready.</p>"
|
| 323 |
+
]
|
| 324 |
+
},
|
| 325 |
+
"text": {
|
| 326 |
+
"type": "string",
|
| 327 |
+
"title": "Plain-text body",
|
| 328 |
+
"description": "Plain-text body (or the only body). Same {{field}} placeholders as HTML."
|
| 329 |
+
},
|
| 330 |
+
"mode": {
|
| 331 |
+
"type": "string",
|
| 332 |
+
"title": "Mode",
|
| 333 |
+
"description": "auto = \"messages\" if given, else digest if a dataset/items are given, else one email to \"to\". single = one email to \"to\". messages = a list of different emails. merge = one personalised email per dataset row (mail merge). digest = one email containing all rows as a table + CSV (e.g. the results of another Actor run).",
|
| 334 |
+
"default": "auto",
|
| 335 |
+
"enum": [
|
| 336 |
+
"auto",
|
| 337 |
+
"single",
|
| 338 |
+
"messages",
|
| 339 |
+
"merge",
|
| 340 |
+
"digest"
|
| 341 |
+
],
|
| 342 |
+
"x-enumTitles": [
|
| 343 |
+
"Auto",
|
| 344 |
+
"Single email",
|
| 345 |
+
"List of emails (messages)",
|
| 346 |
+
"Mail merge: one email per row",
|
| 347 |
+
"Digest: all rows in one email"
|
| 348 |
+
]
|
| 349 |
+
},
|
| 350 |
+
"datasetId": {
|
| 351 |
+
"type": "string",
|
| 352 |
+
"title": "Dataset ID (rows for merge/digest)",
|
| 353 |
+
"description": "An Apify dataset to read rows from, e.g. another run's defaultDatasetId. In an Apify webhook or integration use {{resource.defaultDatasetId}} to email the results of any Actor run."
|
| 354 |
+
},
|
| 355 |
+
"items": {
|
| 356 |
+
"type": "array",
|
| 357 |
+
"title": "Rows (inline)",
|
| 358 |
+
"description": "Rows given directly instead of a dataset: a JSON array of objects, e.g. [{\"email\": \"ann@acme.com\", \"firstName\": \"Ann\"}].",
|
| 359 |
+
"examples": [
|
| 360 |
+
[
|
| 361 |
+
{
|
| 362 |
+
"email": "ann@example.com",
|
| 363 |
+
"firstName": "Ann",
|
| 364 |
+
"company": "Acme Corp",
|
| 365 |
+
"plan": "Pro"
|
| 366 |
+
},
|
| 367 |
+
{
|
| 368 |
+
"email": "raj@example.org",
|
| 369 |
+
"firstName": "Raj",
|
| 370 |
+
"company": "Northwind",
|
| 371 |
+
"plan": "Team"
|
| 372 |
+
}
|
| 373 |
+
]
|
| 374 |
+
],
|
| 375 |
+
"items": {}
|
| 376 |
+
},
|
| 377 |
+
"toField": {
|
| 378 |
+
"type": "string",
|
| 379 |
+
"title": "Recipient field (merge)",
|
| 380 |
+
"description": "Row field holding the recipient address. Default: the first of email, emailAddress, contactEmail, emails.0, Email."
|
| 381 |
+
},
|
| 382 |
+
"nameField": {
|
| 383 |
+
"type": "string",
|
| 384 |
+
"title": "Recipient name field (merge)",
|
| 385 |
+
"description": "Optional row field used as the recipient's display name, e.g. firstName or fullName."
|
| 386 |
+
},
|
| 387 |
+
"digestFields": {
|
| 388 |
+
"type": "array",
|
| 389 |
+
"title": "Digest columns",
|
| 390 |
+
"description": "Which fields to show in the digest table (dotted paths allowed, e.g. company.name). Default: the first 6 simple fields. The attached CSV always has every field.",
|
| 391 |
+
"items": {
|
| 392 |
+
"type": "string"
|
| 393 |
+
}
|
| 394 |
+
},
|
| 395 |
+
"digestTitle": {
|
| 396 |
+
"type": "string",
|
| 397 |
+
"title": "Digest heading",
|
| 398 |
+
"description": "Heading above the digest table. Default \"12 rows\" (\"12 new rows\" in monitor mode); placeholders {{count}}, {{total}}, {{date}}."
|
| 399 |
+
},
|
| 400 |
+
"maxDigestRows": {
|
| 401 |
+
"type": "integer",
|
| 402 |
+
"title": "Max rows shown in the digest table",
|
| 403 |
+
"description": "Rows beyond this go only into the attached CSV.",
|
| 404 |
+
"default": 200,
|
| 405 |
+
"minimum": 1,
|
| 406 |
+
"maximum": 1000
|
| 407 |
+
},
|
| 408 |
+
"attachCsv": {
|
| 409 |
+
"type": "boolean",
|
| 410 |
+
"title": "Attach the rows as CSV (digest)",
|
| 411 |
+
"description": "Adds results-YYYY-MM-DD.csv with every row and field.",
|
| 412 |
+
"default": true
|
| 413 |
+
},
|
| 414 |
+
"skipIfEmpty": {
|
| 415 |
+
"type": "boolean",
|
| 416 |
+
"title": "Don't send an empty digest",
|
| 417 |
+
"description": "When there are no rows, send nothing (free).",
|
| 418 |
+
"default": true
|
| 419 |
+
},
|
| 420 |
+
"maxItems": {
|
| 421 |
+
"type": "integer",
|
| 422 |
+
"title": "Max rows read from the dataset",
|
| 423 |
+
"description": "Upper limit on rows read from the dataset.",
|
| 424 |
+
"default": 5000,
|
| 425 |
+
"minimum": 1,
|
| 426 |
+
"maximum": 50000
|
| 427 |
+
},
|
| 428 |
+
"onlyNew": {
|
| 429 |
+
"type": "boolean",
|
| 430 |
+
"title": "Monitor mode: only rows not emailed before",
|
| 431 |
+
"description": "Remembers what earlier runs with the same monitor name already emailed. Digest: the email contains only new rows (nothing is sent when there are none). Merge: each address (or idField) gets the email once. Put it on an Apify Schedule for daily \"what's new\" emails.",
|
| 432 |
+
"default": false
|
| 433 |
+
},
|
| 434 |
+
"monitorName": {
|
| 435 |
+
"type": "string",
|
| 436 |
+
"title": "Monitor name",
|
| 437 |
+
"description": "Keeps separate memories for different schedules, e.g. \"new-leads\" and \"price-drops\".",
|
| 438 |
+
"default": "default"
|
| 439 |
+
},
|
| 440 |
+
"idField": {
|
| 441 |
+
"type": "string",
|
| 442 |
+
"title": "Row ID field",
|
| 443 |
+
"description": "Field that identifies a row across runs (e.g. url or id). Default: digest compares whole rows; merge compares the recipient address."
|
| 444 |
+
},
|
| 445 |
+
"messages": {
|
| 446 |
+
"type": "array",
|
| 447 |
+
"title": "Messages (list of different emails)",
|
| 448 |
+
"description": "Send several different emails in one run: [{\"to\": \"a@x.com\", \"subject\": \"...\", \"html\": \"...\", \"text\": \"...\", \"cc\": \"...\", \"bcc\": \"...\", \"replyTo\": \"...\", \"attachments\": [{\"filename\": \"a.txt\", \"text\": \"...\"}]}]. Messages with problems are skipped for free and reported.",
|
| 449 |
+
"items": {}
|
| 450 |
+
},
|
| 451 |
+
"variables": {
|
| 452 |
+
"type": "object",
|
| 453 |
+
"title": "Variables",
|
| 454 |
+
"description": "Extra values for {{placeholders}} in every email, e.g. {\"product\": \"Acme\"}."
|
| 455 |
+
},
|
| 456 |
+
"sendSeparately": {
|
| 457 |
+
"type": "boolean",
|
| 458 |
+
"title": "Send separately to each \"to\" address",
|
| 459 |
+
"description": "One email per address instead of one email with everyone in To (recipients don't see each other).",
|
| 460 |
+
"default": false
|
| 461 |
+
},
|
| 462 |
+
"cc": {
|
| 463 |
+
"type": "string",
|
| 464 |
+
"title": "Cc",
|
| 465 |
+
"description": "Comma-separated addresses."
|
| 466 |
+
},
|
| 467 |
+
"bcc": {
|
| 468 |
+
"type": "string",
|
| 469 |
+
"title": "Bcc",
|
| 470 |
+
"description": "Comma-separated addresses (in merge mode added to every email, e.g. a CRM dropbox)."
|
| 471 |
+
},
|
| 472 |
+
"replyTo": {
|
| 473 |
+
"type": "string",
|
| 474 |
+
"title": "Reply-To",
|
| 475 |
+
"description": "Where replies go, if not the From address."
|
| 476 |
+
},
|
| 477 |
+
"attachments": {
|
| 478 |
+
"type": "array",
|
| 479 |
+
"title": "Attachments",
|
| 480 |
+
"description": "Files added to every email: {\"filename\": \"report.pdf\", \"url\": \"https://...\"}, {\"key\": \"OUTPUT\", \"filename\": \"report.pdf\"} (a record from the key-value store set below, e.g. a PDF or screenshot made by another Actor), {\"filename\": \"a.txt\", \"text\": \"...\"} or {\"filename\": \"a.png\", \"contentBase64\": \"...\"}. 20 MB total.",
|
| 481 |
+
"items": {}
|
| 482 |
+
},
|
| 483 |
+
"keyValueStoreId": {
|
| 484 |
+
"type": "string",
|
| 485 |
+
"title": "Key-value store for attachments",
|
| 486 |
+
"description": "An Apify key-value store to read attachment records from (e.g. another run's defaultKeyValueStoreId holding a PDF, screenshot or report). Attachments given as {\"key\": \"OUTPUT\", \"filename\": \"report.pdf\"} are read from here."
|
| 487 |
+
},
|
| 488 |
+
"headers": {
|
| 489 |
+
"type": "object",
|
| 490 |
+
"title": "Extra headers",
|
| 491 |
+
"description": "Custom headers, e.g. {\"X-Campaign\": \"q3\"}."
|
| 492 |
+
},
|
| 493 |
+
"unsubscribeUrl": {
|
| 494 |
+
"type": "string",
|
| 495 |
+
"title": "Unsubscribe URL",
|
| 496 |
+
"description": "Adds List-Unsubscribe (and one-click List-Unsubscribe-Post for https URLs) so Gmail/Yahoo show an unsubscribe button. Placeholders allowed: https://acme.com/unsub?e={{email}}."
|
| 497 |
+
},
|
| 498 |
+
"smtpHost": {
|
| 499 |
+
"type": "string",
|
| 500 |
+
"title": "SMTP host",
|
| 501 |
+
"description": "e.g. smtp.gmail.com, smtp.office365.com, email-smtp.us-east-1.amazonaws.com, smtp.zoho.com, smtp.resend.com, smtp.sendgrid.net."
|
| 502 |
+
},
|
| 503 |
+
"smtpPort": {
|
| 504 |
+
"type": "integer",
|
| 505 |
+
"title": "SMTP port",
|
| 506 |
+
"description": "587 (STARTTLS, default) or 465 (TLS). Port 25 is usually blocked in the cloud.",
|
| 507 |
+
"default": 587
|
| 508 |
+
},
|
| 509 |
+
"smtpSecure": {
|
| 510 |
+
"type": "boolean",
|
| 511 |
+
"title": "Use TLS from the start",
|
| 512 |
+
"description": "Default: on for port 465, off (STARTTLS) otherwise."
|
| 513 |
+
},
|
| 514 |
+
"smtpUser": {
|
| 515 |
+
"type": "string",
|
| 516 |
+
"title": "SMTP username",
|
| 517 |
+
"description": "Usually your full email address."
|
| 518 |
+
},
|
| 519 |
+
"smtpPassword": {
|
| 520 |
+
"type": "string",
|
| 521 |
+
"title": "SMTP password",
|
| 522 |
+
"description": "Stored encrypted by Apify (secret input). Gmail/Google Workspace and Outlook need an app password, not your normal password.",
|
| 523 |
+
"writeOnly": true
|
| 524 |
+
},
|
| 525 |
+
"smtpAllowSelfSigned": {
|
| 526 |
+
"type": "boolean",
|
| 527 |
+
"title": "Allow self-signed TLS certificates",
|
| 528 |
+
"description": "Only for your own mail server with a self-signed certificate.",
|
| 529 |
+
"default": false
|
| 530 |
+
},
|
| 531 |
+
"apiKey": {
|
| 532 |
+
"type": "string",
|
| 533 |
+
"title": "API key (Resend, SendGrid, Mailgun, Postmark)",
|
| 534 |
+
"description": "Your provider API key (Postmark: server token). Stored encrypted by Apify (secret input).",
|
| 535 |
+
"writeOnly": true
|
| 536 |
+
},
|
| 537 |
+
"mailgunDomain": {
|
| 538 |
+
"type": "string",
|
| 539 |
+
"title": "Mailgun sending domain",
|
| 540 |
+
"description": "e.g. mg.acme.com (Mailgun only)."
|
| 541 |
+
},
|
| 542 |
+
"region": {
|
| 543 |
+
"type": "string",
|
| 544 |
+
"title": "Region (Mailgun/SendGrid)",
|
| 545 |
+
"description": "eu for Mailgun EU domains or SendGrid EU subusers.",
|
| 546 |
+
"default": "us",
|
| 547 |
+
"enum": [
|
| 548 |
+
"us",
|
| 549 |
+
"eu"
|
| 550 |
+
]
|
| 551 |
+
},
|
| 552 |
+
"postmarkStream": {
|
| 553 |
+
"type": "string",
|
| 554 |
+
"title": "Postmark message stream",
|
| 555 |
+
"description": "Default outbound (transactional)."
|
| 556 |
+
},
|
| 557 |
+
"dryRun": {
|
| 558 |
+
"type": "boolean",
|
| 559 |
+
"title": "Dry run (preview, send nothing, free)",
|
| 560 |
+
"description": "Renders every email (recipients, subject, text and HTML) into the dataset without sending or charging. No credentials needed. Turn it off to send.",
|
| 561 |
+
"default": false
|
| 562 |
+
},
|
| 563 |
+
"maxEmails": {
|
| 564 |
+
"type": "integer",
|
| 565 |
+
"title": "Max emails per run",
|
| 566 |
+
"description": "Safety cap on emails sent in one run.",
|
| 567 |
+
"default": 100,
|
| 568 |
+
"minimum": 1,
|
| 569 |
+
"maximum": 5000
|
| 570 |
+
},
|
| 571 |
+
"maxConcurrency": {
|
| 572 |
+
"type": "integer",
|
| 573 |
+
"title": "Parallel sends",
|
| 574 |
+
"description": "How many emails are sent at the same time.",
|
| 575 |
+
"default": 3,
|
| 576 |
+
"minimum": 1,
|
| 577 |
+
"maximum": 10
|
| 578 |
+
},
|
| 579 |
+
"delayBetweenEmailsMs": {
|
| 580 |
+
"type": "integer",
|
| 581 |
+
"title": "Pause between emails (ms)",
|
| 582 |
+
"description": "Per parallel sender; use it to stay under your provider's rate limit (e.g. Gmail).",
|
| 583 |
+
"default": 0,
|
| 584 |
+
"minimum": 0,
|
| 585 |
+
"maximum": 60000
|
| 586 |
+
},
|
| 587 |
+
"autoText": {
|
| 588 |
+
"type": "boolean",
|
| 589 |
+
"title": "Generate a plain-text part from HTML",
|
| 590 |
+
"description": "Adds a plain-text version of HTML emails (better deliverability).",
|
| 591 |
+
"default": true
|
| 592 |
+
}
|
| 593 |
+
},
|
| 594 |
+
"title": "Sendfinch — send email via SMTP, Resend, SendGrid, Mailgun or Postmark",
|
| 595 |
+
"additionalProperties": false
|
| 596 |
+
},
|
| 597 |
+
"OutputRecord": {
|
| 598 |
+
"type": "object",
|
| 599 |
+
"properties": {
|
| 600 |
+
"index": {
|
| 601 |
+
"type": "integer",
|
| 602 |
+
"description": "Position of the email (merge: row number; messages: list position)"
|
| 603 |
+
},
|
| 604 |
+
"mode": {
|
| 605 |
+
"type": "string",
|
| 606 |
+
"description": "single, messages, merge or digest"
|
| 607 |
+
},
|
| 608 |
+
"provider": {
|
| 609 |
+
"type": "string"
|
| 610 |
+
},
|
| 611 |
+
"ok": {
|
| 612 |
+
"type": "boolean",
|
| 613 |
+
"description": "true = accepted by your provider (charged per recipient); false = not sent, free, see error"
|
| 614 |
+
},
|
| 615 |
+
"to": {
|
| 616 |
+
"type": "array",
|
| 617 |
+
"items": {
|
| 618 |
+
"type": "string"
|
| 619 |
+
}
|
| 620 |
+
},
|
| 621 |
+
"cc": {
|
| 622 |
+
"type": "array",
|
| 623 |
+
"items": {
|
| 624 |
+
"type": "string"
|
| 625 |
+
}
|
| 626 |
+
},
|
| 627 |
+
"bcc": {
|
| 628 |
+
"type": "array",
|
| 629 |
+
"items": {
|
| 630 |
+
"type": "string"
|
| 631 |
+
}
|
| 632 |
+
},
|
| 633 |
+
"subject": {
|
| 634 |
+
"type": [
|
| 635 |
+
"string",
|
| 636 |
+
"null"
|
| 637 |
+
]
|
| 638 |
+
},
|
| 639 |
+
"recipients": {
|
| 640 |
+
"type": "integer",
|
| 641 |
+
"description": "To + Cc + Bcc addresses in this email"
|
| 642 |
+
},
|
| 643 |
+
"charged": {
|
| 644 |
+
"type": "integer",
|
| 645 |
+
"description": "email-sent events charged (accepted recipients)"
|
| 646 |
+
},
|
| 647 |
+
"messageId": {
|
| 648 |
+
"type": [
|
| 649 |
+
"string",
|
| 650 |
+
"null"
|
| 651 |
+
],
|
| 652 |
+
"description": "The provider's message ID, for tracking in its dashboard"
|
| 653 |
+
},
|
| 654 |
+
"status": {
|
| 655 |
+
"type": [
|
| 656 |
+
"string",
|
| 657 |
+
"integer",
|
| 658 |
+
"null"
|
| 659 |
+
],
|
| 660 |
+
"description": "SMTP response or HTTP status from the provider"
|
| 661 |
+
},
|
| 662 |
+
"rejected": {
|
| 663 |
+
"type": "array",
|
| 664 |
+
"items": {
|
| 665 |
+
"type": "string"
|
| 666 |
+
},
|
| 667 |
+
"description": "Recipients the SMTP server refused (not charged)"
|
| 668 |
+
},
|
| 669 |
+
"attachments": {
|
| 670 |
+
"type": "array",
|
| 671 |
+
"items": {
|
| 672 |
+
"type": "string"
|
| 673 |
+
}
|
| 674 |
+
},
|
| 675 |
+
"rows": {
|
| 676 |
+
"type": "integer",
|
| 677 |
+
"description": "Digest: number of rows in the email"
|
| 678 |
+
},
|
| 679 |
+
"dryRun": {
|
| 680 |
+
"type": "boolean"
|
| 681 |
+
},
|
| 682 |
+
"text": {
|
| 683 |
+
"type": [
|
| 684 |
+
"string",
|
| 685 |
+
"null"
|
| 686 |
+
],
|
| 687 |
+
"description": "Dry run: rendered plain text"
|
| 688 |
+
},
|
| 689 |
+
"html": {
|
| 690 |
+
"type": [
|
| 691 |
+
"string",
|
| 692 |
+
"null"
|
| 693 |
+
],
|
| 694 |
+
"description": "Dry run: rendered HTML"
|
| 695 |
+
},
|
| 696 |
+
"error": {
|
| 697 |
+
"type": "string"
|
| 698 |
+
},
|
| 699 |
+
"ms": {
|
| 700 |
+
"type": "integer"
|
| 701 |
+
},
|
| 702 |
+
"sentAt": {
|
| 703 |
+
"type": "string",
|
| 704 |
+
"description": "Sent"
|
| 705 |
+
}
|
| 706 |
+
}
|
| 707 |
+
},
|
| 708 |
+
"RunStarted": {
|
| 709 |
+
"type": "object",
|
| 710 |
+
"properties": {
|
| 711 |
+
"data": {
|
| 712 |
+
"type": "object",
|
| 713 |
+
"properties": {
|
| 714 |
+
"id": {
|
| 715 |
+
"type": "string"
|
| 716 |
+
},
|
| 717 |
+
"status": {
|
| 718 |
+
"type": "string"
|
| 719 |
+
},
|
| 720 |
+
"defaultDatasetId": {
|
| 721 |
+
"type": "string"
|
| 722 |
+
}
|
| 723 |
+
}
|
| 724 |
+
}
|
| 725 |
+
}
|
| 726 |
+
},
|
| 727 |
+
"ApifyError": {
|
| 728 |
+
"type": "object",
|
| 729 |
+
"properties": {
|
| 730 |
+
"error": {
|
| 731 |
+
"type": "object",
|
| 732 |
+
"properties": {
|
| 733 |
+
"type": {
|
| 734 |
+
"type": "string"
|
| 735 |
+
},
|
| 736 |
+
"message": {
|
| 737 |
+
"type": "string"
|
| 738 |
+
}
|
| 739 |
+
}
|
| 740 |
+
}
|
| 741 |
+
}
|
| 742 |
+
}
|
| 743 |
+
}
|
| 744 |
+
}
|
| 745 |
+
}
|
market/tools/article-extract.md
CHANGED
|
@@ -2,8 +2,6 @@
|
|
| 2 |
|
| 3 |
> Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out.
|
| 4 |
|
| 5 |
-
**Status: coming soon, not callable yet.**
|
| 6 |
-
|
| 7 |
Inkpluck. Article extractor: give URLs of news articles, blog posts or docs pages and get, per URL, the clean article body as Markdown (or plain text) without navigation, ads or footers, plus title, authors, publish and modified dates (ISO 8601), language, site name, tags, top image, embedded videos, word count, reading time, a paywall flag and looksLikeArticle (false for home/section pages). Use it to read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus. It fetches the given URLs and feed items only (no crawling) with plain HTTP, so JavaScript-only pages and hard bot walls return a free failure with the reason. Cost: $0.001 per article extracted; failures are free. Typically 0.5-3 s per URL.
|
| 8 |
|
| 9 |
Use when: read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus.
|
|
@@ -11,7 +9,7 @@ Use when: read, summarise, quote or fact-check links, to find who wrote somethin
|
|
| 11 |
- ID: `cybermax/article-extract` · MCP tool: `cybermax--article-extract` at https://mcp.apify.com/?tools=cybermax/article-extract
|
| 12 |
- HTTP: `POST https://api.apify.com/v2/acts/cybermax~article-extract/run-sync-get-dataset-items` (header `Authorization: Bearer <APIFY_TOKEN>`, body = input JSON, returns a JSON array)
|
| 13 |
- Price: $0.001 per article extracted (pay per event, billed by Apify to the caller's account)
|
| 14 |
-
- Store page: https://apify.com/cybermax/article-extract
|
| 15 |
- Input fields: `urls` (array), `feedUrls` (array), `maxArticlesPerFeed` (integer), `onlyNew` (boolean), `monitorName` (string), `htmlDocuments` (array), `onlyArticles` (boolean), `outputMarkdown` (boolean), `includeHtml` (boolean), `newspaper3kFields` (boolean), `minWords` (integer), `maxConcurrency` (integer), `timeoutSecs` (integer), `retryBlockedWithProxy` (boolean), `proxyConfiguration` (object), `startUrls` (array)
|
| 16 |
- Output fields: `url`, `finalUrl`, `ok`, `title`, `authors`, `publishDate`, `modifiedDate`, `siteName`, `language`, `description`, `section`, `tags`, `topImage`, `images`, `videos`, `text`, `markdown`, `html`, `wordCount`, `readingTimeMinutes`, `looksLikeArticle`, `paywalled`, `canonicalUrl`, `httpStatus`, `fetchedVia`, `ms`, `error`, `extractedAt`
|
| 17 |
- One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.
|
|
|
|
| 2 |
|
| 3 |
> Article extractor API for news, blogs and docs: URLs or HTML in, clean text + Markdown, title, authors, publish date, language, top image, videos and paywall flag out.
|
| 4 |
|
|
|
|
|
|
|
| 5 |
Inkpluck. Article extractor: give URLs of news articles, blog posts or docs pages and get, per URL, the clean article body as Markdown (or plain text) without navigation, ads or footers, plus title, authors, publish and modified dates (ISO 8601), language, site name, tags, top image, embedded videos, word count, reading time, a paywall flag and looksLikeArticle (false for home/section pages). Use it to read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus. It fetches the given URLs and feed items only (no crawling) with plain HTTP, so JavaScript-only pages and hard bot walls return a free failure with the reason. Cost: $0.001 per article extracted; failures are free. Typically 0.5-3 s per URL.
|
| 6 |
|
| 7 |
Use when: read, summarise, quote or fact-check links, to find who wrote something and when, to get the latest posts from RSS/Atom feeds, or to build a RAG corpus.
|
|
|
|
| 9 |
- ID: `cybermax/article-extract` · MCP tool: `cybermax--article-extract` at https://mcp.apify.com/?tools=cybermax/article-extract
|
| 10 |
- HTTP: `POST https://api.apify.com/v2/acts/cybermax~article-extract/run-sync-get-dataset-items` (header `Authorization: Bearer <APIFY_TOKEN>`, body = input JSON, returns a JSON array)
|
| 11 |
- Price: $0.001 per article extracted (pay per event, billed by Apify to the caller's account)
|
| 12 |
+
- Store page: https://apify.com/cybermax/article-extract · OpenAPI: https://cybermax-tools-cybermax.static.hf.space/market/openapi/article-extract.json
|
| 13 |
- Input fields: `urls` (array), `feedUrls` (array), `maxArticlesPerFeed` (integer), `onlyNew` (boolean), `monitorName` (string), `htmlDocuments` (array), `onlyArticles` (boolean), `outputMarkdown` (boolean), `includeHtml` (boolean), `newspaper3kFields` (boolean), `minWords` (integer), `maxConcurrency` (integer), `timeoutSecs` (integer), `retryBlockedWithProxy` (boolean), `proxyConfiguration` (object), `startUrls` (array)
|
| 14 |
- Output fields: `url`, `finalUrl`, `ok`, `title`, `authors`, `publishDate`, `modifiedDate`, `siteName`, `language`, `description`, `section`, `tags`, `topImage`, `images`, `videos`, `text`, `markdown`, `html`, `wordCount`, `readingTimeMinutes`, `looksLikeArticle`, `paywalled`, `canonicalUrl`, `httpStatus`, `fetchedVia`, `ms`, `error`, `extractedAt`
|
| 15 |
- One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.
|
market/tools/bulk-image-downloader.md
CHANGED
|
@@ -2,8 +2,6 @@
|
|
| 2 |
|
| 3 |
> Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image.
|
| 4 |
|
| 5 |
-
**Status: coming soon, not callable yet.**
|
| 6 |
-
|
| 7 |
Picpail. Bulk image downloader: give web page URLs (product pages, galleries, blog posts) and/or direct image URLs; it finds every image (img, srcset, lazy-load data-src, picture, CSS backgrounds, og:image, JSON-LD, linked originals), swaps CDN thumbnails for FULL-SIZE ORIGINALS (Shopify, WordPress, Wikimedia, Cloudinary, Wix, Squarespace, Contentful, imgix), downloads each once, verifies it from its bytes and returns a ZIP link (or one link per file with output="files") plus, per image: real format, width, height, bytes, alt text and where it was found. Filters: minWidth/minHeight, formats, sameDomainOnly, urlPattern. Use it to collect product photos, back up a site's media, build image datasets or audit alt text. Reads server HTML (no browser): JavaScript-only pages return few images. Cost: $0.0005 per image delivered (+$0.0001 per MB above 2 MB for very large files); duplicates and skipped images are free.
|
| 8 |
|
| 9 |
Use when: collect product photos, back up a site's media, build image datasets or audit alt text.
|
|
@@ -11,7 +9,7 @@ Use when: collect product photos, back up a site's media, build image datasets o
|
|
| 11 |
- ID: `cybermax/bulk-image-downloader` · MCP tool: `cybermax--bulk-image-downloader` at https://mcp.apify.com/?tools=cybermax/bulk-image-downloader
|
| 12 |
- HTTP: `POST https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/run-sync-get-dataset-items` (header `Authorization: Bearer <APIFY_TOKEN>`, body = input JSON, returns a JSON array)
|
| 13 |
- Price: $0.0005 per image downloaded + $0.0001 per extra mb of a large image (pay per event, billed by Apify to the caller's account)
|
| 14 |
-
- Store page: https://apify.com/cybermax/bulk-image-downloader
|
| 15 |
- Input fields: `urls` (array, required), `output` (string), `minWidth` (integer), `minHeight` (integer), `formats` (array), `minFileSizeKb` (integer), `maxFileSizeMb` (integer), `urlPattern` (string), `excludeUrlPattern` (string), `sameDomainOnly` (boolean), `dedupe` (boolean), `skipTrackingPixels` (boolean), `upgradeToOriginals` (boolean), `srcset` (string), `includeLinkedImages` (boolean), `includeCssBackgrounds` (boolean), `includeMetaImages` (boolean), `includeIcons` (boolean), `includeDataUris` (boolean), `preferOriginalFormat` (boolean), `fileNaming` (string), `zipPartSizeMb` (integer), `maxImagesPerPage` (integer), `maxImagesTotal` (integer), `pageConcurrency` (integer), `imageConcurrency` (integer), `timeoutSecs` (integer), `proxyConfiguration` (object), `retryWithProxy` (boolean), `monitor` (boolean), `monitorKey` (string)
|
| 16 |
- Output fields: `fileUrl`, `imageUrl`, `pageImageUrl`, `pageUrl`, `format`, `width`, `height`, `bytes`, `extraMegabytes`, `alt`, `source`, `fileName`, `zipUrl`, `sha256`, `pageTitle`, `animated`, `finalUrl`, `via`, `type`, `error`, `httpStatus`
|
| 17 |
- Monitor mode: set "monitor": true on a scheduled run to get only records that changed since the last run.
|
|
@@ -21,7 +19,7 @@ Use when: collect product photos, back up a site's media, build image datasets o
|
|
| 21 |
Example input:
|
| 22 |
|
| 23 |
```json
|
| 24 |
-
{"urls":["https://books.toscrape.com/","
|
| 25 |
```
|
| 26 |
|
| 27 |
Python:
|
|
@@ -29,7 +27,7 @@ Python:
|
|
| 29 |
```python
|
| 30 |
from apify_client import ApifyClient # pip install apify-client
|
| 31 |
client = ApifyClient("<APIFY_TOKEN>")
|
| 32 |
-
run = client.actor("cybermax/bulk-image-downloader").call(run_input={"urls":["https://books.toscrape.com/","
|
| 33 |
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
|
| 34 |
print(item)
|
| 35 |
```
|
|
|
|
| 2 |
|
| 3 |
> Download all images from web pages or image URLs into one ZIP, full-size originals instead of thumbnails: img, srcset, lazy-load, CSS, og:image.
|
| 4 |
|
|
|
|
|
|
|
| 5 |
Picpail. Bulk image downloader: give web page URLs (product pages, galleries, blog posts) and/or direct image URLs; it finds every image (img, srcset, lazy-load data-src, picture, CSS backgrounds, og:image, JSON-LD, linked originals), swaps CDN thumbnails for FULL-SIZE ORIGINALS (Shopify, WordPress, Wikimedia, Cloudinary, Wix, Squarespace, Contentful, imgix), downloads each once, verifies it from its bytes and returns a ZIP link (or one link per file with output="files") plus, per image: real format, width, height, bytes, alt text and where it was found. Filters: minWidth/minHeight, formats, sameDomainOnly, urlPattern. Use it to collect product photos, back up a site's media, build image datasets or audit alt text. Reads server HTML (no browser): JavaScript-only pages return few images. Cost: $0.0005 per image delivered (+$0.0001 per MB above 2 MB for very large files); duplicates and skipped images are free.
|
| 6 |
|
| 7 |
Use when: collect product photos, back up a site's media, build image datasets or audit alt text.
|
|
|
|
| 9 |
- ID: `cybermax/bulk-image-downloader` · MCP tool: `cybermax--bulk-image-downloader` at https://mcp.apify.com/?tools=cybermax/bulk-image-downloader
|
| 10 |
- HTTP: `POST https://api.apify.com/v2/acts/cybermax~bulk-image-downloader/run-sync-get-dataset-items` (header `Authorization: Bearer <APIFY_TOKEN>`, body = input JSON, returns a JSON array)
|
| 11 |
- Price: $0.0005 per image downloaded + $0.0001 per extra mb of a large image (pay per event, billed by Apify to the caller's account)
|
| 12 |
+
- Store page: https://apify.com/cybermax/bulk-image-downloader · OpenAPI: https://cybermax-tools-cybermax.static.hf.space/market/openapi/bulk-image-downloader.json
|
| 13 |
- Input fields: `urls` (array, required), `output` (string), `minWidth` (integer), `minHeight` (integer), `formats` (array), `minFileSizeKb` (integer), `maxFileSizeMb` (integer), `urlPattern` (string), `excludeUrlPattern` (string), `sameDomainOnly` (boolean), `dedupe` (boolean), `skipTrackingPixels` (boolean), `upgradeToOriginals` (boolean), `srcset` (string), `includeLinkedImages` (boolean), `includeCssBackgrounds` (boolean), `includeMetaImages` (boolean), `includeIcons` (boolean), `includeDataUris` (boolean), `preferOriginalFormat` (boolean), `fileNaming` (string), `zipPartSizeMb` (integer), `maxImagesPerPage` (integer), `maxImagesTotal` (integer), `pageConcurrency` (integer), `imageConcurrency` (integer), `timeoutSecs` (integer), `proxyConfiguration` (object), `retryWithProxy` (boolean), `monitor` (boolean), `monitorKey` (string)
|
| 14 |
- Output fields: `fileUrl`, `imageUrl`, `pageImageUrl`, `pageUrl`, `format`, `width`, `height`, `bytes`, `extraMegabytes`, `alt`, `source`, `fileName`, `zipUrl`, `sha256`, `pageTitle`, `animated`, `finalUrl`, `via`, `type`, `error`, `httpStatus`
|
| 15 |
- Monitor mode: set "monitor": true on a scheduled run to get only records that changed since the last run.
|
|
|
|
| 19 |
Example input:
|
| 20 |
|
| 21 |
```json
|
| 22 |
+
{"urls":["https://books.toscrape.com/"],"output":"list","formats":["jpeg","png","webp"],"minWidth":100}
|
| 23 |
```
|
| 24 |
|
| 25 |
Python:
|
|
|
|
| 27 |
```python
|
| 28 |
from apify_client import ApifyClient # pip install apify-client
|
| 29 |
client = ApifyClient("<APIFY_TOKEN>")
|
| 30 |
+
run = client.actor("cybermax/bulk-image-downloader").call(run_input={"urls":["https://books.toscrape.com/"],"output":"list","formats":["jpeg","png","webp"],"minWidth":100})
|
| 31 |
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
|
| 32 |
print(item)
|
| 33 |
```
|
market/tools/company-to-domain.md
CHANGED
|
@@ -21,7 +21,7 @@ Use when: Use it before any tool that needs a domain (logos, tech stack, contact
|
|
| 21 |
Example input:
|
| 22 |
|
| 23 |
```json
|
| 24 |
-
{"companies":["
|
| 25 |
```
|
| 26 |
|
| 27 |
Python:
|
|
@@ -29,7 +29,7 @@ Python:
|
|
| 29 |
```python
|
| 30 |
from apify_client import ApifyClient # pip install apify-client
|
| 31 |
client = ApifyClient("<APIFY_TOKEN>")
|
| 32 |
-
run = client.actor("cybermax/company-to-domain").call(run_input={"companies":["
|
| 33 |
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
|
| 34 |
print(item)
|
| 35 |
```
|
|
|
|
| 21 |
Example input:
|
| 22 |
|
| 23 |
```json
|
| 24 |
+
{"companies":["Hiscox","Octopus Energy","Revolut Ltd."],"country":"gb","minConfidence":0.8}
|
| 25 |
```
|
| 26 |
|
| 27 |
Python:
|
|
|
|
| 29 |
```python
|
| 30 |
from apify_client import ApifyClient # pip install apify-client
|
| 31 |
client = ApifyClient("<APIFY_TOKEN>")
|
| 32 |
+
run = client.actor("cybermax/company-to-domain").call(run_input={"companies":["Hiscox","Octopus Energy","Revolut Ltd."],"country":"gb","minConfidence":0.8})
|
| 33 |
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
|
| 34 |
print(item)
|
| 35 |
```
|
market/tools/send-email.md
CHANGED
|
@@ -2,8 +2,6 @@
|
|
| 2 |
|
| 3 |
> Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status.
|
| 4 |
|
| 5 |
-
**Status: coming soon, not callable yet.**
|
| 6 |
-
|
| 7 |
Sendfinch. Sends an email (HTML and/or plain text, cc/bcc, reply-to, attachments by URL or text) from the user's configured sender address through their own SMTP server, Resend, SendGrid, Mailgun or Postmark account. Returns, per email, ok, the provider message ID, the SMTP/HTTP response, refused recipients and a readable error. Use dry_run: true first to show the user the rendered email without sending (free). Only email people who expect it (the user, their team, their customers); never cold or bulk marketing. Cost: $0.001 per recipient accepted; failures and dry runs are free. Typically 3-6 s.
|
| 8 |
|
| 9 |
Not for: Only email people who expect it (the user, their team, their customers); never cold or bulk marketing.
|
|
@@ -11,7 +9,7 @@ Not for: Only email people who expect it (the user, their team, their customers)
|
|
| 11 |
- ID: `cybermax/send-email` · MCP tool: `cybermax--send-email` at https://mcp.apify.com/?tools=cybermax/send-email
|
| 12 |
- HTTP: `POST https://api.apify.com/v2/acts/cybermax~send-email/run-sync-get-dataset-items` (header `Authorization: Bearer <APIFY_TOKEN>`, body = input JSON, returns a JSON array)
|
| 13 |
- Price: $0.001 per email sent (pay per event, billed by Apify to the caller's account)
|
| 14 |
-
- Store page: https://apify.com/cybermax/send-email
|
| 15 |
- Input fields: `provider` (string), `from` (string), `to` (string), `subject` (string), `html` (string), `text` (string), `mode` (string), `datasetId` (string), `items` (array), `toField` (string), `nameField` (string), `digestFields` (array), `digestTitle` (string), `maxDigestRows` (integer), `attachCsv` (boolean), `skipIfEmpty` (boolean), `maxItems` (integer), `onlyNew` (boolean), `monitorName` (string), `idField` (string), `messages` (array), `variables` (object), `sendSeparately` (boolean), `cc` (string), `bcc` (string), `replyTo` (string), `attachments` (array), `keyValueStoreId` (string), `headers` (object), `unsubscribeUrl` (string), `smtpHost` (string), `smtpPort` (integer), `smtpSecure` (boolean), `smtpUser` (string), `smtpPassword` (string), `smtpAllowSelfSigned` (boolean), `apiKey` (string), `mailgunDomain` (string), `region` (string), `postmarkStream` (string), `dryRun` (boolean), `maxEmails` (integer), `maxConcurrency` (integer), `delayBetweenEmailsMs` (integer), `autoText` (boolean)
|
| 16 |
- Output fields: `index`, `mode`, `provider`, `ok`, `to`, `cc`, `bcc`, `subject`, `recipients`, `charged`, `messageId`, `status`, `rejected`, `attachments`, `rows`, `dryRun`, `text`, `html`, `error`, `ms`, `sentAt`
|
| 17 |
- One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.
|
|
|
|
| 2 |
|
| 3 |
> Send email from Apify runs, webhooks and AI agents through your own SMTP, Resend, SendGrid, Mailgun or Postmark: mail merge from datasets, result digests with CSV, attachments, per-recipient status.
|
| 4 |
|
|
|
|
|
|
|
| 5 |
Sendfinch. Sends an email (HTML and/or plain text, cc/bcc, reply-to, attachments by URL or text) from the user's configured sender address through their own SMTP server, Resend, SendGrid, Mailgun or Postmark account. Returns, per email, ok, the provider message ID, the SMTP/HTTP response, refused recipients and a readable error. Use dry_run: true first to show the user the rendered email without sending (free). Only email people who expect it (the user, their team, their customers); never cold or bulk marketing. Cost: $0.001 per recipient accepted; failures and dry runs are free. Typically 3-6 s.
|
| 6 |
|
| 7 |
Not for: Only email people who expect it (the user, their team, their customers); never cold or bulk marketing.
|
|
|
|
| 9 |
- ID: `cybermax/send-email` · MCP tool: `cybermax--send-email` at https://mcp.apify.com/?tools=cybermax/send-email
|
| 10 |
- HTTP: `POST https://api.apify.com/v2/acts/cybermax~send-email/run-sync-get-dataset-items` (header `Authorization: Bearer <APIFY_TOKEN>`, body = input JSON, returns a JSON array)
|
| 11 |
- Price: $0.001 per email sent (pay per event, billed by Apify to the caller's account)
|
| 12 |
+
- Store page: https://apify.com/cybermax/send-email · OpenAPI: https://cybermax-tools-cybermax.static.hf.space/market/openapi/send-email.json
|
| 13 |
- Input fields: `provider` (string), `from` (string), `to` (string), `subject` (string), `html` (string), `text` (string), `mode` (string), `datasetId` (string), `items` (array), `toField` (string), `nameField` (string), `digestFields` (array), `digestTitle` (string), `maxDigestRows` (integer), `attachCsv` (boolean), `skipIfEmpty` (boolean), `maxItems` (integer), `onlyNew` (boolean), `monitorName` (string), `idField` (string), `messages` (array), `variables` (object), `sendSeparately` (boolean), `cc` (string), `bcc` (string), `replyTo` (string), `attachments` (array), `keyValueStoreId` (string), `headers` (object), `unsubscribeUrl` (string), `smtpHost` (string), `smtpPort` (integer), `smtpSecure` (boolean), `smtpUser` (string), `smtpPassword` (string), `smtpAllowSelfSigned` (boolean), `apiKey` (string), `mailgunDomain` (string), `region` (string), `postmarkStream` (string), `dryRun` (boolean), `maxEmails` (integer), `maxConcurrency` (integer), `delayBetweenEmailsMs` (integer), `autoText` (boolean)
|
| 14 |
- Output fields: `index`, `mode`, `provider`, `ok`, `to`, `cc`, `bcc`, `subject`, `recipients`, `charged`, `messageId`, `status`, `rejected`, `attachments`, `rows`, `dryRun`, `text`, `html`, `error`, `ms`, `sentAt`
|
| 15 |
- One record per input item; invalid or unresolvable inputs are returned with an error field and are not charged unless the pricing says otherwise.
|