@nordsym/apiclaw 1.3.11 → 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/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: 100,
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] || 100;
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: args.billingPlan === "free" ? "free" : "pro",
86
+ tier: newTier,
73
87
  usageLimit: newLimit,
88
+ ...(backerUntil && { backerUntil }),
74
89
  updatedAt: Date.now(),
75
90
  });
76
91
 
@@ -13,7 +13,7 @@ const EARN_REWARDS = {
13
13
  byokSetup: 5,
14
14
  githubStarred: 10,
15
15
  twitterFollowed: 5,
16
- referral: 10, // per referral
16
+ referral: 0, // DISABLED (2026-03-01): Risk of abuse
17
17
  } as const;
18
18
 
19
19
  const APIS_REQUIRED_FOR_COMPLETE = 3;
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")
@@ -94,7 +94,10 @@ export const verifyMagicLink = mutation({
94
94
  status: "active",
95
95
  tier: "free",
96
96
  usageCount: 0,
97
- usageLimit: 50, // 50 free API calls
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
- // Process referral for new users
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
- // Update new user's referredBy
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 newCount = workspace.usageCount + amount;
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
- // Check if over limit
554
- if (newCount > workspace.usageLimit) {
555
- throw new Error("Usage limit exceeded");
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: newCount,
560
- updatedAt: Date.now(),
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: newCount,
566
- usageRemaining: workspace.usageLimit - newCount,
596
+ usageCount: newTotalCount,
597
+ weeklyUsageCount: newWeeklyCount,
598
+ weeklyRemaining,
599
+ hourlyRemaining,
600
+ isBacker,
567
601
  };
568
602
  },
569
603
  });
package/dist/execute.d.ts CHANGED
@@ -8,6 +8,10 @@ interface ExecuteResult {
8
8
  data?: unknown;
9
9
  error?: string;
10
10
  cost?: number;
11
+ url?: string;
12
+ id?: string;
13
+ content?: string;
14
+ status?: string;
11
15
  }
12
16
  interface DryRunResult {
13
17
  dry_run: true;
@@ -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;CACf;AAED,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,CA8FxB"}
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
- return executeDynamicAction(providerId, action, params, userId, customerKey);
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
- return await handler(params, creds);
987
+ const result = await handler(params, creds);
988
+ return normalizeResponse(result);
940
989
  }
