@nordsym/apiclaw 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/STATUS.md +1 -1
  2. package/dist/credentials.d.ts.map +1 -1
  3. package/dist/credentials.js +26 -0
  4. package/dist/credentials.js.map +1 -1
  5. package/dist/execute.d.ts.map +1 -1
  6. package/dist/execute.js +162 -0
  7. package/dist/execute.js.map +1 -1
  8. package/dist/index.js +2 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/proxy.d.ts.map +1 -1
  11. package/dist/proxy.js +1 -1
  12. package/dist/proxy.js.map +1 -1
  13. package/dist/registry/apis.json +1 -116054
  14. package/landing/src/app/docs/page.tsx +300 -0
  15. package/landing/src/app/page.tsx +1 -1
  16. package/landing/src/lib/apis.json +1 -116054
  17. package/landing/src/lib/stats.json +4 -4
  18. package/package.json +1 -1
  19. package/scripts/add-public-apis.py +625 -0
  20. package/scripts/apisguru-data.json +158837 -0
  21. package/scripts/bonus-batch.py +250 -0
  22. package/scripts/bulk-add-apisguru.js +122 -0
  23. package/scripts/expand-2026-batch.py +335 -0
  24. package/scripts/expand-from-github.py +460 -0
  25. package/scripts/expand-n4ze3m.py +198 -0
  26. package/scripts/expand-niche-batch.py +269 -0
  27. package/scripts/expand-nordic-niche.py +189 -0
  28. package/scripts/expand-tonnyL.py +343 -0
  29. package/scripts/final-batch.py +315 -0
  30. package/scripts/final-push-06.py +242 -0
  31. package/scripts/mega-expansion.py +495 -0
  32. package/scripts/mega-final-06.py +512 -0
  33. package/scripts/more-apis.py +353 -0
  34. package/scripts/night-batch-05.py +546 -0
  35. package/scripts/night-batch-05b.py +427 -0
  36. package/scripts/night-expansion-06.py +325 -0
  37. package/scripts/night-expansion.py +441 -0
  38. package/scripts/super-final-06.py +341 -0
  39. package/src/credentials.ts +28 -0
  40. package/src/execute.ts +193 -0
  41. package/src/index.ts +2 -1
  42. package/src/proxy.ts +1 -1
  43. package/src/registry/apis.json +1 -116054
