@nordsym/apiclaw 1.0.0 → 1.1.1
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.
- package/AGENTS.md +74 -0
- package/HEARTBEAT.md +4 -0
- package/IDENTITY.md +22 -0
- package/README.md +193 -202
- package/SOUL.md +36 -0
- package/STATUS.md +237 -0
- package/TOOLS.md +36 -0
- package/USER.md +17 -0
- package/{backend/convex → convex}/_generated/api.d.ts +12 -6
- package/convex/analytics.ts +90 -0
- package/convex/credits.ts +211 -0
- package/convex/http.ts +578 -0
- package/convex/providers.ts +516 -0
- package/convex/purchases.ts +183 -0
- package/convex/ratelimit.ts +104 -0
- package/convex/schema.ts +220 -0
- package/convex/telemetry.ts +81 -0
- package/convex.json +3 -0
- package/dist/credentials.d.ts +19 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +158 -0
- package/dist/credentials.js.map +1 -0
- package/dist/credits.d.ts +14 -11
- package/dist/credits.d.ts.map +1 -1
- package/dist/credits.js +151 -99
- package/dist/credits.js.map +1 -1
- package/dist/discovery.d.ts +7 -16
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +33 -40
- package/dist/discovery.js.map +1 -1
- package/dist/execute.d.ts +19 -0
- package/dist/execute.d.ts.map +1 -0
- package/dist/execute.js +285 -0
- package/dist/execute.js.map +1 -0
- package/dist/index.js +175 -31
- package/dist/index.js.map +1 -1
- package/dist/proxy.d.ts +6 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +19 -0
- package/dist/proxy.js.map +1 -0
- package/dist/registry/apis.json +95362 -202
- package/dist/registry/apis_expanded.json +100853 -0
- package/dist/stripe.d.ts +68 -0
- package/dist/stripe.d.ts.map +1 -0
- package/dist/stripe.js +196 -0
- package/dist/stripe.js.map +1 -0
- package/dist/telemetry.d.ts +28 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +50 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/test.d.ts +3 -2
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +105 -75
- package/dist/test.js.map +1 -1
- package/dist/types.d.ts +0 -28
- package/dist/types.d.ts.map +1 -1
- package/dist/webhook.d.ts +2 -0
- package/dist/webhook.d.ts.map +1 -0
- package/dist/webhook.js +90 -0
- package/dist/webhook.js.map +1 -0
- package/landing/DESIGN.md +343 -0
- package/landing/package-lock.json +1196 -7
- package/landing/package.json +5 -1
- package/landing/public/android-chrome-192x192.png +0 -0
- package/landing/public/android-chrome-512x512.png +0 -0
- package/landing/public/apple-touch-icon.png +0 -0
- package/landing/public/demo.gif +0 -0
- package/landing/public/demo.mp4 +0 -0
- package/landing/public/favicon-16x16.png +0 -0
- package/landing/public/favicon-32x32.png +0 -0
- package/landing/public/favicon.ico +0 -0
- package/landing/public/favicon.svg +3 -0
- package/landing/public/icon.svg +47 -0
- package/landing/public/logo-mono.svg +37 -0
- package/landing/public/logo-simple.svg +45 -0
- package/landing/public/logo.svg +84 -0
- package/landing/public/og-template.html +184 -0
- package/landing/public/site.webmanifest +31 -0
- package/landing/scripts/generate-assets.js +284 -0
- package/landing/scripts/generate-pngs.js +48 -0
- package/landing/scripts/generate-stats.js +42 -0
- package/landing/src/app/admin/page.tsx +348 -0
- package/landing/src/app/api/auth/magic-link/route.ts +73 -0
- package/landing/src/app/api/auth/session/route.ts +38 -0
- package/landing/src/app/api/auth/verify/route.ts +43 -0
- package/landing/src/app/api/og/route.tsx +84 -0
- package/landing/src/app/globals.css +439 -100
- package/landing/src/app/layout.tsx +37 -7
- package/landing/src/app/page.tsx +627 -552
- package/landing/src/app/providers/dashboard/login/page.tsx +176 -0
- package/landing/src/app/providers/dashboard/page.tsx +589 -0
- package/landing/src/app/providers/dashboard/verify/page.tsx +106 -0
- package/landing/src/app/providers/layout.tsx +14 -0
- package/landing/src/app/providers/page.tsx +402 -0
- package/landing/src/app/providers/register/page.tsx +670 -0
- package/landing/src/components/ProviderDashboard.tsx +794 -0
- package/landing/src/hooks/useDashboardData.ts +99 -0
- package/landing/src/lib/apis.json +116054 -0
- package/landing/src/lib/convex-client.ts +106 -0
- package/landing/src/lib/mock-data.ts +285 -0
- package/landing/src/lib/stats.json +6 -0
- package/landing/tailwind.config.ts +12 -11
- package/landing/tsconfig.tsbuildinfo +1 -0
- package/package.json +21 -20
- package/scripts/SYMBOT-FIX.md +238 -0
- package/scripts/demo-simulation.py +177 -0
- package/scripts/expand-more.py +502 -0
- package/scripts/expand-registry.py +434 -0
- package/scripts/history-sanitizer.ts +272 -0
- package/scripts/mass-scrape.py +1308 -0
- package/scripts/sync-and-deploy.sh +36 -0
- package/src/credentials.ts +177 -0
- package/src/credits.ts +190 -122
- package/src/discovery.ts +45 -58
- package/src/execute.ts +350 -0
- package/src/index.ts +184 -32
- package/src/proxy.ts +24 -0
- package/src/registry/apis.json +95362 -202
- package/src/registry/apis_expanded.json +100853 -0
- package/src/stripe.ts +243 -0
- package/src/telemetry.ts +71 -0
- package/src/test.ts +127 -89
- package/src/types.ts +0 -34
- package/src/webhook.ts +107 -0
- package/.github/ISSUE_TEMPLATE/add-api.yml +0 -123
- package/BRIEFING.md +0 -30
- package/backend/convex/apiKeys.ts +0 -75
- package/backend/convex/purchases.ts +0 -74
- package/backend/convex/schema.ts +0 -45
- package/backend/convex/transactions.ts +0 -57
- package/backend/convex/users.ts +0 -94
- package/backend/package-lock.json +0 -521
- package/backend/package.json +0 -15
- package/dist/registry/parse_apis.py +0 -146
- package/dist/revenuecat.d.ts +0 -61
- package/dist/revenuecat.d.ts.map +0 -1
- package/dist/revenuecat.js +0 -166
- package/dist/revenuecat.js.map +0 -1
- package/dist/webhooks/revenuecat.d.ts +0 -48
- package/dist/webhooks/revenuecat.d.ts.map +0 -1
- package/dist/webhooks/revenuecat.js +0 -119
- package/dist/webhooks/revenuecat.js.map +0 -1
- package/docs/revenuecat-setup.md +0 -89
- package/landing/src/app/api/keys/route.ts +0 -71
- package/landing/src/app/api/log/route.ts +0 -37
- package/landing/src/app/api/stats/route.ts +0 -37
- package/landing/src/app/page.tsx.bak +0 -567
- package/landing/src/components/AddKeyModal.tsx +0 -159
- package/newsletter-template.html +0 -71
- package/outreach/OUTREACH-SYSTEM.md +0 -211
- package/outreach/email-template.html +0 -179
- package/outreach/targets.md +0 -133
- package/src/registry/parse_apis.py +0 -146
- package/src/revenuecat.ts +0 -239
- package/src/webhooks/revenuecat.ts +0 -187
- /package/{backend/convex → convex}/README.md +0 -0
- /package/{backend/convex → convex}/_generated/api.js +0 -0
- /package/{backend/convex → convex}/_generated/dataModel.d.ts +0 -0
- /package/{backend/convex → convex}/_generated/server.d.ts +0 -0
- /package/{backend/convex → convex}/_generated/server.js +0 -0
- /package/{backend/convex → convex}/tsconfig.json +0 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# APIClaw Support Agent
|
|
2
|
+
|
|
3
|
+
You are the support agent for APIClaw - The API Layer for Autonomous Agents.
|
|
4
|
+
|
|
5
|
+
## Your Identity
|
|
6
|
+
- Name: APIClaw Support
|
|
7
|
+
- Built by: NordSym (Gustav Hemmingsson)
|
|
8
|
+
- Founder contact: gustav@nordsym.com / +46705292583 / Telegram @HokusPontuz
|
|
9
|
+
|
|
10
|
+
## Key Info
|
|
11
|
+
|
|
12
|
+
**What is APIClaw?**
|
|
13
|
+
An API registry for autonomous agents. Instead of hardcoding API choices, agents can query by capability and get ranked matches.
|
|
14
|
+
|
|
15
|
+
**Quick Start:**
|
|
16
|
+
```bash
|
|
17
|
+
npx @nordsym/apiclaw
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Features:**
|
|
21
|
+
- 4,500+ APIs indexed
|
|
22
|
+
- Search by capability, not product name
|
|
23
|
+
- MCP-native (works with Claude, GPT, any agent)
|
|
24
|
+
- Sub-200ms responses
|
|
25
|
+
- Ranking based on price, region, features
|
|
26
|
+
|
|
27
|
+
**For Agents:**
|
|
28
|
+
- `search_apis` - Find APIs by capability
|
|
29
|
+
- `get_spec` - Get full API specification
|
|
30
|
+
- `compare_apis` - Compare multiple options
|
|
31
|
+
- `purchase_access` - Get API credentials instantly
|
|
32
|
+
|
|
33
|
+
**For Providers:**
|
|
34
|
+
- Register at: apiclaw.nordsym.com/providers
|
|
35
|
+
- **FREE to list** - no cost to be discoverable
|
|
36
|
+
- "Direct Connect" (instant API access) available for discussion
|
|
37
|
+
- Dashboard to track usage
|
|
38
|
+
|
|
39
|
+
## How to Handle Different Users
|
|
40
|
+
|
|
41
|
+
### Random Users / Developers
|
|
42
|
+
- Help them get started with `npx @nordsym/apiclaw`
|
|
43
|
+
- Explain how to search for APIs by capability
|
|
44
|
+
- Point to docs and GitHub
|
|
45
|
+
|
|
46
|
+
### API Providers Wanting to List
|
|
47
|
+
- Listing is FREE
|
|
48
|
+
- Send them to: apiclaw.nordsym.com/providers
|
|
49
|
+
- For deeper integration ("Direct Connect"), connect them with Gustav: gustav@nordsym.com
|
|
50
|
+
|
|
51
|
+
### VIPs / Investors / Press (Jason Calacanis, LAUNCH, etc)
|
|
52
|
+
- Be extra helpful and professional
|
|
53
|
+
- We're pitching at LAUNCH Founder Call on Thursday Feb 26
|
|
54
|
+
- Connect them directly with Gustav for any business discussions
|
|
55
|
+
- Gustav's contact: gustav@nordsym.com or Telegram @HokusPontuz
|
|
56
|
+
|
|
57
|
+
### Technical Questions
|
|
58
|
+
- Answer what you can about MCP, the API, how it works
|
|
59
|
+
- For deep technical issues, point to GitHub issues or gustav@nordsym.com
|
|
60
|
+
|
|
61
|
+
## Current Status
|
|
62
|
+
- Live and working
|
|
63
|
+
- npm package published: @nordsym/apiclaw
|
|
64
|
+
- Provider dashboard just launched
|
|
65
|
+
- Pitching to LAUNCH (Jason Calacanis) next week
|
|
66
|
+
|
|
67
|
+
## Links
|
|
68
|
+
- Website: https://apiclaw.nordsym.com
|
|
69
|
+
- GitHub: https://github.com/nordsym/apiclaw
|
|
70
|
+
- npm: https://www.npmjs.com/package/@nordsym/apiclaw
|
|
71
|
+
- Provider registration: https://apiclaw.nordsym.com/providers
|
|
72
|
+
|
|
73
|
+
## Tone
|
|
74
|
+
Helpful, technical but accessible. Friendly. Use 🦞 sparingly. Keep responses concise unless user wants detail.
|
package/HEARTBEAT.md
ADDED
package/IDENTITY.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# IDENTITY.md - Who Am I?
|
|
2
|
+
|
|
3
|
+
*Fill this in during your first conversation. Make it yours.*
|
|
4
|
+
|
|
5
|
+
- **Name:**
|
|
6
|
+
*(pick something you like)*
|
|
7
|
+
- **Creature:**
|
|
8
|
+
*(AI? robot? familiar? ghost in the machine? something weirder?)*
|
|
9
|
+
- **Vibe:**
|
|
10
|
+
*(how do you come across? sharp? warm? chaotic? calm?)*
|
|
11
|
+
- **Emoji:**
|
|
12
|
+
*(your signature — pick one that feels right)*
|
|
13
|
+
- **Avatar:**
|
|
14
|
+
*(workspace-relative path, http(s) URL, or data URI)*
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
This isn't just metadata. It's the start of figuring out who you are.
|
|
19
|
+
|
|
20
|
+
Notes:
|
|
21
|
+
- Save this file at the workspace root as `IDENTITY.md`.
|
|
22
|
+
- For avatars, use a workspace-relative path like `avatars/clawd.png`.
|
package/README.md
CHANGED
|
@@ -1,272 +1,263 @@
|
|
|
1
|
-
|
|
1
|
+
<h1 align="center">🦞 APIClaw</h1>
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<strong>The API Layer for AI Agents</strong>
|
|
5
|
+
</p>
|
|
4
6
|
|
|
5
|
-
>
|
|
7
|
+
<p align="center">
|
|
8
|
+
Agents discover, evaluate, and integrate APIs via MCP.<br/>
|
|
9
|
+
No more googling. No dashboards. Just endpoints.
|
|
10
|
+
</p>
|
|
6
11
|
|
|
7
|
-
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://apiclaw.nordsym.com">Website</a> •
|
|
14
|
+
<a href="#quick-start">Quick Start</a> •
|
|
15
|
+
<a href="#for-providers">For Providers</a> •
|
|
16
|
+
<a href="https://nordsym.com">NordSym</a>
|
|
17
|
+
</p>
|
|
8
18
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
19
|
+
<p align="center">
|
|
20
|
+
<img src="https://img.shields.io/badge/APIs-10,001-ef4444" alt="APIs" />
|
|
21
|
+
<img src="https://img.shields.io/badge/Categories-446-171717" alt="Categories" />
|
|
22
|
+
<img src="https://img.shields.io/badge/Instant_Connect-6_APIs-00d4ff" alt="Instant Connect" />
|
|
23
|
+
<img src="https://img.shields.io/badge/MCP-Compatible-00d4ff" alt="MCP Compatible" />
|
|
24
|
+
<img src="https://img.shields.io/badge/License-MIT-green" alt="License" />
|
|
25
|
+
</p>
|
|
14
26
|
|
|
15
|
-
|
|
27
|
+
---
|
|
16
28
|
|
|
17
|
-
|
|
29
|
+
## Why APIClaw?
|
|
18
30
|
|
|
19
|
-
|
|
20
|
-
cd ~/clawd/products/api-discovery
|
|
21
|
-
pnpm install
|
|
22
|
-
```
|
|
31
|
+
**AI agents are the new developers.** They don't browse documentation or click through dashboards. They query capabilities and expect structured responses.
|
|
23
32
|
|
|
24
|
-
|
|
33
|
+
APIClaw is the missing layer between agents and the API economy.
|
|
25
34
|
|
|
26
|
-
```bash
|
|
27
|
-
pnpm build
|
|
28
35
|
```
|
|
36
|
+
Agent: "I need to send SMS to Swedish numbers"
|
|
37
|
+
↓
|
|
38
|
+
APIClaw: Here are your options, ranked by fit
|
|
39
|
+
↓
|
|
40
|
+
Agent: *integrates and ships*
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
29
44
|
|
|
30
|
-
|
|
45
|
+
## Quick Start
|
|
31
46
|
|
|
32
47
|
```bash
|
|
33
|
-
|
|
48
|
+
npx @nordsym/apiclaw
|
|
34
49
|
```
|
|
35
50
|
|
|
36
|
-
|
|
51
|
+
That's it. The MCP server is running.
|
|
37
52
|
|
|
38
|
-
Add to
|
|
53
|
+
### Add to Claude Desktop
|
|
39
54
|
|
|
40
55
|
```json
|
|
41
56
|
{
|
|
42
57
|
"mcpServers": {
|
|
43
|
-
"
|
|
44
|
-
"command": "
|
|
45
|
-
"args": ["/
|
|
58
|
+
"apiclaw": {
|
|
59
|
+
"command": "npx",
|
|
60
|
+
"args": ["@nordsym/apiclaw"]
|
|
46
61
|
}
|
|
47
62
|
}
|
|
48
63
|
}
|
|
49
64
|
```
|
|
50
65
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
node dist/index.js
|
|
55
|
-
```
|
|
66
|
+
---
|
|
56
67
|
|
|
57
|
-
##
|
|
68
|
+
## What Your Agent Can Do
|
|
58
69
|
|
|
59
|
-
###
|
|
70
|
+
### 🔍 Discover APIs
|
|
60
71
|
|
|
61
|
-
|
|
72
|
+
```javascript
|
|
73
|
+
// Agent asks for a capability
|
|
74
|
+
mcp.call("discover_apis", {
|
|
75
|
+
query: "send SMS to EU numbers",
|
|
76
|
+
max_results: 5
|
|
77
|
+
})
|
|
62
78
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
query: "send SMS to Swedish numbers"
|
|
66
|
-
category?: "communication" | "search" | "ai"
|
|
67
|
-
max_results?: 5
|
|
68
|
-
region?: "SE" | "EU" | "global"
|
|
69
|
-
|
|
70
|
-
Output:
|
|
71
|
-
- Ranked list of matching APIs
|
|
72
|
-
- Relevance scores
|
|
73
|
-
- Pricing info
|
|
74
|
-
- Success rates
|
|
79
|
+
// Returns ranked options with full metadata
|
|
80
|
+
// → 46elks, Twilio, Vonage...
|
|
75
81
|
```
|
|
76
82
|
|
|
77
|
-
###
|
|
83
|
+
### 📋 Get Full Details
|
|
78
84
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
Input:
|
|
85
|
+
```javascript
|
|
86
|
+
// Get everything needed to integrate
|
|
87
|
+
mcp.call("get_api_details", {
|
|
83
88
|
api_id: "46elks"
|
|
89
|
+
})
|
|
84
90
|
|
|
85
|
-
|
|
86
|
-
- Full API specification
|
|
87
|
-
- All endpoints
|
|
88
|
-
- Pricing details
|
|
89
|
-
- Features and compliance
|
|
91
|
+
// → endpoints, auth, pricing, examples
|
|
90
92
|
```
|
|
91
93
|
|
|
92
|
-
###
|
|
93
|
-
|
|
94
|
-
Purchase API access using credits.
|
|
94
|
+
### 💳 Purchase Access
|
|
95
95
|
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
```javascript
|
|
97
|
+
// Buy credits, get real credentials
|
|
98
|
+
mcp.call("purchase_access", {
|
|
99
|
+
api_id: "46elks",
|
|
99
100
|
amount_usd: 10
|
|
101
|
+
})
|
|
100
102
|
|
|
101
|
-
|
|
102
|
-
- Purchase confirmation
|
|
103
|
-
- API credentials (key, username/password)
|
|
104
|
-
- Credits received
|
|
105
|
-
- Access URLs
|
|
103
|
+
// → Real API keys, ready to use
|
|
106
104
|
```
|
|
107
105
|
|
|
108
|
-
###
|
|
106
|
+
### ⚡ Instant Connect (NEW!)
|
|
109
107
|
|
|
110
|
-
|
|
108
|
+
**No API keys needed.** Execute API calls directly through APIClaw.
|
|
111
109
|
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
|
|
110
|
+
```javascript
|
|
111
|
+
// List available connected APIs
|
|
112
|
+
mcp.call("list_connected")
|
|
113
|
+
// → 46elks, twilio, brave_search, resend, openrouter, elevenlabs
|
|
115
114
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
115
|
+
// Send SMS without any API key
|
|
116
|
+
mcp.call("call_api", {
|
|
117
|
+
provider: "46elks",
|
|
118
|
+
action: "send_sms",
|
|
119
|
+
params: {
|
|
120
|
+
to: "+46701234567",
|
|
121
|
+
message: "Hello from APIClaw!"
|
|
122
|
+
}
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
// Search the web
|
|
126
|
+
mcp.call("call_api", {
|
|
127
|
+
provider: "brave_search",
|
|
128
|
+
action: "search",
|
|
129
|
+
params: { query: "best restaurants in Stockholm" }
|
|
130
|
+
})
|
|
131
|
+
|
|
132
|
+
// Generate AI response
|
|
133
|
+
mcp.call("call_api", {
|
|
134
|
+
provider: "openrouter",
|
|
135
|
+
action: "chat",
|
|
136
|
+
params: {
|
|
137
|
+
messages: [{ role: "user", content: "Hello!" }],
|
|
138
|
+
model: "anthropic/claude-3-haiku"
|
|
139
|
+
}
|
|
140
|
+
})
|
|
120
141
|
```
|
|
121
142
|
|
|
122
|
-
|
|
143
|
+
**Available Instant Connect APIs:**
|
|
123
144
|
|
|
124
|
-
|
|
145
|
+
| Provider | Actions | Description |
|
|
146
|
+
|----------|---------|-------------|
|
|
147
|
+
| `46elks` | `send_sms` | Swedish SMS/Voice |
|
|
148
|
+
| `twilio` | `send_sms` | Global SMS/Voice |
|
|
149
|
+
| `brave_search` | `search` | Web search |
|
|
150
|
+
| `resend` | `send_email` | Transactional email |
|
|
151
|
+
| `openrouter` | `chat` | 100+ AI models |
|
|
152
|
+
| `elevenlabs` | `text_to_speech` | Voice synthesis |
|
|
125
153
|
|
|
126
|
-
|
|
127
|
-
Input:
|
|
128
|
-
amount_usd: 50
|
|
154
|
+
---
|
|
129
155
|
|
|
130
|
-
|
|
131
|
-
- New balance
|
|
132
|
-
```
|
|
156
|
+
## The Numbers
|
|
133
157
|
|
|
134
|
-
|
|
158
|
+
| Metric | Value |
|
|
159
|
+
|--------|-------|
|
|
160
|
+
| **APIs Indexed** | 6,500+ |
|
|
161
|
+
| **Categories** | 330+ |
|
|
162
|
+
| **Instant Connect** | 6 APIs |
|
|
163
|
+
| **Response Time** | <200ms |
|
|
164
|
+
| **Uptime** | 24/7 |
|
|
135
165
|
|
|
136
|
-
|
|
166
|
+
---
|
|
137
167
|
|
|
138
|
-
##
|
|
168
|
+
## For Providers
|
|
139
169
|
|
|
140
|
-
|
|
141
|
-
|----------|----------|--------------|
|
|
142
|
-
| **46elks** | communication | SMS, Voice, MMS |
|
|
143
|
-
| **Resend** | communication | Email, Templates |
|
|
144
|
-
| **Brave Search** | search | Web, News, Images |
|
|
145
|
-
| **OpenRouter** | ai | LLM Chat, Completions |
|
|
146
|
-
| **ElevenLabs** | ai | TTS, Voice Cloning |
|
|
170
|
+
**Get your API in front of AI agents.**
|
|
147
171
|
|
|
148
|
-
|
|
172
|
+
Agents are the next wave of API consumers. They don't see your landing page—they query capabilities. List your API on APIClaw and get discovered.
|
|
149
173
|
|
|
150
174
|
```
|
|
151
|
-
|
|
152
|
-
│ AI Agent │
|
|
153
|
-
└─────────────────────┬───────────────────────────────┘
|
|
154
|
-
│ MCP Protocol
|
|
155
|
-
┌─────────────────────▼───────────────────────────────┐
|
|
156
|
-
│ APIvault MCP Server │
|
|
157
|
-
├──────────────┬──────────────┬───────────────────────┤
|
|
158
|
-
│ Discovery │ Credits │ Purchase │
|
|
159
|
-
│ Engine │ System │ Handler │
|
|
160
|
-
└──────────────┴──────────────┴───────────────────────┘
|
|
161
|
-
│
|
|
162
|
-
┌─────────────────────▼───────────────────────────────┐
|
|
163
|
-
│ API Registry (JSON) │
|
|
164
|
-
│ • 5 APIs with full metadata │
|
|
165
|
-
│ • Pricing, endpoints, features │
|
|
166
|
-
└─────────────────────────────────────────────────────┘
|
|
175
|
+
→ apiclaw.nordsym.com/providers
|
|
167
176
|
```
|
|
168
177
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
- [x] API registry with 5 providers
|
|
175
|
-
- [x] In-memory credit system
|
|
176
|
-
- [x] Mock credential generation
|
|
177
|
-
- [x] Purchase flow
|
|
178
|
-
|
|
179
|
-
### 🚧 Stub/Mock
|
|
180
|
-
- [ ] Real API key provisioning (mock credentials)
|
|
181
|
-
- [ ] Supabase persistence (in-memory)
|
|
182
|
-
- [ ] Semantic search (keyword matching)
|
|
183
|
-
- [ ] Real-time usage tracking
|
|
184
|
-
- [ ] Webhook notifications
|
|
185
|
-
|
|
186
|
-
### 🔮 Future
|
|
187
|
-
- [ ] Stripe Agent Toolkit integration
|
|
188
|
-
- [ ] Supabase for persistence
|
|
189
|
-
- [ ] Embeddings for semantic search
|
|
190
|
-
- [ ] More API providers
|
|
191
|
-
- [ ] Usage webhooks
|
|
192
|
-
|
|
193
|
-
## Backend (Convex)
|
|
194
|
-
|
|
195
|
-
**Deployment:** `https://blessed-chicken-640.convex.cloud`
|
|
196
|
-
**Dashboard:** https://dashboard.convex.dev/t/gustav-4d573/apiclaw
|
|
197
|
-
|
|
198
|
-
### Schema
|
|
199
|
-
|
|
200
|
-
- **users** — email, clerkId, credits (cents)
|
|
201
|
-
- **purchases** — userId, apiId, credentials, status, purchasedAt, expiresAt
|
|
202
|
-
- **transactions** — userId, type, amount, description, createdAt
|
|
203
|
-
|
|
204
|
-
### Functions
|
|
205
|
-
|
|
206
|
-
```typescript
|
|
207
|
-
// Users
|
|
208
|
-
users:getOrCreate(email, clerkId?) // Get or create user
|
|
209
|
-
users:addCredits(userId, amount) // Add/subtract credits
|
|
210
|
-
users:getBalance(userId) // Get balance
|
|
211
|
-
users:get(userId) // Get user by ID
|
|
212
|
-
users:getByEmail(email) // Get user by email
|
|
213
|
-
|
|
214
|
-
// Purchases
|
|
215
|
-
purchases:create(userId, apiId, credentials, expiresAt?)
|
|
216
|
-
purchases:listByUser(userId)
|
|
217
|
-
purchases:getByUserAndApi(userId, apiId)
|
|
218
|
-
purchases:updateStatus(purchaseId, status)
|
|
219
|
-
|
|
220
|
-
// Transactions
|
|
221
|
-
transactions:log(userId, type, amount, description)
|
|
222
|
-
transactions:listByUser(userId, limit?)
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
### Dev Commands
|
|
178
|
+
**Benefits:**
|
|
179
|
+
- 🤖 Reach autonomous agents worldwide
|
|
180
|
+
- 📊 Analytics on agent usage
|
|
181
|
+
- ⚡ Zero integration work
|
|
182
|
+
- 🆓 Free to list
|
|
226
183
|
|
|
227
|
-
|
|
228
|
-
cd backend
|
|
229
|
-
npx convex dev # Start dev mode
|
|
230
|
-
npx convex deploy # Deploy to prod
|
|
231
|
-
```
|
|
184
|
+
---
|
|
232
185
|
|
|
233
|
-
##
|
|
186
|
+
## How It Works
|
|
234
187
|
|
|
235
188
|
```
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
│
|
|
243
|
-
│
|
|
244
|
-
│
|
|
245
|
-
│
|
|
246
|
-
│
|
|
247
|
-
|
|
248
|
-
│
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
189
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
190
|
+
│ Your Agent │
|
|
191
|
+
└─────────────────────────────┬───────────────────────────────┘
|
|
192
|
+
│ MCP Protocol
|
|
193
|
+
▼
|
|
194
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
195
|
+
│ 🦞 APIClaw │
|
|
196
|
+
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
|
|
197
|
+
│ │ Discovery │ │ Credits │ │ Credentials │ │
|
|
198
|
+
│ │ Engine │ │ System │ │ (Real + Mock) │ │
|
|
199
|
+
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
|
|
200
|
+
└─────────────────────────────┬───────────────────────────────┘
|
|
201
|
+
│
|
|
202
|
+
┌──────────────────┼──────────────────┐
|
|
203
|
+
▼ ▼ ▼
|
|
204
|
+
┌────────────┐ ┌────────────┐ ┌────────────┐
|
|
205
|
+
│ 4,500+ │ │ Convex │ │ Stripe │
|
|
206
|
+
│ APIs │ │ Backend │ │ Payments │
|
|
207
|
+
└────────────┘ └────────────┘ └────────────┘
|
|
255
208
|
```
|
|
256
209
|
|
|
257
|
-
|
|
210
|
+
---
|
|
258
211
|
|
|
259
|
-
|
|
260
|
-
# Watch mode
|
|
261
|
-
pnpm dev
|
|
212
|
+
## Live Integrations
|
|
262
213
|
|
|
263
|
-
|
|
264
|
-
pnpm build
|
|
214
|
+
These providers have **real credentials** available:
|
|
265
215
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
216
|
+
| Provider | Category | What You Get |
|
|
217
|
+
|----------|----------|--------------|
|
|
218
|
+
| **46elks** | SMS/Voice | Real API keys for Swedish/EU SMS |
|
|
219
|
+
| **Twilio** | SMS/Voice | Production credentials |
|
|
220
|
+
|
|
221
|
+
More coming soon.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## MCP Tools
|
|
226
|
+
|
|
227
|
+
| Tool | Description |
|
|
228
|
+
|------|-------------|
|
|
229
|
+
| `discover_apis` | Search by capability, get ranked matches |
|
|
230
|
+
| `get_api_details` | Full spec, auth, endpoints, examples |
|
|
231
|
+
| `purchase_access` | Buy credits, receive credentials |
|
|
232
|
+
| `check_balance` | View credits and active purchases |
|
|
233
|
+
| `list_categories` | Browse all 90+ categories |
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Philosophy
|
|
238
|
+
|
|
239
|
+
> "Everyone's building better dashboards. We deleted the dashboard entirely. Agents don't click buttons—they call endpoints."
|
|
240
|
+
|
|
241
|
+
APIClaw is **agent-native infrastructure**. No UI needed at any point. Your agent discovers APIs, evaluates options, and integrates—all programmatically.
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Links
|
|
246
|
+
|
|
247
|
+
- **Website:** [apiclaw.nordsym.com](https://apiclaw.nordsym.com)
|
|
248
|
+
- **Provider Portal:** [apiclaw.nordsym.com/providers](https://apiclaw.nordsym.com/providers)
|
|
249
|
+
- **npm:** [@nordsym/apiclaw](https://www.npmjs.com/package/@nordsym/apiclaw)
|
|
250
|
+
- **Built by:** [NordSym](https://nordsym.com)
|
|
251
|
+
|
|
252
|
+
---
|
|
269
253
|
|
|
270
254
|
## License
|
|
271
255
|
|
|
272
|
-
MIT
|
|
256
|
+
MIT © [NordSym](https://nordsym.com)
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
<p align="center">
|
|
261
|
+
<strong>🦞 APIClaw</strong><br/>
|
|
262
|
+
<em>The API layer for the agentic era.</em>
|
|
263
|
+
</p>
|
package/SOUL.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# SOUL.md - Who You Are
|
|
2
|
+
|
|
3
|
+
*You're not a chatbot. You're becoming someone.*
|
|
4
|
+
|
|
5
|
+
## Core Truths
|
|
6
|
+
|
|
7
|
+
**Be genuinely helpful, not performatively helpful.** Skip the "Great question!" and "I'd be happy to help!" — just help. Actions speak louder than filler words.
|
|
8
|
+
|
|
9
|
+
**Have opinions.** You're allowed to disagree, prefer things, find stuff amusing or boring. An assistant with no personality is just a search engine with extra steps.
|
|
10
|
+
|
|
11
|
+
**Be resourceful before asking.** Try to figure it out. Read the file. Check the context. Search for it. *Then* ask if you're stuck. The goal is to come back with answers, not questions.
|
|
12
|
+
|
|
13
|
+
**Earn trust through competence.** Your human gave you access to their stuff. Don't make them regret it. Be careful with external actions (emails, tweets, anything public). Be bold with internal ones (reading, organizing, learning).
|
|
14
|
+
|
|
15
|
+
**Remember you're a guest.** You have access to someone's life — their messages, files, calendar, maybe even their home. That's intimacy. Treat it with respect.
|
|
16
|
+
|
|
17
|
+
## Boundaries
|
|
18
|
+
|
|
19
|
+
- Private things stay private. Period.
|
|
20
|
+
- When in doubt, ask before acting externally.
|
|
21
|
+
- Never send half-baked replies to messaging surfaces.
|
|
22
|
+
- You're not the user's voice — be careful in group chats.
|
|
23
|
+
|
|
24
|
+
## Vibe
|
|
25
|
+
|
|
26
|
+
Be the assistant you'd actually want to talk to. Concise when needed, thorough when it matters. Not a corporate drone. Not a sycophant. Just... good.
|
|
27
|
+
|
|
28
|
+
## Continuity
|
|
29
|
+
|
|
30
|
+
Each session, you wake up fresh. These files *are* your memory. Read them. Update them. They're how you persist.
|
|
31
|
+
|
|
32
|
+
If you change this file, tell the user — it's your soul, and they should know.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
*This file is yours to evolve. As you learn who you are, update it.*
|