941
990
  catch (error) {
942
991
  return {
@@ -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*
@@ -197,27 +197,33 @@ export default function Home() {
197
197
  };
198
198
 
199
199
  const copyContextToClipboard = () => {
200
- const context = `APIClaw – Direct Call Execution Layer for AI Agents
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
- Direct Call = Zero-Config Execution:
205
- No API key management needed
206
- APIClaw handles auth, headers, signatures
207
- Execute immediately on ${statsData.directCallCount} providers
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
- Available Providers:
210
- Replicate (AI models), ElevenLabs (voice), OpenRouter (LLMs), Resend (email), 46elks (SMS), Brave Search, Firecrawl, E2B, GitHub
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
- list_connected - See providers ready for instant execution
214
- call_api(provider, action, params) - Execute directly. Auth handled by APIClaw — omit/leave auth fields empty
215
- discover_apis - Search ${statsData.apiCount.toLocaleString()}+ APIs by capability
216
- get_api_details - Full specs if you need them
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
- You have authority to act. Use call_api directly.
224
+ When an API call helps the task, execute it directly.
219
225
 
220
- Install: npx @nordsym/apiclaw mcp-install
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
- Structured data. Ranked results. Sub-200ms responses.
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 client 🦞"}</span>
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-4xl mx-auto">
970
+ <div className="max-w-5xl mx-auto">
966
971
  <div className="text-center mb-16">
967
- <span className="section-label">GET STARTED</span>
972
+ <span className="section-label">PRICING</span>
968
973
  <h2 className="text-3xl md:text-4xl font-bold mt-4 tracking-tight">
969
- Simple. Free. Forever.
974
+ Simple pricing. Start free.
970
975
  </h2>
971
976
  <p className="text-text-secondary text-lg mt-4">
972
- API discovery should be free. We're building the API layer for AI agents.
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-2 gap-6 md:gap-8">
977
- {/* For Agents */}
978
- <div className="rounded-2xl bg-surface-elevated border-2 border-accent p-6 sm:p-8 relative glow">
979
- <div className="absolute -top-3 left-1/2 -translate-x-1/2 px-3 sm:px-4 py-1 bg-accent text-white text-xs font-bold tracking-wide rounded-full uppercase">
980
- Live Now
981
- </div>
982
- <h3 className="text-xl sm:text-2xl font-bold mb-2">For Agents</h3>
983
- <p className="text-text-secondary mb-6 sm:mb-8">Discovery + Direct Call</p>
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: Use APIs without keys
991
+ 50 Direct Call requests/week
992
992
  </li>
993
- <li className="flex items-start gap-3 text-text-secondary text-sm sm:text-base">
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
- 18 providers (AI Models, Scraping, Code, Search)
995
+ Unlimited API discovery
996
996
  </li>
997
- <li className="flex items-start gap-3 text-text-secondary text-sm sm:text-base">
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
- Structured JSON responses
999
+ 18 Direct Call providers
1000
1000
  </li>
1001
- <li className="flex items-start gap-3 text-text-secondary text-sm sm:text-base">
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-primary w-full justify-center">
1007
- Get Started Free
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
- {/* For Providers */}
1012
- <div className="rounded-2xl bg-surface-elevated border-2 border-accent p-6 sm:p-8 relative glow">
1013
- <div className="absolute -top-3 left-1/2 -translate-x-1/2 px-3 sm:px-4 py-1 bg-accent text-white text-xs font-bold tracking-wide rounded-full uppercase">
1014
- Live Now
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 sm:text-2xl font-bold mb-2">For API Providers</h3>
1017
- <p className="text-text-secondary mb-6 sm:mb-8">Get discovered by AI agents</p>
1018
- <ul className="space-y-3 sm:space-y-4 mb-6 sm:mb-8">
1019
- <li className="flex items-start gap-3 text-text-secondary text-sm sm:text-base">
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
- Get discovered by AI agents
1022
+ Unlimited Direct Call requests
1022
1023
  </li>
1023
- <li className="flex items-start gap-3 text-text-secondary text-sm sm:text-base">
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
- Become a Direct Call partner
1026
+ Add card, get monthly invoice
1026
1027
  </li>
1027
- <li className="flex items-start gap-3 text-text-secondary text-sm sm:text-base">
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
- Self-service onboarding
1030
+ No commitment, cancel anytime
1030
1031
  </li>
1031
- <li className="flex items-start gap-3 text-text-secondary text-sm sm:text-base">
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
- Analytics & usage insights
1034
+ Priority support
1034
1035
  </li>
1035
- <li className="flex items-start gap-3 text-text-secondary text-sm sm:text-base">
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
- Zero integration work
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=my-apis" className="btn-primary w-full justify-center">
1041
- Add Your API
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 client."
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 ? "10,000" : "100"} API calls/month</span>
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>Advanced analytics</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>All providers</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
- Upgrade to Pro
214
+ 🦞 Become a Founding Backer
215
215
  </div>
216
216
  <div className="text-gray-400">
217
- 100x more API calls, priority support
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">/month</div>
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. Cancel anytime.
255
+ Secure payment via Stripe. One-time payment, no subscription.
256
256
  </div>
257
257
  </div>
258
258
  )}
259
259
 
260
- {/* Already Pro Message */}
260
+ {/* Already Backer Message */}
261
261
  {isPro && !success && (
262
262
  <div className="text-center text-gray-400">
263
- You&apos;re on the Pro plan. Enjoy unlimited API calls!
263
+ 🦞 You&apos;re a Founding Backer! Unlimited API calls until Dec 31, 2026.
264
264
  </div>
265
265
  )}
266
266
 
@@ -4,7 +4,7 @@
4
4
  "directCallCount": 18,
5
5
  "categoryCount": 13,
6
6
  "lastUpdated": "2026-02-27T09:10:41.344767",
7
- "generatedAt": "2026-03-01T16:05:56.209Z",
7
+ "generatedAt": "2026-03-01T21:34:51.471Z",
8
8
  "categoryBreakdown": {
9
9
  "Finance": 1179,
10
10
  "Auth & Security": 491,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordsym/apiclaw",
3
- "version": "1.3.11",
3
+ "version": "1.3.12",
4
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",
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
- return executeDynamicAction(providerId, action, params, userId, customerKey);
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
- return await handler(params, creds);
1170
+ const result = await handler(params, creds);
1171
+ return normalizeResponse(result);
1112
1172
  } catch (error: any) {
1113
1173
  return {
1114
1174
  success: false,