@@ -0,0 +1,300 @@
1
+ 'use client';
2
+
3
+ import Link from 'next/link';
4
+
5
+ export default function DocsPage() {
6
+ return (
7
+ <div className="min-h-screen bg-[#0a0a0f] text-gray-100">
8
+ {/* Header */}
9
+ <header className="border-b border-white/10 bg-[#0a0a0f]/80 backdrop-blur-xl sticky top-0 z-50">
10
+ <div className="max-w-6xl mx-auto px-6 py-4 flex items-center justify-between">
11
+ <Link href="/" className="flex items-center gap-3 group">
12
+ <span className="text-2xl">🦞</span>
13
+ <span className="text-xl font-bold bg-gradient-to-r from-red-400 to-orange-400 bg-clip-text text-transparent">
14
+ APIClaw
15
+ </span>
16
+ </Link>
17
+ <nav className="flex items-center gap-6">
18
+ <Link href="/" className="text-gray-400 hover:text-white transition-colors">Home</Link>
19
+ <Link href="/providers" className="text-gray-400 hover:text-white transition-colors">Providers</Link>
20
+ <a
21
+ href="https://github.com/nordsym/apiclaw"
22
+ target="_blank"
23
+ className="text-gray-400 hover:text-white transition-colors"
24
+ >
25
+ GitHub
26
+ </a>
27
+ </nav>
28
+ </div>
29
+ </header>
30
+
31
+ <div className="max-w-4xl mx-auto px-6 py-16">
32
+ {/* Hero */}
33
+ <div className="mb-16">
34
+ <h1 className="text-4xl md:text-5xl font-bold mb-4">
35
+ <span className="bg-gradient-to-r from-red-400 via-orange-400 to-yellow-400 bg-clip-text text-transparent">
36
+ Documentation
37
+ </span>
38
+ </h1>
39
+ <p className="text-xl text-gray-400">
40
+ Everything you need to integrate APIClaw into your AI agent.
41
+ </p>
42
+ </div>
43
+
44
+ {/* Quick Start */}
45
+ <section className="mb-16">
46
+ <h2 className="text-2xl font-bold mb-6 flex items-center gap-3">
47
+ <span className="text-red-400">⚡</span> Quick Start
48
+ </h2>
49
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6 mb-6">
50
+ <p className="text-gray-400 mb-4">Get running in 30 seconds:</p>
51
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
52
+ <code className="text-sm">
53
+ <span className="text-gray-500"># Run directly with npx</span>{'\n'}
54
+ <span className="text-green-400">npx</span> <span className="text-orange-400">@nordsym/apiclaw</span>{'\n\n'}
55
+ <span className="text-gray-500"># Or install globally</span>{'\n'}
56
+ <span className="text-green-400">npm</span> install -g <span className="text-orange-400">@nordsym/apiclaw</span>{'\n'}
57
+ <span className="text-green-400">apiclaw</span>
58
+ </code>
59
+ </pre>
60
+ </div>
61
+ <p className="text-gray-400">
62
+ APIClaw runs as an MCP server. Add it to your Claude Desktop, Cursor, or any MCP-compatible client.
63
+ </p>
64
+ </section>
65
+
66
+ {/* MCP Config */}
67
+ <section className="mb-16">
68
+ <h2 className="text-2xl font-bold mb-6 flex items-center gap-3">
69
+ <span className="text-red-400">⚙️</span> MCP Configuration
70
+ </h2>
71
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
72
+ <p className="text-gray-400 mb-4">Add to your MCP config (e.g., Claude Desktop):</p>
73
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
74
+ <code className="text-sm">
75
+ {`{
76
+ "mcpServers": {
77
+ "apiclaw": {
78
+ "command": "npx",
79
+ "args": ["@nordsym/apiclaw"]
80
+ }
81
+ }
82
+ }`}
83
+ </code>
84
+ </pre>
85
+ </div>
86
+ </section>
87
+
88
+ {/* Tools Reference */}
89
+ <section className="mb-16">
90
+ <h2 className="text-2xl font-bold mb-6 flex items-center gap-3">
91
+ <span className="text-red-400">🔧</span> Tools Reference
92
+ </h2>
93
+
94
+ <div className="space-y-6">
95
+ {/* apiclaw_help */}
96
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
97
+ <h3 className="text-lg font-mono text-orange-400 mb-2">apiclaw_help</h3>
98
+ <p className="text-gray-400 mb-4">Get help and see all available commands. Start here if you&apos;re new.</p>
99
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
100
+ <code className="text-sm text-gray-300">apiclaw_help()</code>
101
+ </pre>
102
+ </div>
103
+
104
+ {/* discover_apis */}
105
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
106
+ <h3 className="text-lg font-mono text-orange-400 mb-2">discover_apis</h3>
107
+ <p className="text-gray-400 mb-4">Search 10,000+ APIs using natural language.</p>
108
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
109
+ <code className="text-sm">
110
+ <span className="text-purple-400">discover_apis</span>({'{\n'}
111
+ {" "}<span className="text-blue-400">query</span>: <span className="text-green-400">&quot;send SMS to Sweden&quot;</span>,{'\n'}
112
+ {" "}<span className="text-blue-400">max_results</span>: <span className="text-yellow-400">5</span>{'\n'}
113
+ {'}'})
114
+ </code>
115
+ </pre>
116
+ <div className="mt-4 text-sm text-gray-500">
117
+ <strong>Parameters:</strong>
118
+ <ul className="list-disc list-inside mt-2 space-y-1">
119
+ <li><code className="text-orange-400">query</code> — Natural language description</li>
120
+ <li><code className="text-orange-400">category</code> — Filter: communication, search, ai</li>
121
+ <li><code className="text-orange-400">max_results</code> — Number of results (default: 5)</li>
122
+ <li><code className="text-orange-400">region</code> — Filter by region (e.g., &quot;sweden&quot;)</li>
123
+ </ul>
124
+ </div>
125
+ </div>
126
+
127
+ {/* get_api_details */}
128
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
129
+ <h3 className="text-lg font-mono text-orange-400 mb-2">get_api_details</h3>
130
+ <p className="text-gray-400 mb-4">Get detailed information about a specific API.</p>
131
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
132
+ <code className="text-sm">
133
+ <span className="text-purple-400">get_api_details</span>({'{\n'}
134
+ {" "}<span className="text-blue-400">api_id</span>: <span className="text-green-400">&quot;46elks&quot;</span>{'\n'}
135
+ {'}'})
136
+ </code>
137
+ </pre>
138
+ </div>
139
+
140
+ {/* get_connected_providers */}
141
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
142
+ <h3 className="text-lg font-mono text-orange-400 mb-2">get_connected_providers</h3>
143
+ <p className="text-gray-400 mb-4">List all instant-connect providers (no API key needed).</p>
144
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
145
+ <code className="text-sm text-gray-300">get_connected_providers()</code>
146
+ </pre>
147
+ <div className="mt-4 text-sm text-gray-500">
148
+ <strong>Currently available:</strong>
149
+ <ul className="list-disc list-inside mt-2 space-y-1">
150
+ <li><code className="text-orange-400">brave_search</code> — Web search</li>
151
+ <li><code className="text-orange-400">46elks</code> — SMS (Sweden)</li>
152
+ <li><code className="text-orange-400">twilio</code> — SMS (Global)</li>
153
+ <li><code className="text-orange-400">resend</code> — Email</li>
154
+ <li><code className="text-orange-400">openrouter</code> — LLM routing</li>
155
+ <li><code className="text-orange-400">elevenlabs</code> — Text-to-speech</li>
156
+ </ul>
157
+ </div>
158
+ </div>
159
+
160
+ {/* call_api */}
161
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
162
+ <h3 className="text-lg font-mono text-orange-400 mb-2">call_api</h3>
163
+ <p className="text-gray-400 mb-4">Execute an API call through an instant-connect provider.</p>
164
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
165
+ <code className="text-sm">
166
+ <span className="text-purple-400">call_api</span>({'{\n'}
167
+ {" "}<span className="text-blue-400">provider</span>: <span className="text-green-400">&quot;brave_search&quot;</span>,{'\n'}
168
+ {" "}<span className="text-blue-400">endpoint</span>: <span className="text-green-400">&quot;search&quot;</span>,{'\n'}
169
+ {" "}<span className="text-blue-400">params</span>: {'{ '}<span className="text-blue-400">q</span>: <span className="text-green-400">&quot;AI agents 2026&quot;</span>{' }'}{'\n'}
170
+ {'}'})
171
+ </code>
172
+ </pre>
173
+ </div>
174
+
175
+ {/* list_categories */}
176
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
177
+ <h3 className="text-lg font-mono text-orange-400 mb-2">list_categories</h3>
178
+ <p className="text-gray-400 mb-4">Browse all 446 API categories.</p>
179
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
180
+ <code className="text-sm text-gray-300">list_categories()</code>
181
+ </pre>
182
+ </div>
183
+ </div>
184
+ </section>
185
+
186
+ {/* Examples */}
187
+ <section className="mb-16">
188
+ <h2 className="text-2xl font-bold mb-6 flex items-center gap-3">
189
+ <span className="text-red-400">💡</span> Examples
190
+ </h2>
191
+
192
+ <div className="space-y-6">
193
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
194
+ <h3 className="text-lg font-semibold mb-4">Send an SMS</h3>
195
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
196
+ <code className="text-sm">
197
+ <span className="text-gray-500">// Find SMS providers for Sweden</span>{'\n'}
198
+ <span className="text-purple-400">discover_apis</span>({'{ '}<span className="text-blue-400">query</span>: <span className="text-green-400">&quot;send SMS Sweden&quot;</span>{' }'}){'\n\n'}
199
+ <span className="text-gray-500">// Send via instant-connect</span>{'\n'}
200
+ <span className="text-purple-400">call_api</span>({'{\n'}
201
+ {" "}<span className="text-blue-400">provider</span>: <span className="text-green-400">&quot;46elks&quot;</span>,{'\n'}
202
+ {" "}<span className="text-blue-400">endpoint</span>: <span className="text-green-400">&quot;sms&quot;</span>,{'\n'}
203
+ {" "}<span className="text-blue-400">params</span>: {'{\n'}
204
+ {" "}<span className="text-blue-400">to</span>: <span className="text-green-400">&quot;+46701234567&quot;</span>,{'\n'}
205
+ {" "}<span className="text-blue-400">message</span>: <span className="text-green-400">&quot;Hello from APIClaw!&quot;</span>{'\n'}
206
+ {" }"}{'\n'}
207
+ {'}'})
208
+ </code>
209
+ </pre>
210
+ </div>
211
+
212
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
213
+ <h3 className="text-lg font-semibold mb-4">Search the web</h3>
214
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
215
+ <code className="text-sm">
216
+ <span className="text-purple-400">call_api</span>({'{\n'}
217
+ {" "}<span className="text-blue-400">provider</span>: <span className="text-green-400">&quot;brave_search&quot;</span>,{'\n'}
218
+ {" "}<span className="text-blue-400">endpoint</span>: <span className="text-green-400">&quot;search&quot;</span>,{'\n'}
219
+ {" "}<span className="text-blue-400">params</span>: {'{ '}<span className="text-blue-400">q</span>: <span className="text-green-400">&quot;best MCP servers 2026&quot;</span>{' }'}{'\n'}
220
+ {'}'})
221
+ </code>
222
+ </pre>
223
+ </div>
224
+
225
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
226
+ <h3 className="text-lg font-semibold mb-4">Generate speech</h3>
227
+ <pre className="bg-black/50 rounded-lg p-4 overflow-x-auto">
228
+ <code className="text-sm">
229
+ <span className="text-purple-400">call_api</span>({'{\n'}
230
+ {" "}<span className="text-blue-400">provider</span>: <span className="text-green-400">&quot;elevenlabs&quot;</span>,{'\n'}
231
+ {" "}<span className="text-blue-400">endpoint</span>: <span className="text-green-400">&quot;tts&quot;</span>,{'\n'}
232
+ {" "}<span className="text-blue-400">params</span>: {'{\n'}
233
+ {" "}<span className="text-blue-400">text</span>: <span className="text-green-400">&quot;Hello, I am an AI agent!&quot;</span>,{'\n'}
234
+ {" "}<span className="text-blue-400">voice</span>: <span className="text-green-400">&quot;adam&quot;</span>{'\n'}
235
+ {" }"}{'\n'}
236
+ {'}'})
237
+ </code>
238
+ </pre>
239
+ </div>
240
+ </div>
241
+ </section>
242
+
243
+ {/* For Providers */}
244
+ <section className="mb-16">
245
+ <h2 className="text-2xl font-bold mb-6 flex items-center gap-3">
246
+ <span className="text-red-400">🤝</span> For API Providers
247
+ </h2>
248
+ <div className="bg-gradient-to-r from-red-500/10 to-orange-500/10 border border-red-500/20 rounded-xl p-6">
249
+ <p className="text-gray-300 mb-4">
250
+ Want your API discoverable by 1000s of AI agents? Join APIClaw as a provider.
251
+ </p>
252
+ <ul className="list-disc list-inside text-gray-400 space-y-2 mb-6">
253
+ <li>Get discovered by AI agents searching for your capabilities</li>
254
+ <li>Direct Connect integration — agents use your API instantly</li>
255
+ <li>Analytics dashboard — see how agents use your API</li>
256
+ <li>Revenue share on premium tiers</li>
257
+ </ul>
258
+ <Link
259
+ href="/providers/register"
260
+ className="inline-flex items-center gap-2 px-6 py-3 bg-gradient-to-r from-red-500 to-orange-500 rounded-lg font-semibold hover:opacity-90 transition-opacity"
261
+ >
262
+ Register as Provider →
263
+ </Link>
264
+ </div>
265
+ </section>
266
+
267
+ {/* Support */}
268
+ <section>
269
+ <h2 className="text-2xl font-bold mb-6 flex items-center gap-3">
270
+ <span className="text-red-400">💬</span> Support
271
+ </h2>
272
+ <div className="bg-[#12121a] border border-white/10 rounded-xl p-6">
273
+ <p className="text-gray-400 mb-4">Need help? Reach out:</p>
274
+ <ul className="space-y-2 text-gray-300">
275
+ <li>
276
+ <strong>Telegram:</strong>{' '}
277
+ <a href="https://t.me/SymbotAPI_bot" className="text-orange-400 hover:underline">@SymbotAPI_bot</a>
278
+ </li>
279
+ <li>
280
+ <strong>GitHub:</strong>{' '}
281
+ <a href="https://github.com/nordsym/apiclaw/issues" className="text-orange-400 hover:underline">Issues</a>
282
+ </li>
283
+ <li>
284
+ <strong>Email:</strong>{' '}
285
+ <a href="mailto:gustav@nordsym.com" className="text-orange-400 hover:underline">gustav@nordsym.com</a>
286
+ </li>
287
+ </ul>
288
+ </div>
289
+ </section>
290
+ </div>
291
+
292
+ {/* Footer */}
293
+ <footer className="border-t border-white/10 py-8 mt-16">
294
+ <div className="max-w-6xl mx-auto px-6 text-center text-gray-500">
295
+ <p>🦞 APIClaw by <a href="https://nordsym.com" className="text-orange-400 hover:underline">NordSym</a></p>
296
+ </div>
297
+ </footer>
298
+ </div>
299
+ );
300
+ }
@@ -777,7 +777,7 @@ export default function Home() {
777
777
  <li><a href="#for-providers" className="hover:text-text-primary transition">For Providers</a></li>
778
778
  <li><a href="/providers/dashboard" className="hover:text-text-primary transition">Provider Dashboard</a></li>
779
779
  <li><a href="#pricing" className="hover:text-text-primary transition">Pricing</a></li>
780
- <li><a href="https://github.com/nordsym/apiclaw#installation" target="_blank" rel="noopener noreferrer" className="hover:text-text-primary transition">Documentation</a></li>
780
+ <li><a href="/docs" className="hover:text-text-primary transition">Documentation</a></li>
781
781
  </ul>
782
782
  </div>
783
783