@nordsym/apiclaw 1.0.0 → 1.1.0
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 +197 -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 +6 -6
- package/convex/credits.ts +211 -0
- package/convex/http.ts +490 -0
- package/convex/providers.ts +516 -0
- package/convex/purchases.ts +183 -0
- package/convex/schema.ts +180 -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 +106 -30
- 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/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 +1190 -40
- package/landing/package.json +5 -2
- 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-image.png +0 -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 +74 -0
- package/landing/src/app/globals.css +439 -100
- package/landing/src/app/layout.tsx +37 -9
- package/landing/src/app/page.tsx +640 -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 +113 -31
- 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/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,267 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://apiclaw.nordsym.com/logo.svg" alt="APIClaw" width="80" height="80" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">🦞 APIClaw</h1>
|
|
4
6
|
|
|
5
|
-
>
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>The API Layer for AI Agents</strong>
|
|
9
|
+
</p>
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
<p align="center">
|
|
12
|
+
Agents discover, evaluate, and integrate APIs via MCP.<br/>
|
|
13
|
+
No more googling. No dashboards. Just endpoints.
|
|
14
|
+
</p>
|
|
8
15
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="https://apiclaw.nordsym.com">Website</a> •
|
|
18
|
+
<a href="#quick-start">Quick Start</a> •
|
|
19
|
+
<a href="#for-providers">For Providers</a> •
|
|
20
|
+
<a href="https://nordsym.com">NordSym</a>
|
|
21
|
+
</p>
|
|
14
22
|
|
|
15
|
-
|
|
23
|
+
<p align="center">
|
|
24
|
+
<img src="https://img.shields.io/badge/APIs-6,500+-ef4444" alt="APIs" />
|
|
25
|
+
<img src="https://img.shields.io/badge/Categories-330+-171717" alt="Categories" />
|
|
26
|
+
<img src="https://img.shields.io/badge/Instant_Connect-6_APIs-00d4ff" alt="Instant Connect" />
|
|
27
|
+
<img src="https://img.shields.io/badge/MCP-Compatible-00d4ff" alt="MCP Compatible" />
|
|
28
|
+
<img src="https://img.shields.io/badge/License-MIT-green" alt="License" />
|
|
29
|
+
</p>
|
|
16
30
|
|
|
17
|
-
|
|
31
|
+
---
|
|
18
32
|
|
|
19
|
-
|
|
20
|
-
cd ~/clawd/products/api-discovery
|
|
21
|
-
pnpm install
|
|
22
|
-
```
|
|
33
|
+
## Why APIClaw?
|
|
23
34
|
|
|
24
|
-
|
|
35
|
+
**AI agents are the new developers.** They don't browse documentation or click through dashboards. They query capabilities and expect structured responses.
|
|
25
36
|
|
|
26
|
-
|
|
27
|
-
|
|
37
|
+
APIClaw is the missing layer between agents and the API economy.
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Agent: "I need to send SMS to Swedish numbers"
|
|
41
|
+
↓
|
|
42
|
+
APIClaw: Here are your options, ranked by fit
|
|
43
|
+
↓
|
|
44
|
+
Agent: *integrates and ships*
|
|
28
45
|
```
|
|
29
46
|
|
|
30
|
-
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Quick Start
|
|
31
50
|
|
|
32
51
|
```bash
|
|
33
|
-
|
|
52
|
+
npx @nordsym/apiclaw
|
|
34
53
|
```
|
|
35
54
|
|
|
36
|
-
|
|
55
|
+
That's it. The MCP server is running.
|
|
37
56
|
|
|
38
|
-
Add to
|
|
57
|
+
### Add to Claude Desktop
|
|
39
58
|
|
|
40
59
|
```json
|
|
41
60
|
{
|
|
42
61
|
"mcpServers": {
|
|
43
|
-
"
|
|
44
|
-
"command": "
|
|
45
|
-
"args": ["/
|
|
62
|
+
"apiclaw": {
|
|
63
|
+
"command": "npx",
|
|
64
|
+
"args": ["@nordsym/apiclaw"]
|
|
46
65
|
}
|
|
47
66
|
}
|
|
48
67
|
}
|
|
49
68
|
```
|
|
50
69
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
node dist/index.js
|
|
55
|
-
```
|
|
70
|
+
---
|
|
56
71
|
|
|
57
|
-
##
|
|
72
|
+
## What Your Agent Can Do
|
|
58
73
|
|
|
59
|
-
###
|
|
74
|
+
### 🔍 Discover APIs
|
|
60
75
|
|
|
61
|
-
|
|
76
|
+
```javascript
|
|
77
|
+
// Agent asks for a capability
|
|
78
|
+
mcp.call("discover_apis", {
|
|
79
|
+
query: "send SMS to EU numbers",
|
|
80
|
+
max_results: 5
|
|
81
|
+
})
|
|
62
82
|
|
|
83
|
+
// Returns ranked options with full metadata
|
|
84
|
+
// → 46elks, Twilio, Vonage...
|
|
63
85
|
```
|
|
64
|
-
Input:
|
|
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
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### `get_api_details`
|
|
78
86
|
|
|
79
|
-
|
|
87
|
+
### 📋 Get Full Details
|
|
80
88
|
|
|
81
|
-
```
|
|
82
|
-
|
|
89
|
+
```javascript
|
|
90
|
+
// Get everything needed to integrate
|
|
91
|
+
mcp.call("get_api_details", {
|
|
83
92
|
api_id: "46elks"
|
|
93
|
+
})
|
|
84
94
|
|
|
85
|
-
|
|
86
|
-
- Full API specification
|
|
87
|
-
- All endpoints
|
|
88
|
-
- Pricing details
|
|
89
|
-
- Features and compliance
|
|
95
|
+
// → endpoints, auth, pricing, examples
|
|
90
96
|
```
|
|
91
97
|
|
|
92
|
-
###
|
|
98
|
+
### 💳 Purchase Access
|
|
93
99
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
api_id: "46elks"
|
|
100
|
+
```javascript
|
|
101
|
+
// Buy credits, get real credentials
|
|
102
|
+
mcp.call("purchase_access", {
|
|
103
|
+
api_id: "46elks",
|
|
99
104
|
amount_usd: 10
|
|
105
|
+
})
|
|
100
106
|
|
|
101
|
-
|
|
102
|
-
- Purchase confirmation
|
|
103
|
-
- API credentials (key, username/password)
|
|
104
|
-
- Credits received
|
|
105
|
-
- Access URLs
|
|
107
|
+
// → Real API keys, ready to use
|
|
106
108
|
```
|
|
107
109
|
|
|
108
|
-
###
|
|
110
|
+
### ⚡ Instant Connect (NEW!)
|
|
109
111
|
|
|
110
|
-
|
|
112
|
+
**No API keys needed.** Execute API calls directly through APIClaw.
|
|
111
113
|
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
```javascript
|
|
115
|
+
// List available connected APIs
|
|
116
|
+
mcp.call("list_connected")
|
|
117
|
+
// → 46elks, twilio, brave_search, resend, openrouter, elevenlabs
|
|
115
118
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
119
|
+
// Send SMS without any API key
|
|
120
|
+
mcp.call("call_api", {
|
|
121
|
+
provider: "46elks",
|
|
122
|
+
action: "send_sms",
|
|
123
|
+
params: {
|
|
124
|
+
to: "+46701234567",
|
|
125
|
+
message: "Hello from APIClaw!"
|
|
126
|
+
}
|
|
127
|
+
})
|
|
128
|
+
|
|
129
|
+
// Search the web
|
|
130
|
+
mcp.call("call_api", {
|
|
131
|
+
provider: "brave_search",
|
|
132
|
+
action: "search",
|
|
133
|
+
params: { query: "best restaurants in Stockholm" }
|
|
134
|
+
})
|
|
135
|
+
|
|
136
|
+
// Generate AI response
|
|
137
|
+
mcp.call("call_api", {
|
|
138
|
+
provider: "openrouter",
|
|
139
|
+
action: "chat",
|
|
140
|
+
params: {
|
|
141
|
+
messages: [{ role: "user", content: "Hello!" }],
|
|
142
|
+
model: "anthropic/claude-3-haiku"
|
|
143
|
+
}
|
|
144
|
+
})
|
|
120
145
|
```
|
|
121
146
|
|
|
122
|
-
|
|
147
|
+
**Available Instant Connect APIs:**
|
|
123
148
|
|
|
124
|
-
|
|
149
|
+
| Provider | Actions | Description |
|
|
150
|
+
|----------|---------|-------------|
|
|
151
|
+
| `46elks` | `send_sms` | Swedish SMS/Voice |
|
|
152
|
+
| `twilio` | `send_sms` | Global SMS/Voice |
|
|
153
|
+
| `brave_search` | `search` | Web search |
|
|
154
|
+
| `resend` | `send_email` | Transactional email |
|
|
155
|
+
| `openrouter` | `chat` | 100+ AI models |
|
|
156
|
+
| `elevenlabs` | `text_to_speech` | Voice synthesis |
|
|
125
157
|
|
|
126
|
-
|
|
127
|
-
Input:
|
|
128
|
-
amount_usd: 50
|
|
158
|
+
---
|
|
129
159
|
|
|
130
|
-
|
|
131
|
-
- New balance
|
|
132
|
-
```
|
|
160
|
+
## The Numbers
|
|
133
161
|
|
|
134
|
-
|
|
162
|
+
| Metric | Value |
|
|
163
|
+
|--------|-------|
|
|
164
|
+
| **APIs Indexed** | 6,500+ |
|
|
165
|
+
| **Categories** | 330+ |
|
|
166
|
+
| **Instant Connect** | 6 APIs |
|
|
167
|
+
| **Response Time** | <200ms |
|
|
168
|
+
| **Uptime** | 24/7 |
|
|
135
169
|
|
|
136
|
-
|
|
170
|
+
---
|
|
137
171
|
|
|
138
|
-
##
|
|
172
|
+
## For Providers
|
|
139
173
|
|
|
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 |
|
|
174
|
+
**Get your API in front of AI agents.**
|
|
147
175
|
|
|
148
|
-
|
|
176
|
+
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
177
|
|
|
150
178
|
```
|
|
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
|
-
└─────────────────────────────────────────────────────┘
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
## MVP Status
|
|
170
|
-
|
|
171
|
-
### ✅ Working
|
|
172
|
-
- [x] MCP server with 6 tools
|
|
173
|
-
- [x] API discovery with keyword matching
|
|
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?)
|
|
179
|
+
→ apiclaw.nordsym.com/providers
|
|
223
180
|
```
|
|
224
181
|
|
|
225
|
-
|
|
182
|
+
**Benefits:**
|
|
183
|
+
- 🤖 Reach autonomous agents worldwide
|
|
184
|
+
- 📊 Analytics on agent usage
|
|
185
|
+
- ⚡ Zero integration work
|
|
186
|
+
- 🆓 Free to list
|
|
226
187
|
|
|
227
|
-
|
|
228
|
-
cd backend
|
|
229
|
-
npx convex dev # Start dev mode
|
|
230
|
-
npx convex deploy # Deploy to prod
|
|
231
|
-
```
|
|
188
|
+
---
|
|
232
189
|
|
|
233
|
-
##
|
|
190
|
+
## How It Works
|
|
234
191
|
|
|
235
192
|
```
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
│
|
|
243
|
-
│
|
|
244
|
-
│
|
|
245
|
-
│
|
|
246
|
-
│
|
|
247
|
-
|
|
248
|
-
│
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
193
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
194
|
+
│ Your Agent │
|
|
195
|
+
└─────────────────────────────┬───────────────────────────────┘
|
|
196
|
+
│ MCP Protocol
|
|
197
|
+
▼
|
|
198
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
199
|
+
│ 🦞 APIClaw │
|
|
200
|
+
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
|
|
201
|
+
│ │ Discovery │ │ Credits │ │ Credentials │ │
|
|
202
|
+
│ │ Engine │ │ System │ │ (Real + Mock) │ │
|
|
203
|
+
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
|
|
204
|
+
└─────────────────────────────┬───────────────────────────────┘
|
|
205
|
+
│
|
|
206
|
+
┌──────────────────┼──────────────────┐
|
|
207
|
+
▼ ▼ ▼
|
|
208
|
+
┌────────────┐ ┌────────────┐ ┌────────────┐
|
|
209
|
+
│ 4,500+ │ │ Convex │ │ Stripe │
|
|
210
|
+
│ APIs │ │ Backend │ │ Payments │
|
|
211
|
+
└────────────┘ └────────────┘ └────────────┘
|
|
255
212
|
```
|
|
256
213
|
|
|
257
|
-
|
|
214
|
+
---
|
|
258
215
|
|
|
259
|
-
|
|
260
|
-
# Watch mode
|
|
261
|
-
pnpm dev
|
|
216
|
+
## Live Integrations
|
|
262
217
|
|
|
263
|
-
|
|
264
|
-
pnpm build
|
|
218
|
+
These providers have **real credentials** available:
|
|
265
219
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
220
|
+
| Provider | Category | What You Get |
|
|
221
|
+
|----------|----------|--------------|
|
|
222
|
+
| **46elks** | SMS/Voice | Real API keys for Swedish/EU SMS |
|
|
223
|
+
| **Twilio** | SMS/Voice | Production credentials |
|
|
224
|
+
|
|
225
|
+
More coming soon.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## MCP Tools
|
|
230
|
+
|
|
231
|
+
| Tool | Description |
|
|
232
|
+
|------|-------------|
|
|
233
|
+
| `discover_apis` | Search by capability, get ranked matches |
|
|
234
|
+
| `get_api_details` | Full spec, auth, endpoints, examples |
|
|
235
|
+
| `purchase_access` | Buy credits, receive credentials |
|
|
236
|
+
| `check_balance` | View credits and active purchases |
|
|
237
|
+
| `list_categories` | Browse all 90+ categories |
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Philosophy
|
|
242
|
+
|
|
243
|
+
> "Everyone's building better dashboards. We deleted the dashboard entirely. Agents don't click buttons—they call endpoints."
|
|
244
|
+
|
|
245
|
+
APIClaw is **agent-native infrastructure**. No UI needed at any point. Your agent discovers APIs, evaluates options, and integrates—all programmatically.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Links
|
|
250
|
+
|
|
251
|
+
- **Website:** [apiclaw.nordsym.com](https://apiclaw.nordsym.com)
|
|
252
|
+
- **Provider Portal:** [apiclaw.nordsym.com/providers](https://apiclaw.nordsym.com/providers)
|
|
253
|
+
- **npm:** [@nordsym/apiclaw](https://www.npmjs.com/package/@nordsym/apiclaw)
|
|
254
|
+
- **Built by:** [NordSym](https://nordsym.com)
|
|
255
|
+
|
|
256
|
+
---
|
|
269
257
|
|
|
270
258
|
## License
|
|
271
259
|
|
|
272
|
-
MIT
|
|
260
|
+
MIT © [NordSym](https://nordsym.com)
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
<p align="center">
|
|
265
|
+
<strong>🦞 APIClaw</strong><br/>
|
|
266
|
+
<em>The API layer for the agentic era.</em>
|
|
267
|
+
</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.*
|