@nordsym/apiclaw 1.3.10 → 1.3.12
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/README.md +2 -2
- package/convex/billing.ts +18 -3
- package/convex/earnProgress.ts +1 -1
- package/convex/schema.ts +11 -2
- package/convex/workspaces.ts +82 -48
- package/dist/execute.d.ts +4 -0
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +54 -5
- package/dist/execute.js.map +1 -1
- package/docs/PRD-ORGANIC-DISTRIBUTION.md +347 -0
- package/landing/src/app/page.tsx +96 -62
- package/landing/src/app/upgrade/page.tsx +10 -10
- package/landing/src/lib/stats.json +1 -1
- package/package.json +2 -2
- package/src/execute.ts +65 -5
package/README.md
CHANGED
|
@@ -21,13 +21,13 @@ npx @nordsym/apiclaw mcp-install
|
|
|
21
21
|
# "List available APIs" or "Send an SMS via 46elks"
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
APIClaw automatically detects Claude Desktop and Claude Code — then configures itself as an MCP server in seconds.
|
|
24
|
+
APIClaw automatically detects Claude Desktop and Claude Code — then configures itself as an MCP server in seconds. Works with any MCP-compatible agent.
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
28
|
## What is APIClaw?
|
|
29
29
|
|
|
30
|
-
APIClaw is an MCP
|
|
30
|
+
**The API layer for AI agents.** APIClaw is an MCP server that gives any MCP-compatible agent access to real-world APIs:
|
|
31
31
|
|
|
32
32
|
- **📱 SMS & Voice** — 46elks, Twilio
|
|
33
33
|
- **📧 Email** — Resend, SendGrid
|
package/convex/billing.ts
CHANGED
|
@@ -57,20 +57,35 @@ export const updateSubscription = mutation({
|
|
|
57
57
|
|
|
58
58
|
// Update tier and usage limit based on plan
|
|
59
59
|
const planLimits: Record<string, number> = {
|
|
60
|
-
free:
|
|
60
|
+
free: 50,
|
|
61
61
|
usage_based: 999999999, // Effectively unlimited
|
|
62
62
|
starter: 1000,
|
|
63
63
|
pro: 10000,
|
|
64
64
|
scale: 100000,
|
|
65
|
+
backer: 999999999, // Founding Backer - unlimited until end of 2026
|
|
65
66
|
};
|
|
66
67
|
|
|
67
|
-
const newLimit = planLimits[args.billingPlan] ||
|
|
68
|
+
const newLimit = planLimits[args.billingPlan] || 50;
|
|
69
|
+
|
|
70
|
+
// Determine tier
|
|
71
|
+
let newTier = "free";
|
|
72
|
+
if (args.billingPlan === "backer") {
|
|
73
|
+
newTier = "backer";
|
|
74
|
+
} else if (args.billingPlan !== "free") {
|
|
75
|
+
newTier = "pro";
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// For Backer: set expiry to end of 2026
|
|
79
|
+
const backerUntil = args.billingPlan === "backer"
|
|
80
|
+
? new Date("2026-12-31T23:59:59Z").getTime()
|
|
81
|
+
: undefined;
|
|
68
82
|
|
|
69
83
|
await ctx.db.patch(args.workspaceId, {
|
|
70
84
|
stripeSubscriptionId: args.stripeSubscriptionId,
|
|
71
85
|
billingPlan: args.billingPlan,
|
|
72
|
-
tier:
|
|
86
|
+
tier: newTier,
|
|
73
87
|
usageLimit: newLimit,
|
|
88
|
+
...(backerUntil && { backerUntil }),
|
|
74
89
|
updatedAt: Date.now(),
|
|
75
90
|
});
|
|
76
91
|
|
package/convex/earnProgress.ts
CHANGED
package/convex/schema.ts
CHANGED
|
@@ -46,9 +46,18 @@ export default defineSchema({
|
|
|
46
46
|
email: v.string(),
|
|
47
47
|
passwordHash: v.optional(v.string()),
|
|
48
48
|
status: v.string(), // "pending" | "active" | "suspended"
|
|
49
|
-
tier: v.string(), // "free" | "pro" | "enterprise"
|
|
50
|
-
usageCount: v.number(), // total API calls made
|
|
49
|
+
tier: v.string(), // "free" | "pro" | "enterprise" | "backer"
|
|
50
|
+
usageCount: v.number(), // total API calls made (lifetime)
|
|
51
51
|
usageLimit: v.number(), // max API calls for tier
|
|
52
|
+
// Weekly usage (resets every Monday 00:00 UTC)
|
|
53
|
+
weeklyUsageCount: v.optional(v.number()), // calls this week
|
|
54
|
+
weeklyUsageLimit: v.optional(v.number()), // 50 for free, unlimited for backer
|
|
55
|
+
lastWeeklyResetAt: v.optional(v.number()), // timestamp of last reset
|
|
56
|
+
// Hourly rate limit
|
|
57
|
+
hourlyUsageCount: v.optional(v.number()), // calls this hour
|
|
58
|
+
lastHourlyResetAt: v.optional(v.number()), // timestamp of last hourly reset
|
|
59
|
+
// Backer status (Founding Backer = unlimited until end of 2026)
|
|
60
|
+
backerUntil: v.optional(v.number()), // timestamp when backer status expires
|
|
52
61
|
// Main agent identification
|
|
53
62
|
mainAgentId: v.optional(v.string()), // UUID, auto-generated on first call
|
|
54
63
|
mainAgentName: v.optional(v.string()), // Auto-generated name (e.g., "Crimson Phoenix")
|
package/convex/workspaces.ts
CHANGED
|
@@ -94,7 +94,10 @@ export const verifyMagicLink = mutation({
|
|
|
94
94
|
status: "active",
|
|
95
95
|
tier: "free",
|
|
96
96
|
usageCount: 0,
|
|
97
|
-
usageLimit: 50, //
|
|
97
|
+
usageLimit: 50, // Legacy field, now using weekly limits
|
|
98
|
+
weeklyUsageCount: 0,
|
|
99
|
+
weeklyUsageLimit: 50, // 50 calls/week for free tier
|
|
100
|
+
hourlyUsageCount: 0,
|
|
98
101
|
referralCode: newReferralCode!,
|
|
99
102
|
createdAt: Date.now(),
|
|
100
103
|
updatedAt: Date.now(),
|
|
@@ -102,56 +105,21 @@ export const verifyMagicLink = mutation({
|
|
|
102
105
|
workspace = await ctx.db.get(workspaceId);
|
|
103
106
|
}
|
|
104
107
|
|
|
105
|
-
//
|
|
108
|
+
// REFERRAL DISABLED (2026-03-01): Risk of abuse with awesome-list exposure
|
|
109
|
+
// Tracking referredBy for analytics only, no credit bonus
|
|
106
110
|
if (isNewUser && referralCode) {
|
|
107
|
-
// Find referrer by code
|
|
108
111
|
const referrer = await ctx.db
|
|
109
112
|
.query("workspaces")
|
|
110
113
|
.withIndex("by_referralCode", (q) => q.eq("referralCode", referralCode))
|
|
111
114
|
.first();
|
|
112
115
|
|
|
113
116
|
if (referrer && referrer._id !== workspace!._id) {
|
|
114
|
-
//
|
|
117
|
+
// Track referral for analytics only
|
|
115
118
|
await ctx.db.patch(workspace!._id, {
|
|
116
119
|
referredBy: referrer._id,
|
|
117
120
|
updatedAt: Date.now(),
|
|
118
121
|
});
|
|
119
|
-
|
|
120
|
-
// Get or create referrer's earn progress
|
|
121
|
-
let referrerProgress = await ctx.db
|
|
122
|
-
.query("earnProgress")
|
|
123
|
-
.withIndex("by_workspaceId", (q) => q.eq("workspaceId", referrer._id))
|
|
124
|
-
.first();
|
|
125
|
-
|
|
126
|
-
if (!referrerProgress) {
|
|
127
|
-
await ctx.db.insert("earnProgress", {
|
|
128
|
-
workspaceId: referrer._id,
|
|
129
|
-
firstDirectCall: false,
|
|
130
|
-
apisUsed: [],
|
|
131
|
-
apisUsedComplete: false,
|
|
132
|
-
agentListed: false,
|
|
133
|
-
apiListed: false,
|
|
134
|
-
byokSetup: false,
|
|
135
|
-
githubStarred: false,
|
|
136
|
-
twitterFollowed: false,
|
|
137
|
-
referralCount: 1,
|
|
138
|
-
totalEarned: 10,
|
|
139
|
-
createdAt: Date.now(),
|
|
140
|
-
updatedAt: Date.now(),
|
|
141
|
-
});
|
|
142
|
-
} else {
|
|
143
|
-
await ctx.db.patch(referrerProgress._id, {
|
|
144
|
-
referralCount: referrerProgress.referralCount + 1,
|
|
145
|
-
totalEarned: referrerProgress.totalEarned + 10,
|
|
146
|
-
updatedAt: Date.now(),
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// Credit referrer with +10 API calls
|
|
151
|
-
await ctx.db.patch(referrer._id, {
|
|
152
|
-
usageLimit: referrer.usageLimit + 10,
|
|
153
|
-
updatedAt: Date.now(),
|
|
154
|
-
});
|
|
122
|
+
// No credit bonus - referral rewards disabled
|
|
155
123
|
}
|
|
156
124
|
}
|
|
157
125
|
|
|
@@ -537,6 +505,29 @@ export const updateTier = mutation({
|
|
|
537
505
|
});
|
|
538
506
|
|
|
539
507
|
// Increment usage count
|
|
508
|
+
// Constants for rate limiting
|
|
509
|
+
const FREE_WEEKLY_LIMIT = 50;
|
|
510
|
+
const FREE_HOURLY_LIMIT = 10;
|
|
511
|
+
const BACKER_END_DATE = new Date("2026-12-31T23:59:59Z").getTime();
|
|
512
|
+
|
|
513
|
+
// Helper: Get start of current week (Monday 00:00 UTC)
|
|
514
|
+
function getWeekStart(): number {
|
|
515
|
+
const now = new Date();
|
|
516
|
+
const dayOfWeek = now.getUTCDay();
|
|
517
|
+
const diff = dayOfWeek === 0 ? 6 : dayOfWeek - 1; // Monday = 0
|
|
518
|
+
const monday = new Date(now);
|
|
519
|
+
monday.setUTCDate(now.getUTCDate() - diff);
|
|
520
|
+
monday.setUTCHours(0, 0, 0, 0);
|
|
521
|
+
return monday.getTime();
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
// Helper: Get start of current hour
|
|
525
|
+
function getHourStart(): number {
|
|
526
|
+
const now = new Date();
|
|
527
|
+
now.setUTCMinutes(0, 0, 0);
|
|
528
|
+
return now.getTime();
|
|
529
|
+
}
|
|
530
|
+
|
|
540
531
|
export const incrementUsage = mutation({
|
|
541
532
|
args: {
|
|
542
533
|
workspaceId: v.id("workspaces"),
|
|
@@ -548,22 +539,65 @@ export const incrementUsage = mutation({
|
|
|
548
539
|
throw new Error("Workspace not found");
|
|
549
540
|
}
|
|
550
541
|
|
|
551
|
-
const
|
|
542
|
+
const now = Date.now();
|
|
543
|
+
const weekStart = getWeekStart();
|
|
544
|
+
const hourStart = getHourStart();
|
|
545
|
+
|
|
546
|
+
// Check if Backer (unlimited until end of 2026)
|
|
547
|
+
const isBacker = workspace.tier === "backer" ||
|
|
548
|
+
(workspace.backerUntil && workspace.backerUntil > now);
|
|
552
549
|
|
|
553
|
-
//
|
|
554
|
-
|
|
555
|
-
|
|
550
|
+
// Initialize weekly/hourly counters if needed
|
|
551
|
+
let weeklyCount = workspace.weeklyUsageCount || 0;
|
|
552
|
+
let hourlyCount = workspace.hourlyUsageCount || 0;
|
|
553
|
+
|
|
554
|
+
// Reset weekly counter if new week
|
|
555
|
+
if (!workspace.lastWeeklyResetAt || workspace.lastWeeklyResetAt < weekStart) {
|
|
556
|
+
weeklyCount = 0;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
// Reset hourly counter if new hour
|
|
560
|
+
if (!workspace.lastHourlyResetAt || workspace.lastHourlyResetAt < hourStart) {
|
|
561
|
+
hourlyCount = 0;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
// Check rate limits for free tier
|
|
565
|
+
if (!isBacker && workspace.tier !== "pro" && workspace.tier !== "enterprise") {
|
|
566
|
+
// Check hourly limit (10/hour for free)
|
|
567
|
+
if (hourlyCount + amount > FREE_HOURLY_LIMIT) {
|
|
568
|
+
throw new Error(`Hourly rate limit exceeded (${FREE_HOURLY_LIMIT}/hour). Upgrade to Backer for unlimited.`);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
// Check weekly limit (50/week for free)
|
|
572
|
+
if (weeklyCount + amount > FREE_WEEKLY_LIMIT) {
|
|
573
|
+
throw new Error(`Weekly limit exceeded (${FREE_WEEKLY_LIMIT}/week). Upgrade to Backer for unlimited.`);
|
|
574
|
+
}
|
|
556
575
|
}
|
|
557
576
|
|
|
577
|
+
const newTotalCount = workspace.usageCount + amount;
|
|
578
|
+
const newWeeklyCount = weeklyCount + amount;
|
|
579
|
+
const newHourlyCount = hourlyCount + amount;
|
|
580
|
+
|
|
558
581
|
await ctx.db.patch(workspaceId, {
|
|
559
|
-
usageCount:
|
|
560
|
-
|
|
582
|
+
usageCount: newTotalCount,
|
|
583
|
+
weeklyUsageCount: newWeeklyCount,
|
|
584
|
+
hourlyUsageCount: newHourlyCount,
|
|
585
|
+
lastWeeklyResetAt: weekStart,
|
|
586
|
+
lastHourlyResetAt: hourStart,
|
|
587
|
+
updatedAt: now,
|
|
561
588
|
});
|
|
562
589
|
|
|
590
|
+
// Calculate remaining for free tier
|
|
591
|
+
const weeklyRemaining = isBacker ? Infinity : Math.max(0, FREE_WEEKLY_LIMIT - newWeeklyCount);
|
|
592
|
+
const hourlyRemaining = isBacker ? Infinity : Math.max(0, FREE_HOURLY_LIMIT - newHourlyCount);
|
|
593
|
+
|
|
563
594
|
return {
|
|
564
595
|
success: true,
|
|
565
|
-
usageCount:
|
|
566
|
-
|
|
596
|
+
usageCount: newTotalCount,
|
|
597
|
+
weeklyUsageCount: newWeeklyCount,
|
|
598
|
+
weeklyRemaining,
|
|
599
|
+
hourlyRemaining,
|
|
600
|
+
isBacker,
|
|
567
601
|
};
|
|
568
602
|
},
|
|
569
603
|
});
|
package/dist/execute.d.ts
CHANGED
package/dist/execute.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAuDD,UAAU,YAAY;IACpB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,aAAa,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAyKD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,YAAY,CA8Dd;AAmtBD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/D;AAGD,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASnF;AAGD,wBAAgB,qBAAqB,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAKjF;AAGD,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,CAgGxB"}
|
package/dist/execute.js
CHANGED
|
@@ -4,6 +4,53 @@
|
|
|
4
4
|
import { getCredentials } from './credentials.js';
|
|
5
5
|
import { callProxy, PROXY_PROVIDERS } from './proxy.js';
|
|
6
6
|
import { executeDynamicAction, hasDynamicConfig, listDynamicActions } from './execute-dynamic.js';
|
|
7
|
+
/**
|
|
8
|
+
* Normalize response by extracting common fields to top-level
|
|
9
|
+
* Makes it easier for agents to access key data without digging into provider-specific structures
|
|
10
|
+
*/
|
|
11
|
+
function normalizeResponse(result) {
|
|
12
|
+
if (!result.success || !result.data)
|
|
13
|
+
return result;
|
|
14
|
+
const data = result.data;
|
|
15
|
+
const normalized = { ...result };
|
|
16
|
+
// Extract URL (various field names across providers)
|
|
17
|
+
const urlFields = ['url', 'audioUrl', 'audio_url', 'output_url', 'image_url', 'video_url', 'file_url', 'download_url'];
|
|
18
|
+
for (const field of urlFields) {
|
|
19
|
+
if (data[field] && typeof data[field] === 'string') {
|
|
20
|
+
normalized.url = data[field];
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// Handle array outputs (e.g., Replicate returns output: ["url1", "url2"])
|
|
25
|
+
if (!normalized.url && Array.isArray(data.output) && data.output.length > 0 && typeof data.output[0] === 'string') {
|
|
26
|
+
normalized.url = data.output[0];
|
|
27
|
+
}
|
|
28
|
+
// Extract ID
|
|
29
|
+
const idFields = ['id', 'sid', 'message_id', 'prediction_id', 'job_id', 'request_id'];
|
|
30
|
+
for (const field of idFields) {
|
|
31
|
+
if (data[field] && (typeof data[field] === 'string' || typeof data[field] === 'number')) {
|
|
32
|
+
normalized.id = String(data[field]);
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Extract content (for LLM/text responses)
|
|
37
|
+
const contentFields = ['content', 'text', 'message', 'response', 'output'];
|
|
38
|
+
for (const field of contentFields) {
|
|
39
|
+
if (data[field] && typeof data[field] === 'string') {
|
|
40
|
+
normalized.content = data[field];
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Extract status
|
|
45
|
+
const statusFields = ['status', 'state'];
|
|
46
|
+
for (const field of statusFields) {
|
|
47
|
+
if (data[field] && typeof data[field] === 'string') {
|
|
48
|
+
normalized.status = data[field];
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return normalized;
|
|
53
|
+
}
|
|
7
54
|
// Mock response generators for dry-run mode
|
|
8
55
|
const mockResponses = {
|
|
9
56
|
'46elks': {
|
|
@@ -862,7 +909,8 @@ export async function executeAPICall(providerId, action, params, userId, custome
|
|
|
862
909
|
if (userId) {
|
|
863
910
|
const isDynamic = await hasDynamicConfig(providerId);
|
|
864
911
|
if (isDynamic) {
|
|
865
|
-
|
|
912
|
+
const dynamicResult = await executeDynamicAction(providerId, action, params, userId, customerKey);
|
|
913
|
+
return normalizeResponse(dynamicResult);
|
|
866
914
|
}
|
|
867
915
|
}
|
|
868
916
|
// Fall back to hardcoded handlers
|
|
@@ -911,12 +959,12 @@ export async function executeAPICall(providerId, action, params, userId, custome
|
|
|
911
959
|
if (PROXY_PROVIDERS.includes(providerId)) {
|
|
912
960
|
try {
|
|
913
961
|
const proxyResult = await callProxy(providerId, { action, ...params });
|
|
914
|
-
return {
|
|
962
|
+
return normalizeResponse({
|
|
915
963
|
success: true,
|
|
916
964
|
provider: providerId,
|
|
917
965
|
action,
|
|
918
966
|
data: proxyResult,
|
|
919
|
-
};
|
|
967
|
+
});
|
|
920
968
|
}
|
|
921
969
|
catch (e) {
|
|
922
970
|
return {
|
|
@@ -934,9 +982,10 @@ export async function executeAPICall(providerId, action, params, userId, custome
|
|
|
934
982
|
error: `No credentials configured for ${providerId}. Set up ~/.secrets/${providerId}.env`,
|
|
935
983
|
};
|
|
936
984
|
}
|
|
937
|
-
// Execute
|
|
985
|
+
// Execute and normalize response
|
|
938
986
|
try {
|
|
939
|
-
|
|
987
|
+
const result = await handler(params, creds);
|
|
988
|
+
return normalizeResponse(result);
|
|
940
989
|
}
|
|
941
990
|
catch (error) {
|
|
942
991
|
return {
|
package/dist/execute.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
# PRD: APIClaw Organic Distribution
|
|
2
|
+
|
|
3
|
+
> **The API layer for AI agents.** 22,000+ APIs. Direct Call. Works with any MCP-compatible agent.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Executive Summary
|
|
8
|
+
|
|
9
|
+
APIClaw har organisk pull — 2,300+ clones, 409 unika användare på 2 veckor, noll ads. Enterprise (Recorded Future, Microsoft Teams) sniffar redan.
|
|
10
|
+
|
|
11
|
+
Denna PRD definierar hur vi accelererar organisk distribution utan att spendera på ads.
|
|
12
|
+
|
|
13
|
+
**Mål:** 10,000 weekly npm downloads inom 60 dagar.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Current State
|
|
18
|
+
|
|
19
|
+
| Metric | Value | Source |
|
|
20
|
+
|--------|-------|--------|
|
|
21
|
+
| npm downloads (27-28 feb) | ~1,300 | npm stats |
|
|
22
|
+
| GitHub clones (2 veckor) | 2,319 | GitHub Insights |
|
|
23
|
+
| Unique cloners | 409 | GitHub Insights |
|
|
24
|
+
| Peak day (28 feb) | 980 clones | GitHub Insights |
|
|
25
|
+
| Direct Call providers | 18 | Live |
|
|
26
|
+
| APIs indexed | 22,392 | Live |
|
|
27
|
+
|
|
28
|
+
**Top Referrers:**
|
|
29
|
+
- github.com (6)
|
|
30
|
+
- Microsoft Teams (4) — intern delning på företag
|
|
31
|
+
- Recorded Future (3) — enterprise cybersecurity
|
|
32
|
+
- Google (2)
|
|
33
|
+
- Twitter (2)
|
|
34
|
+
|
|
35
|
+
**Insikt:** Folk kör `npx @nordsym/apiclaw` direkt via npm discover — inte via GitHub browsing. npm SEO är primär kanal.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Strategy: Rails, Not Tools
|
|
40
|
+
|
|
41
|
+
APIClaw är inte ett verktyg. Det är **infrastruktur**.
|
|
42
|
+
|
|
43
|
+
Varje AI agent som behöver API-access bör köra på APIClaw. Som internet för agenter.
|
|
44
|
+
|
|
45
|
+
**Positioning:**
|
|
46
|
+
- ❌ "Ett API-verktyg för Claude"
|
|
47
|
+
- ✅ "The API layer for AI agents"
|
|
48
|
+
|
|
49
|
+
**Messaging:**
|
|
50
|
+
- "Works with any MCP-compatible agent"
|
|
51
|
+
- "22,000+ APIs. Direct Call. Zero config."
|
|
52
|
+
- "Your agent needs APIs. We built the layer."
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Phase 1: Foundation (Week 1-2)
|
|
57
|
+
|
|
58
|
+
### 1.1 npm Optimization ✅ DONE
|
|
59
|
+
|
|
60
|
+
- [x] Keywords: mcp, model-context-protocol, ai-agent, claude, gpt, llm, langchain, crewai, autogpt, openai, anthropic, mcp-server, tool-use, function-calling
|
|
61
|
+
- [x] Description: "The API layer for AI agents. 22,000+ APIs. Direct Call. Works with any MCP-compatible agent."
|
|
62
|
+
- [x] Badges: npm version, downloads, MIT, MCP compatible
|
|
63
|
+
- [x] Repository + homepage URLs
|
|
64
|
+
|
|
65
|
+
### 1.2 GitHub Optimization
|
|
66
|
+
|
|
67
|
+
**README polish:**
|
|
68
|
+
- [ ] GIF/video demo (agent using APIClaw)
|
|
69
|
+
- [ ] "Used by" section (när vi har logos)
|
|
70
|
+
- [ ] Clearer "Why APIClaw" section
|
|
71
|
+
|
|
72
|
+
**GitHub presence:**
|
|
73
|
+
- [ ] Topics: `mcp`, `ai-agent`, `api-gateway`, `claude`, `llm`
|
|
74
|
+
- [ ] Description: "The API layer for AI agents. 22,000+ APIs. Direct Call. Any MCP-compatible agent."
|
|
75
|
+
- [ ] Social preview image (1280x640 OG-style)
|
|
76
|
+
|
|
77
|
+
### 1.3 Awesome Lists (High Impact, Low Effort)
|
|
78
|
+
|
|
79
|
+
| List | URL | Status |
|
|
80
|
+
|------|-----|--------|
|
|
81
|
+
| awesome-mcp | github.com/punkpeye/awesome-mcp-servers | [ ] PR |
|
|
82
|
+
| awesome-claude | github.com/anthropics/anthropic-cookbook | [ ] PR |
|
|
83
|
+
| awesome-llm | github.com/Hannibal046/Awesome-LLM | [ ] PR |
|
|
84
|
+
| awesome-ai-agents | github.com/e2b-dev/awesome-ai-agents | [ ] PR |
|
|
85
|
+
| awesome-langchain | github.com/kyrolabs/awesome-langchain | [ ] PR |
|
|
86
|
+
|
|
87
|
+
**Action:** Submit PRs to all 5 within week 1.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Phase 2: Community Seeding (Week 2-4)
|
|
92
|
+
|
|
93
|
+
### 2.1 Reddit Strategy
|
|
94
|
+
|
|
95
|
+
**Target subreddits:**
|
|
96
|
+
| Subreddit | Members | Fit |
|
|
97
|
+
|-----------|---------|-----|
|
|
98
|
+
| r/LocalLLaMA | 400k+ | MCP/agent builders |
|
|
99
|
+
| r/ClaudeAI | 50k+ | Claude users |
|
|
100
|
+
| r/ChatGPTCoding | 100k+ | Agent builders |
|
|
101
|
+
| r/MachineLearning | 3M+ | Broader reach |
|
|
102
|
+
| r/artificial | 500k+ | AI enthusiasts |
|
|
103
|
+
|
|
104
|
+
**Content types:**
|
|
105
|
+
1. **Value posts** (inte promotion)
|
|
106
|
+
- "How I gave my Claude agent access to 22,000 APIs"
|
|
107
|
+
- "Building an agent that can send SMS, generate images, and search the web"
|
|
108
|
+
|
|
109
|
+
2. **Comment engagement**
|
|
110
|
+
- Svara på "how do I give my agent API access?"
|
|
111
|
+
- Hjälp folk som kämpar med MCP setup
|
|
112
|
+
|
|
113
|
+
**Rules:**
|
|
114
|
+
- 10:1 ratio (10 value comments per 1 mention)
|
|
115
|
+
- Aldrig "check out my project"
|
|
116
|
+
- Alltid lösa ett problem först
|
|
117
|
+
|
|
118
|
+
**Account:** u/Hivebuilder (existing)
|
|
119
|
+
|
|
120
|
+
### 2.2 Discord Presence
|
|
121
|
+
|
|
122
|
+
**Target servers:**
|
|
123
|
+
| Server | Focus | Action |
|
|
124
|
+
|--------|-------|--------|
|
|
125
|
+
| Anthropic Discord | Claude users | Help in #mcp channel |
|
|
126
|
+
| LangChain Discord | Agent builders | Share in #showcase |
|
|
127
|
+
| CrewAI Discord | Multi-agent | Relevant use cases |
|
|
128
|
+
| AutoGPT Discord | Autonomous agents | Integration potential |
|
|
129
|
+
| AI Tinkerers | Builders | Community engagement |
|
|
130
|
+
|
|
131
|
+
**Strategy:**
|
|
132
|
+
- Bli känd som "the MCP API person"
|
|
133
|
+
- Svara på frågor, hjälp folk
|
|
134
|
+
- Nämn APIClaw när relevant (inte spam)
|
|
135
|
+
|
|
136
|
+
### 2.3 HackerNews
|
|
137
|
+
|
|
138
|
+
**Already done:** Initial Show HN post
|
|
139
|
+
|
|
140
|
+
**Follow-up strategy:**
|
|
141
|
+
- [ ] Launch post när vi når 25,000 APIs
|
|
142
|
+
- [ ] Launch post när vi når 25 Direct Call providers
|
|
143
|
+
- [ ] Kommentera på relevanta AI/agent-trådar
|
|
144
|
+
|
|
145
|
+
**HN content angle:**
|
|
146
|
+
- Technical depth (hur det funkar under huven)
|
|
147
|
+
- Indie hacker story (solo founder, bootstrap)
|
|
148
|
+
- "Infrastructure for the agentic era"
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Phase 3: Content Engine (Week 3-6)
|
|
153
|
+
|
|
154
|
+
### 3.1 Technical Tutorials
|
|
155
|
+
|
|
156
|
+
**Platform:** Dev.to, Hashnode, Medium (crosspost)
|
|
157
|
+
|
|
158
|
+
**Article ideas:**
|
|
159
|
+
1. "How to give any AI agent access to 22,000 APIs in 60 seconds"
|
|
160
|
+
2. "Building a personal assistant that sends SMS, emails, and generates images"
|
|
161
|
+
3. "The MCP standard: Why it matters for AI agents"
|
|
162
|
+
4. "From API docs to working agent in 5 minutes"
|
|
163
|
+
5. "Direct Call: Using APIs without managing keys"
|
|
164
|
+
|
|
165
|
+
**Frequency:** 1 artikel/vecka
|
|
166
|
+
|
|
167
|
+
### 3.2 Video Content
|
|
168
|
+
|
|
169
|
+
**Platform:** YouTube, Twitter/X
|
|
170
|
+
|
|
171
|
+
**Video ideas:**
|
|
172
|
+
1. 60-second demo: "Claude sends SMS via APIClaw"
|
|
173
|
+
2. Tutorial: "Set up APIClaw in 2 minutes"
|
|
174
|
+
3. Use case: "AI agent books flights and sends confirmations"
|
|
175
|
+
|
|
176
|
+
**Note:** Video är lower priority — text content first.
|
|
177
|
+
|
|
178
|
+
### 3.3 Twitter/X Strategy
|
|
179
|
+
|
|
180
|
+
**Accounts:**
|
|
181
|
+
- @NordSym (company)
|
|
182
|
+
- @HokusPontuz (Gustav personal)
|
|
183
|
+
|
|
184
|
+
**Content mix:**
|
|
185
|
+
- Build in public updates
|
|
186
|
+
- API count milestones (25k, 30k)
|
|
187
|
+
- Direct Call provider announcements
|
|
188
|
+
- User testimonials/screenshots
|
|
189
|
+
- MCP ecosystem commentary
|
|
190
|
+
|
|
191
|
+
**Engagement:**
|
|
192
|
+
- Följ/engagera med MCP-community
|
|
193
|
+
- Reply to agent-building threads
|
|
194
|
+
- Quote-tweet relevant AI news
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Phase 4: Partnership Leverage (Week 4-8)
|
|
199
|
+
|
|
200
|
+
### 4.1 Direct Call Provider Partnerships
|
|
201
|
+
|
|
202
|
+
Varje ny Direct Call provider = deras audience får veta om APIClaw.
|
|
203
|
+
|
|
204
|
+
**Strategy:**
|
|
205
|
+
1. Onboard provider
|
|
206
|
+
2. De annonserar "Now available on APIClaw"
|
|
207
|
+
3. Cross-promotion
|
|
208
|
+
|
|
209
|
+
**High-value targets:**
|
|
210
|
+
- Anthropic (MCP-native)
|
|
211
|
+
- OpenAI (function calling parallel)
|
|
212
|
+
- Vercel (AI SDK)
|
|
213
|
+
- Supabase (backend for agents)
|
|
214
|
+
|
|
215
|
+
### 4.2 Agent Framework Integrations
|
|
216
|
+
|
|
217
|
+
| Framework | Users | Integration |
|
|
218
|
+
|-----------|-------|-------------|
|
|
219
|
+
| LangChain | 100k+ | MCP tool |
|
|
220
|
+
| CrewAI | 50k+ | Built-in provider |
|
|
221
|
+
| AutoGPT | 150k+ | Plugin |
|
|
222
|
+
| Claude Desktop | Native | ✅ Done |
|
|
223
|
+
| Cursor | 500k+ | MCP config |
|
|
224
|
+
|
|
225
|
+
**Action:** Create integration guides/plugins for top 3.
|
|
226
|
+
|
|
227
|
+
### 4.3 Newsletter Features
|
|
228
|
+
|
|
229
|
+
**Target newsletters:**
|
|
230
|
+
- The Rundown AI (1M+ subs)
|
|
231
|
+
- TLDR AI (500k+ subs)
|
|
232
|
+
- Ben's Bites (100k+ subs)
|
|
233
|
+
- Superhuman AI (500k+ subs)
|
|
234
|
+
|
|
235
|
+
**Pitch angle:**
|
|
236
|
+
- "Infrastructure for the agentic era"
|
|
237
|
+
- Milestone announcements (25k APIs, etc.)
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Phase 5: Viral Mechanics (Ongoing)
|
|
242
|
+
|
|
243
|
+
### 5.1 Built-in Virality
|
|
244
|
+
|
|
245
|
+
**In-product:**
|
|
246
|
+
- [ ] "Powered by APIClaw" badge for agents
|
|
247
|
+
- [ ] Share button efter successful API call
|
|
248
|
+
- [ ] Referral program (extra API calls)
|
|
249
|
+
|
|
250
|
+
**Social proof:**
|
|
251
|
+
- [ ] Live counter på hemsidan (API calls made today)
|
|
252
|
+
- [ ] "X agents connected" counter
|
|
253
|
+
- [ ] Testimonial rotation
|
|
254
|
+
|
|
255
|
+
### 5.2 Milestone Marketing
|
|
256
|
+
|
|
257
|
+
| Milestone | Action |
|
|
258
|
+
|-----------|--------|
|
|
259
|
+
| 25,000 APIs | HN post, Twitter thread, Reddit |
|
|
260
|
+
| 50 Direct Call | Press outreach, Product Hunt |
|
|
261
|
+
| 1,000 daily users | Case study, enterprise push |
|
|
262
|
+
| 100,000 npm downloads | "Thank you" campaign |
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Metrics & Tracking
|
|
267
|
+
|
|
268
|
+
### Weekly KPIs
|
|
269
|
+
|
|
270
|
+
| Metric | Current | Week 4 Target | Week 8 Target |
|
|
271
|
+
|--------|---------|---------------|---------------|
|
|
272
|
+
| npm weekly downloads | ~1,300 | 3,000 | 10,000 |
|
|
273
|
+
| GitHub stars | ? | 200 | 500 |
|
|
274
|
+
| GitHub clones/week | 2,300 | 4,000 | 8,000 |
|
|
275
|
+
| Direct Call providers | 18 | 25 | 35 |
|
|
276
|
+
| APIs indexed | 22,392 | 30,000 | 40,000 |
|
|
277
|
+
|
|
278
|
+
### Attribution
|
|
279
|
+
|
|
280
|
+
- GitHub traffic insights (referrers)
|
|
281
|
+
- npm download trends
|
|
282
|
+
- Supabase/Convex analytics (signups, usage)
|
|
283
|
+
- Twitter mentions
|
|
284
|
+
- Reddit mentions
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Execution Priority
|
|
289
|
+
|
|
290
|
+
### This Week (Immediate)
|
|
291
|
+
|
|
292
|
+
1. **Awesome list PRs** — 5 PRs, 2 timmar arbete, potentially 1000s of eyeballs
|
|
293
|
+
2. **GitHub optimization** — Topics, description, social preview
|
|
294
|
+
3. **Reddit value post** — 1 high-quality post to r/LocalLLaMA
|
|
295
|
+
4. **Discord presence** — Join Anthropic Discord, help in #mcp
|
|
296
|
+
|
|
297
|
+
### Next Week
|
|
298
|
+
|
|
299
|
+
1. **First Dev.to article**
|
|
300
|
+
2. **Twitter content cadence** (3 posts/week)
|
|
301
|
+
3. **HN comment engagement**
|
|
302
|
+
4. **Second Reddit post**
|
|
303
|
+
|
|
304
|
+
### Week 3-4
|
|
305
|
+
|
|
306
|
+
1. **Video demo** (60 sec)
|
|
307
|
+
2. **Newsletter outreach**
|
|
308
|
+
3. **Integration guide** (LangChain)
|
|
309
|
+
4. **Milestone post** (if we hit 25k APIs)
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Risk Mitigation
|
|
314
|
+
|
|
315
|
+
| Risk | Mitigation |
|
|
316
|
+
|------|------------|
|
|
317
|
+
| Reddit shadowban | 10:1 value ratio, multiple accounts |
|
|
318
|
+
| HN flagging | Quality over quantity, genuine engagement |
|
|
319
|
+
| Spam perception | Always solve a problem first |
|
|
320
|
+
| Competitor copying | Speed + community + Direct Call moat |
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Resources Required
|
|
325
|
+
|
|
326
|
+
- **Time:** 5-10 hours/week (Symbot-driven)
|
|
327
|
+
- **Budget:** $0 (pure organic)
|
|
328
|
+
- **Tools:** GitHub, Reddit, Discord, Dev.to (all free)
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Success Definition
|
|
333
|
+
|
|
334
|
+
**60-day success:**
|
|
335
|
+
- 10,000 weekly npm downloads
|
|
336
|
+
- 500+ GitHub stars
|
|
337
|
+
- 3 awesome-list placements
|
|
338
|
+
- 1 newsletter feature
|
|
339
|
+
- 25+ Direct Call providers
|
|
340
|
+
- Recognized name in MCP community
|
|
341
|
+
|
|
342
|
+
**"APIClaw" blir synonymt med "API access for agents".**
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
*Last updated: 2026-03-01*
|
|
347
|
+
*Owner: Symbot / NordSym*
|
package/landing/src/app/page.tsx
CHANGED
|
@@ -197,27 +197,33 @@ export default function Home() {
|
|
|
197
197
|
};
|
|
198
198
|
|
|
199
199
|
const copyContextToClipboard = () => {
|
|
200
|
-
const context = `APIClaw –
|
|
200
|
+
const context = `APIClaw – The API Layer for AI Agents
|
|
201
201
|
|
|
202
202
|
You have access to APIClaw, an MCP server that lets you execute API calls WITHOUT managing keys.
|
|
203
203
|
|
|
204
|
-
|
|
205
|
-
•
|
|
206
|
-
•
|
|
207
|
-
•
|
|
204
|
+
Instant highlights:
|
|
205
|
+
• Generate images/videos (Replicate: Flux Pro, SDXL, Luma Dream Machine)
|
|
206
|
+
• Voice synthesis (ElevenLabs)
|
|
207
|
+
• Live web scraping (Firecrawl)
|
|
208
|
+
• Code sandbox (E2B)
|
|
209
|
+
• Multi-LLM routing (OpenRouter)
|
|
208
210
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
+
${statsData.directCallCount}+ Direct Call providers across categories:
|
|
212
|
+
AI/ML: Replicate, OpenRouter, Groq, Mistral, Cohere, Together AI, Stability AI
|
|
213
|
+
Voice: ElevenLabs, Deepgram, AssemblyAI
|
|
214
|
+
Search: Brave Search, Serper, Firecrawl
|
|
215
|
+
Code: E2B, GitHub
|
|
216
|
+
Utility: Resend (email), 46elks & Twilio (SMS)
|
|
211
217
|
|
|
212
218
|
Your Tools:
|
|
213
|
-
•
|
|
214
|
-
•
|
|
215
|
-
•
|
|
216
|
-
•
|
|
219
|
+
• call_api(provider, action, params) – Execute immediately (leave auth fields empty – APIClaw handles it)
|
|
220
|
+
• discover_apis(query) – Semantic search across ${statsData.apiCount.toLocaleString()}+ APIs (e.g. "image-to-video model")
|
|
221
|
+
• get_api_details(id) – Full specs, pricing, limits
|
|
222
|
+
• list_connected() – See all ready providers
|
|
217
223
|
|
|
218
|
-
|
|
224
|
+
When an API call helps the task, execute it directly.
|
|
219
225
|
|
|
220
|
-
|
|
226
|
+
Get started in seconds: npx @nordsym/apiclaw mcp-install
|
|
221
227
|
Docs: https://apiclaw.nordsym.com/docs`;
|
|
222
228
|
navigator.clipboard.writeText(context);
|
|
223
229
|
setShowContextCopied(true);
|
|
@@ -486,8 +492,7 @@ Docs: https://apiclaw.nordsym.com/docs`;
|
|
|
486
492
|
</p>
|
|
487
493
|
|
|
488
494
|
<p className="text-text-muted mb-6 max-w-lg mx-auto lg:mx-0">
|
|
489
|
-
|
|
490
|
-
Built for the agentic era.
|
|
495
|
+
<span className="text-accent font-medium">Direct Call:</span> No API keys. No setup. Just call.
|
|
491
496
|
</p>
|
|
492
497
|
|
|
493
498
|
{/* Copy Context Button */}
|
|
@@ -865,7 +870,7 @@ Docs: https://apiclaw.nordsym.com/docs`;
|
|
|
865
870
|
<span className="text-gray-500">{"// • call_api - Direct Call (no keys needed)"}</span>{"\n"}
|
|
866
871
|
<span className="text-gray-500">{"// • list_connected - See available providers"}</span>{"\n"}
|
|
867
872
|
{"\n"}
|
|
868
|
-
<span className="text-gray-500">{"// Works with Claude, Cursor, and any MCP
|
|
873
|
+
<span className="text-gray-500">{"// Works with Claude, Cursor, and any MCP compatible Agent 🦞"}</span>
|
|
869
874
|
</pre>
|
|
870
875
|
</div>
|
|
871
876
|
</div>
|
|
@@ -962,86 +967,115 @@ Docs: https://apiclaw.nordsym.com/docs`;
|
|
|
962
967
|
|
|
963
968
|
{/* Get Started */}
|
|
964
969
|
<section id="get-started" className="py-24 px-6 bg-surface/30">
|
|
965
|
-
<div className="max-w-
|
|
970
|
+
<div className="max-w-5xl mx-auto">
|
|
966
971
|
<div className="text-center mb-16">
|
|
967
|
-
<span className="section-label">
|
|
972
|
+
<span className="section-label">PRICING</span>
|
|
968
973
|
<h2 className="text-3xl md:text-4xl font-bold mt-4 tracking-tight">
|
|
969
|
-
Simple
|
|
974
|
+
Simple pricing. Start free.
|
|
970
975
|
</h2>
|
|
971
976
|
<p className="text-text-secondary text-lg mt-4">
|
|
972
|
-
|
|
977
|
+
Discovery is free forever — search, compare, evaluate at no cost.<br />
|
|
978
|
+
{statsData.openApiCount.toLocaleString()}+ Open APIs work without any account.
|
|
973
979
|
</p>
|
|
974
980
|
</div>
|
|
975
981
|
|
|
976
|
-
<div className="grid md:grid-cols-
|
|
977
|
-
{/*
|
|
978
|
-
<div className="rounded-2xl bg-surface-elevated border
|
|
979
|
-
<
|
|
980
|
-
|
|
981
|
-
</
|
|
982
|
-
<
|
|
983
|
-
|
|
984
|
-
<ul className="space-y-3 sm:space-y-4 mb-6 sm:mb-8">
|
|
985
|
-
<li className="flex items-start gap-3 text-text-secondary text-sm sm:text-base">
|
|
986
|
-
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
987
|
-
Search {statsData.apiCount.toLocaleString()}+ APIs by capability
|
|
988
|
-
</li>
|
|
989
|
-
<li className="flex items-start gap-3 text-text-secondary text-sm sm:text-base">
|
|
982
|
+
<div className="grid md:grid-cols-3 gap-6">
|
|
983
|
+
{/* Free */}
|
|
984
|
+
<div className="rounded-2xl bg-surface-elevated border border-border p-6 relative">
|
|
985
|
+
<h3 className="text-xl font-bold mb-2">Free</h3>
|
|
986
|
+
<div className="text-3xl font-bold mb-1">$0</div>
|
|
987
|
+
<p className="text-text-muted text-sm mb-6">Forever</p>
|
|
988
|
+
<ul className="space-y-3 mb-8">
|
|
989
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
990
990
|
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
991
|
-
Direct Call
|
|
991
|
+
50 Direct Call requests/week
|
|
992
992
|
</li>
|
|
993
|
-
<li className="flex items-start gap-3 text-text-secondary text-sm
|
|
993
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
994
994
|
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
995
|
-
|
|
995
|
+
Unlimited API discovery
|
|
996
996
|
</li>
|
|
997
|
-
<li className="flex items-start gap-3 text-text-secondary text-sm
|
|
997
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
998
998
|
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
999
|
-
|
|
999
|
+
18 Direct Call providers
|
|
1000
1000
|
</li>
|
|
1001
|
-
<li className="flex items-start gap-3 text-text-secondary text-sm
|
|
1001
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
1002
1002
|
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
1003
1003
|
MCP native
|
|
1004
1004
|
</li>
|
|
1005
1005
|
</ul>
|
|
1006
|
-
<a href="/docs" className="btn-
|
|
1007
|
-
Get Started
|
|
1006
|
+
<a href="/docs" className="btn-ghost w-full justify-center border border-border">
|
|
1007
|
+
Get Started
|
|
1008
1008
|
</a>
|
|
1009
1009
|
</div>
|
|
1010
1010
|
|
|
1011
|
-
{/*
|
|
1012
|
-
<div className="rounded-2xl bg-surface-elevated border-2 border-accent p-6
|
|
1013
|
-
<div className="absolute -top-3 left-1/2 -translate-x-1/2 px-3
|
|
1014
|
-
|
|
1011
|
+
{/* Pay as you go */}
|
|
1012
|
+
<div className="rounded-2xl bg-surface-elevated border-2 border-accent p-6 relative glow">
|
|
1013
|
+
<div className="absolute -top-3 left-1/2 -translate-x-1/2 px-3 py-1 bg-accent text-white text-xs font-bold tracking-wide rounded-full uppercase">
|
|
1014
|
+
Recommended
|
|
1015
1015
|
</div>
|
|
1016
|
-
<h3 className="text-xl
|
|
1017
|
-
<
|
|
1018
|
-
<
|
|
1019
|
-
|
|
1016
|
+
<h3 className="text-xl font-bold mb-2">Pay as you go</h3>
|
|
1017
|
+
<div className="text-3xl font-bold mb-1">Usage-based</div>
|
|
1018
|
+
<p className="text-text-muted text-sm mb-6">Monthly invoice</p>
|
|
1019
|
+
<ul className="space-y-3 mb-8">
|
|
1020
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
1020
1021
|
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
1021
|
-
|
|
1022
|
+
Unlimited Direct Call requests
|
|
1022
1023
|
</li>
|
|
1023
|
-
<li className="flex items-start gap-3 text-text-secondary text-sm
|
|
1024
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
1024
1025
|
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
1025
|
-
|
|
1026
|
+
Add card, get monthly invoice
|
|
1026
1027
|
</li>
|
|
1027
|
-
<li className="flex items-start gap-3 text-text-secondary text-sm
|
|
1028
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
1028
1029
|
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
1029
|
-
|
|
1030
|
+
No commitment, cancel anytime
|
|
1030
1031
|
</li>
|
|
1031
|
-
<li className="flex items-start gap-3 text-text-secondary text-sm
|
|
1032
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
1032
1033
|
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
1033
|
-
|
|
1034
|
+
Priority support
|
|
1034
1035
|
</li>
|
|
1035
|
-
|
|
1036
|
+
</ul>
|
|
1037
|
+
<a href="/workspace?tab=billing" className="btn-primary w-full justify-center">
|
|
1038
|
+
Add Payment Method
|
|
1039
|
+
</a>
|
|
1040
|
+
</div>
|
|
1041
|
+
|
|
1042
|
+
{/* Founding Backer */}
|
|
1043
|
+
<div className="rounded-2xl bg-surface-elevated border border-border p-6 relative overflow-hidden">
|
|
1044
|
+
<div className="absolute top-0 right-0 bg-gradient-to-l from-accent/20 to-transparent w-32 h-32 blur-2xl" />
|
|
1045
|
+
<h3 className="text-xl font-bold mb-2">Founding Backer</h3>
|
|
1046
|
+
<div className="text-3xl font-bold mb-1">$199</div>
|
|
1047
|
+
<p className="text-text-muted text-sm mb-6">One-time, unlimited until 2027</p>
|
|
1048
|
+
<ul className="space-y-3 mb-8">
|
|
1049
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
1036
1050
|
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
1037
|
-
|
|
1051
|
+
Unlimited everything until end of 2026
|
|
1052
|
+
</li>
|
|
1053
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
1054
|
+
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
1055
|
+
Early access to new features
|
|
1056
|
+
</li>
|
|
1057
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
1058
|
+
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
1059
|
+
Direct Slack with founders
|
|
1060
|
+
</li>
|
|
1061
|
+
<li className="flex items-start gap-3 text-text-secondary text-sm">
|
|
1062
|
+
<Check className="w-5 h-5 text-accent flex-shrink-0 mt-0.5" />
|
|
1063
|
+
Shape the roadmap
|
|
1038
1064
|
</li>
|
|
1039
1065
|
</ul>
|
|
1040
|
-
<a href="/workspace?tab=
|
|
1041
|
-
|
|
1066
|
+
<a href="/workspace?tab=billing" className="btn-ghost w-full justify-center border border-accent text-accent hover:bg-accent hover:text-white">
|
|
1067
|
+
Become a Backer
|
|
1042
1068
|
</a>
|
|
1043
1069
|
</div>
|
|
1044
1070
|
</div>
|
|
1071
|
+
|
|
1072
|
+
{/* For API Providers - smaller section below */}
|
|
1073
|
+
<div className="mt-16 text-center">
|
|
1074
|
+
<p className="text-text-muted mb-4">Are you an API provider?</p>
|
|
1075
|
+
<a href="/workspace?tab=my-apis" className="text-accent hover:underline font-medium">
|
|
1076
|
+
List your API for free →
|
|
1077
|
+
</a>
|
|
1078
|
+
</div>
|
|
1045
1079
|
</div>
|
|
1046
1080
|
</section>
|
|
1047
1081
|
|
|
@@ -1081,7 +1115,7 @@ Docs: https://apiclaw.nordsym.com/docs`;
|
|
|
1081
1115
|
},
|
|
1082
1116
|
{
|
|
1083
1117
|
q: "What's MCP?",
|
|
1084
|
-
a: "MCP (Model Context Protocol) is the open standard for connecting AI agents to external tools. APIClaw is an MCP server — add one line to your config and your agent can discover and call any API in our registry. Works with Claude Desktop, Cursor, and any MCP-compatible
|
|
1118
|
+
a: "MCP (Model Context Protocol) is the open standard for connecting AI agents to external tools. APIClaw is an MCP server — add one line to your config and your agent can discover and call any API in our registry. Works with Claude Desktop, Cursor, and any MCP-compatible agent."
|
|
1085
1119
|
}
|
|
1086
1120
|
].map((faq, i) => (
|
|
1087
1121
|
<div
|
|
@@ -188,19 +188,19 @@ function UpgradeContent() {
|
|
|
188
188
|
<div className="grid grid-cols-2 gap-4 text-sm">
|
|
189
189
|
<div className="flex items-center gap-2 text-gray-400">
|
|
190
190
|
<span className={isPro ? "text-emerald-400" : "text-gray-600"}>✓</span>
|
|
191
|
-
<span>{isPro ? "
|
|
191
|
+
<span>{isPro ? "Unlimited" : "50"} API calls{isPro ? "" : "/week"}</span>
|
|
192
192
|
</div>
|
|
193
193
|
<div className="flex items-center gap-2 text-gray-400">
|
|
194
194
|
<span className={isPro ? "text-emerald-400" : "text-gray-600"}>✓</span>
|
|
195
|
-
<span>Priority support</span>
|
|
195
|
+
<span>{isPro ? "10/hour" : "Priority support"}</span>
|
|
196
196
|
</div>
|
|
197
197
|
<div className="flex items-center gap-2 text-gray-400">
|
|
198
198
|
<span className={isPro ? "text-emerald-400" : "text-gray-600"}>✓</span>
|
|
199
|
-
<span>
|
|
199
|
+
<span>All Direct Call providers</span>
|
|
200
200
|
</div>
|
|
201
201
|
<div className="flex items-center gap-2 text-gray-400">
|
|
202
202
|
<span className={isPro ? "text-emerald-400" : "text-gray-600"}>✓</span>
|
|
203
|
-
<span>
|
|
203
|
+
<span>API discovery</span>
|
|
204
204
|
</div>
|
|
205
205
|
</div>
|
|
206
206
|
</div>
|
|
@@ -211,15 +211,15 @@ function UpgradeContent() {
|
|
|
211
211
|
<div className="flex items-center justify-between mb-4">
|
|
212
212
|
<div>
|
|
213
213
|
<div className="text-xl font-bold text-white mb-1">
|
|
214
|
-
|
|
214
|
+
🦞 Become a Founding Backer
|
|
215
215
|
</div>
|
|
216
216
|
<div className="text-gray-400">
|
|
217
|
-
|
|
217
|
+
Unlimited API calls until Dec 31, 2026
|
|
218
218
|
</div>
|
|
219
219
|
</div>
|
|
220
220
|
<div className="text-right">
|
|
221
221
|
<div className="text-3xl font-bold text-white">$99</div>
|
|
222
|
-
<div className="text-gray-400 text-sm"
|
|
222
|
+
<div className="text-gray-400 text-sm">one-time</div>
|
|
223
223
|
</div>
|
|
224
224
|
</div>
|
|
225
225
|
|
|
@@ -252,15 +252,15 @@ function UpgradeContent() {
|
|
|
252
252
|
</button>
|
|
253
253
|
|
|
254
254
|
<div className="text-center text-gray-500 text-xs mt-4">
|
|
255
|
-
Secure payment via Stripe.
|
|
255
|
+
Secure payment via Stripe. One-time payment, no subscription.
|
|
256
256
|
</div>
|
|
257
257
|
</div>
|
|
258
258
|
)}
|
|
259
259
|
|
|
260
|
-
{/* Already
|
|
260
|
+
{/* Already Backer Message */}
|
|
261
261
|
{isPro && !success && (
|
|
262
262
|
<div className="text-center text-gray-400">
|
|
263
|
-
You're
|
|
263
|
+
🦞 You're a Founding Backer! Unlimited API calls until Dec 31, 2026.
|
|
264
264
|
</div>
|
|
265
265
|
)}
|
|
266
266
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nordsym/apiclaw",
|
|
3
|
-
"version": "1.3.
|
|
4
|
-
"description": "The API layer for AI agents. 22,000+ APIs
|
|
3
|
+
"version": "1.3.12",
|
|
4
|
+
"description": "The API layer for AI agents. 22,000+ APIs. Direct Call. Works with any MCP-compatible agent.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"homepage": "https://apiclaw.nordsym.com",
|
package/src/execute.ts
CHANGED
|
@@ -13,6 +13,64 @@ interface ExecuteResult {
|
|
|
13
13
|
data?: unknown;
|
|
14
14
|
error?: string;
|
|
15
15
|
cost?: number;
|
|
16
|
+
// Normalized top-level fields (extracted from data for convenience)
|
|
17
|
+
url?: string;
|
|
18
|
+
id?: string;
|
|
19
|
+
content?: string;
|
|
20
|
+
status?: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Normalize response by extracting common fields to top-level
|
|
25
|
+
* Makes it easier for agents to access key data without digging into provider-specific structures
|
|
26
|
+
*/
|
|
27
|
+
function normalizeResponse(result: ExecuteResult): ExecuteResult {
|
|
28
|
+
if (!result.success || !result.data) return result;
|
|
29
|
+
|
|
30
|
+
const data = result.data as Record<string, unknown>;
|
|
31
|
+
const normalized: ExecuteResult = { ...result };
|
|
32
|
+
|
|
33
|
+
// Extract URL (various field names across providers)
|
|
34
|
+
const urlFields = ['url', 'audioUrl', 'audio_url', 'output_url', 'image_url', 'video_url', 'file_url', 'download_url'];
|
|
35
|
+
for (const field of urlFields) {
|
|
36
|
+
if (data[field] && typeof data[field] === 'string') {
|
|
37
|
+
normalized.url = data[field] as string;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Handle array outputs (e.g., Replicate returns output: ["url1", "url2"])
|
|
42
|
+
if (!normalized.url && Array.isArray(data.output) && data.output.length > 0 && typeof data.output[0] === 'string') {
|
|
43
|
+
normalized.url = data.output[0];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Extract ID
|
|
47
|
+
const idFields = ['id', 'sid', 'message_id', 'prediction_id', 'job_id', 'request_id'];
|
|
48
|
+
for (const field of idFields) {
|
|
49
|
+
if (data[field] && (typeof data[field] === 'string' || typeof data[field] === 'number')) {
|
|
50
|
+
normalized.id = String(data[field]);
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Extract content (for LLM/text responses)
|
|
56
|
+
const contentFields = ['content', 'text', 'message', 'response', 'output'];
|
|
57
|
+
for (const field of contentFields) {
|
|
58
|
+
if (data[field] && typeof data[field] === 'string') {
|
|
59
|
+
normalized.content = data[field] as string;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Extract status
|
|
65
|
+
const statusFields = ['status', 'state'];
|
|
66
|
+
for (const field of statusFields) {
|
|
67
|
+
if (data[field] && typeof data[field] === 'string') {
|
|
68
|
+
normalized.status = data[field] as string;
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return normalized;
|
|
16
74
|
}
|
|
17
75
|
|
|
18
76
|
interface DryRunResult {
|
|
@@ -1028,7 +1086,8 @@ export async function executeAPICall(
|
|
|
1028
1086
|
if (userId) {
|
|
1029
1087
|
const isDynamic = await hasDynamicConfig(providerId);
|
|
1030
1088
|
if (isDynamic) {
|
|
1031
|
-
|
|
1089
|
+
const dynamicResult = await executeDynamicAction(providerId, action, params, userId, customerKey);
|
|
1090
|
+
return normalizeResponse(dynamicResult);
|
|
1032
1091
|
}
|
|
1033
1092
|
}
|
|
1034
1093
|
|
|
@@ -1083,12 +1142,12 @@ export async function executeAPICall(
|
|
|
1083
1142
|
if (PROXY_PROVIDERS.includes(providerId)) {
|
|
1084
1143
|
try {
|
|
1085
1144
|
const proxyResult = await callProxy(providerId, { action, ...params });
|
|
1086
|
-
return {
|
|
1145
|
+
return normalizeResponse({
|
|
1087
1146
|
success: true,
|
|
1088
1147
|
provider: providerId,
|
|
1089
1148
|
action,
|
|
1090
1149
|
data: proxyResult,
|
|
1091
|
-
};
|
|
1150
|
+
});
|
|
1092
1151
|
} catch (e: any) {
|
|
1093
1152
|
return {
|
|
1094
1153
|
success: false,
|
|
@@ -1106,9 +1165,10 @@ export async function executeAPICall(
|
|
|
1106
1165
|
};
|
|
1107
1166
|
}
|
|
1108
1167
|
|
|
1109
|
-
// Execute
|
|
1168
|
+
// Execute and normalize response
|
|
1110
1169
|
try {
|
|
1111
|
-
|
|
1170
|
+
const result = await handler(params, creds);
|
|
1171
|
+
return normalizeResponse(result);
|
|
1112
1172
|
} catch (error: any) {
|
|
1113
1173
|
return {
|
|
1114
1174
|
success: false,
|