CyberMax-tools commited on
Commit
eb4866f
·
verified ·
1 Parent(s): e4df055

AI Product Market refresh (2026-09-25 14:56 UTC)

Browse files
.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-25T12:11:12.584Z",
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": 10,
21
- "comingSoon": 15,
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": "coming_soon",
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 token (the caller's own Apify account)."
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": null,
 
 
 
 
 
 
1427
  "related": [],
1428
  "economy": {
1429
  "markets": [
@@ -2006,7 +2020,7 @@
2006
  {
2007
  "id": "cybermax/bulk-image-downloader",
2008
  "kind": "api_tool",
2009
- "status": "coming_soon",
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 token (the caller's own Apify account)."
2479
  },
2480
  "examples": [
2481
  {
2482
- "name": "default first try",
2483
  "input": {
2484
  "urls": [
2485
- "https://books.toscrape.com/",
2486
- "https://www.gstatic.com/webp/gallery/1.webp"
2487
  ],
2488
- "minWidth": 100,
2489
- "minHeight": 100,
2490
- "proxyConfiguration": {
2491
- "useApifyProxy": false
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/\",\"https://www.gstatic.com/webp/gallery/1.webp\"],\"minWidth\":100,\"minHeight\":100,\"proxyConfiguration\":{\"useApifyProxy\":false}}'",
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/\",\"https://www.gstatic.com/webp/gallery/1.webp\"],\"minWidth\":100,\"minHeight\":100,\"proxyConfiguration\":{\"useApifyProxy\":False}})\nfor item in client.dataset(run[\"defaultDatasetId\"]).iterate_items():\n print(item)",
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/\",\"https://www.gstatic.com/webp/gallery/1.webp\"],\"minWidth\":100,\"minHeight\":100,\"proxyConfiguration\":{\"useApifyProxy\":false}});\nconst { items } = await client.dataset(run.defaultDatasetId).listItems();",
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": null,
 
 
 
 
 
 
2518
  "related": [],
2519
  "economy": {
2520
  "markets": [
@@ -4347,20 +4372,22 @@
4347
  },
4348
  "examples": [
4349
  {
4350
- "name": "default first try",
4351
  "input": {
4352
  "companies": [
4353
- "Stripe",
4354
- "Acme Brick Company",
4355
- "Monzo Bank | gb"
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\":[\"Stripe\",\"Acme Brick Company\",\"Monzo Bank | gb\"]}'",
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\":[\"Stripe\",\"Acme Brick Company\",\"Monzo Bank | gb\"]})\nfor item in client.dataset(run[\"defaultDatasetId\"]).iterate_items():\n print(item)",
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\":[\"Stripe\",\"Acme Brick Company\",\"Monzo Bank | gb\"]});\nconst { items } = await client.dataset(run.defaultDatasetId).listItems();",
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": "coming_soon",
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 token (the caller's own Apify account)."
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": null,
 
 
 
 
 
 
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-25T08:28:55.000Z"
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-25T08:28:55.000Z"
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-25T08:28:56.000Z"
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-25T08:28:57.000Z"
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-25T06:41:44.000Z"
16451
  },
16452
  "related": [],
16453
  "economy": {
@@ -17808,7 +17845,7 @@
17808
  "source": "Hugging Face API",
17809
  "likes": 0,
17810
  "downloads30d": 0,
17811
- "lastModified": "2026-09-25T06:41:54.000Z"
17812
  },
17813
  "related": [],
17814
  "economy": {
@@ -17993,7 +18030,7 @@
17993
  "source": "Hugging Face API",
17994
  "likes": 0,
17995
  "downloads30d": 0,
17996
- "lastModified": "2026-09-25T06:41:56.000Z"
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-25T12:11:12.584Z",
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-25T08:28:55.000Z"
577
  },
578
  {
579
  "id": "CyberMax-tools/saas-email-security-snapshot",
@@ -693,7 +791,7 @@
693
  "configs": [
694
  "default"
695
  ],
696
- "lastModified": "2026-09-25T08:28:55.000Z"
697
  },
698
  {
699
  "id": "CyberMax-tools/kevscope-cve-kev-epss-daily",
@@ -735,7 +833,7 @@
735
  "recent",
736
  "epss"
737
  ],
738
- "lastModified": "2026-09-25T08:28:56.000Z"
739
  },
740
  {
741
  "id": "CyberMax-tools/tickerbell-sec-8k-events",
@@ -800,7 +898,7 @@
800
  "configs": [
801
  "default"
802
  ],
803
- "lastModified": "2026-09-25T08:28:57.000Z"
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-25T06:41:44.000Z"
1145
  },
1146
  {
1147
  "id": "CyberMax-tools/swellmeter-google-trending-searches",
@@ -1407,7 +1505,7 @@
1407
  "recalls",
1408
  "vehicles"
1409
  ],
1410
- "lastModified": "2026-09-25T06:41:54.000Z"
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-25T06:41:56.000Z"
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: 10 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-25T12:11:12.584Z.
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: 10 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-25T12:11:12.584Z.
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/","https://www.gstatic.com/webp/gallery/1.webp"],"minWidth":100,"minHeight":100,"proxyConfiguration":{"useApifyProxy":false}}
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/","https://www.gstatic.com/webp/gallery/1.webp"],"minWidth":100,"minHeight":100,"proxyConfiguration":{"useApifyProxy":False}})
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":["Stripe","Acme Brick Company","Monzo Bank | gb"]}
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":["Stripe","Acme Brick Company","Monzo Bank | gb"]})
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.