@nordsym/apiclaw 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/.env.prod +1 -0
  2. package/AGENTS.md +50 -33
  3. package/README.md +22 -12
  4. package/SOUL.md +60 -19
  5. package/STATUS.md +91 -169
  6. package/convex/_generated/api.d.ts +6 -0
  7. package/convex/directCall.ts +598 -0
  8. package/convex/http.ts +32 -0
  9. package/convex/providers.ts +341 -26
  10. package/convex/schema.ts +87 -0
  11. package/convex/usage.ts +260 -0
  12. package/convex/waitlist.ts +55 -0
  13. package/data/combined-02-25.json +5602 -0
  14. package/data/combined-02-26.json +22102 -0
  15. package/data/night-batch-02-25.json +2732 -0
  16. package/data/night-expansion-02-25.json +2872 -0
  17. package/data/night-expansion-02-26-06-batch2.json +1898 -0
  18. package/data/night-expansion-02-26-06-batch3.json +1410 -0
  19. package/data/night-expansion-02-26-06.json +3146 -0
  20. package/data/night-expansion-02-26-full.json +9726 -0
  21. package/data/night-expansion-02-26-v2.json +330 -0
  22. package/data/night-expansion-02-26.json +171 -0
  23. package/dist/credentials.d.ts.map +1 -1
  24. package/dist/credentials.js +15 -0
  25. package/dist/credentials.js.map +1 -1
  26. package/dist/crypto.d.ts +7 -0
  27. package/dist/crypto.d.ts.map +1 -0
  28. package/dist/crypto.js +67 -0
  29. package/dist/crypto.js.map +1 -0
  30. package/dist/execute-dynamic.d.ts +116 -0
  31. package/dist/execute-dynamic.d.ts.map +1 -0
  32. package/dist/execute-dynamic.js +456 -0
  33. package/dist/execute-dynamic.js.map +1 -0
  34. package/dist/execute.d.ts +2 -1
  35. package/dist/execute.d.ts.map +1 -1
  36. package/dist/execute.js +111 -5
  37. package/dist/execute.js.map +1 -1
  38. package/dist/index.js +35 -4
  39. package/dist/index.js.map +1 -1
  40. package/dist/proxy.d.ts.map +1 -1
  41. package/dist/proxy.js +1 -1
  42. package/dist/proxy.js.map +1 -1
  43. package/dist/registry/apis.json +46554 -174
  44. package/docs/PRD-customer-key-passthrough.md +184 -0
  45. package/landing/public/badges/available-on-apiclaw.svg +14 -0
  46. package/landing/scripts/generate-stats.js +75 -4
  47. package/landing/src/app/admin/page.tsx +1 -1
  48. package/landing/src/app/api/auth/magic-link/route.ts +9 -2
  49. package/landing/src/app/api/auth/session/route.ts +1 -1
  50. package/landing/src/app/api/auth/verify/route.ts +8 -5
  51. package/landing/src/app/api/og/route.tsx +5 -3
  52. package/landing/src/app/docs/page.tsx +23 -22
  53. package/landing/src/app/earn/page.tsx +20 -17
  54. package/landing/src/app/globals.css +16 -15
  55. package/landing/src/app/layout.tsx +2 -2
  56. package/landing/src/app/page.tsx +555 -252
  57. package/landing/src/app/providers/dashboard/[apiId]/actions/[actionId]/edit/page.tsx +600 -0
  58. package/landing/src/app/providers/dashboard/[apiId]/actions/new/page.tsx +583 -0
  59. package/landing/src/app/providers/dashboard/[apiId]/actions/page.tsx +301 -0
  60. package/landing/src/app/providers/dashboard/[apiId]/direct-call/page.tsx +659 -0
  61. package/landing/src/app/providers/dashboard/[apiId]/page.tsx +381 -0
  62. package/landing/src/app/providers/dashboard/[apiId]/test/page.tsx +418 -0
  63. package/landing/src/app/providers/dashboard/layout.tsx +292 -0
  64. package/landing/src/app/providers/dashboard/page.tsx +353 -290
  65. package/landing/src/app/providers/page.tsx +6 -5
  66. package/landing/src/app/providers/register/page.tsx +88 -11
  67. package/landing/src/components/AiClientDropdown.tsx +85 -0
  68. package/landing/src/components/ConfigHelperModal.tsx +113 -0
  69. package/landing/src/components/HeroTabs.tsx +187 -0
  70. package/landing/src/components/ShareIntegrationModal.tsx +198 -0
  71. package/landing/src/hooks/useDashboardData.ts +53 -1
  72. package/landing/src/lib/apis.json +46554 -174
  73. package/landing/src/lib/convex-client.ts +28 -5
  74. package/landing/src/lib/stats.json +4 -4
  75. package/landing/tsconfig.tsbuildinfo +1 -1
  76. package/night-expansion-02-26-06-batch2.py +368 -0
  77. package/night-expansion-02-26-06-batch3.py +299 -0
  78. package/night-expansion-02-26-06.py +756 -0
  79. package/package.json +2 -1
  80. package/scripts/bulk-add-public-apis-v2.py +418 -0
  81. package/scripts/merge-to-registry.py +77 -0
  82. package/scripts/night-batch-02-24.py +391 -0
  83. package/scripts/night-batch-02-25.py +479 -0
  84. package/scripts/night-batch-03-24-b2.py +387 -0
  85. package/scripts/night-batch-03-24-b3.py +284 -0
  86. package/scripts/night-batch-03-24.py +447 -0
  87. package/scripts/night-batch-06-24-b2.py +695 -0
  88. package/scripts/night-batch-06-24-b3.py +696 -0
  89. package/scripts/night-batch-06-24.py +825 -0
  90. package/scripts/night-expansion-02-24-02.py +708 -0
  91. package/scripts/night-expansion-02-25.py +668 -0
  92. package/scripts/night-expansion-02-26-v2.py +296 -0
  93. package/scripts/night-expansion-02-26.py +890 -0
  94. package/scripts/seed-complete-api.js +181 -0
  95. package/scripts/seed-demo-api.sh +44 -0
  96. package/src/credentials.ts +16 -0
  97. package/src/crypto.ts +75 -0
  98. package/src/execute-dynamic.ts +589 -0
  99. package/src/execute.ts +127 -5
  100. package/src/index.ts +40 -4
  101. package/src/proxy.ts +1 -1
  102. package/src/registry/apis.json +46554 -174
@@ -0,0 +1,825 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ APIClaw Night Expansion - 2026-02-24 06:00
4
+ Target: Add 1000+ new APIs
5
+ """
6
+
7
+ import json
8
+ import os
9
+ from datetime import datetime
10
+
11
+ REGISTRY_PATH = os.path.expanduser("~/Projects/apiclaw/src/registry/apis.json")
12
+
13
+ # Load existing
14
+ with open(REGISTRY_PATH, 'r') as f:
15
+ data = json.load(f)
16
+
17
+ existing_ids = set(api['id'] for api in data['apis'])
18
+ print(f"Existing APIs: {len(existing_ids)}")
19
+
20
+ def make_id(name):
21
+ return name.lower().replace(' ', '-').replace('.', '-').replace('/', '-').replace('_', '-')
22
+
23
+ # New API batches organized by category
24
+ NEW_APIS = [
25
+ # === ENTERPRISE & B2B SaaS ===
26
+ {"name": "Salesforce Commerce Cloud", "desc": "B2C and B2B e-commerce platform APIs", "cat": "Business", "auth": "OAuth"},
27
+ {"name": "ServiceNow", "desc": "IT service management and workflow automation", "cat": "Business", "auth": "OAuth"},
28
+ {"name": "Workday", "desc": "Enterprise HR, finance, and planning platform", "cat": "Business", "auth": "OAuth"},
29
+ {"name": "SAP SuccessFactors", "desc": "Human capital management cloud solutions", "cat": "Business", "auth": "OAuth"},
30
+ {"name": "Oracle Cloud ERP", "desc": "Enterprise resource planning APIs", "cat": "Business", "auth": "OAuth"},
31
+ {"name": "NetSuite", "desc": "Cloud-based business management suite", "cat": "Business", "auth": "OAuth"},
32
+ {"name": "Zendesk Sell", "desc": "Sales CRM and pipeline management", "cat": "Business", "auth": "apiKey"},
33
+ {"name": "Freshworks CRM", "desc": "AI-powered CRM platform", "cat": "Business", "auth": "apiKey"},
34
+ {"name": "Monday.com", "desc": "Work operating system and project management", "cat": "Business", "auth": "apiKey"},
35
+ {"name": "ClickUp", "desc": "Productivity and project management platform", "cat": "Business", "auth": "apiKey"},
36
+ {"name": "Notion API", "desc": "Workspace and documentation platform", "cat": "Business", "auth": "OAuth"},
37
+ {"name": "Coda", "desc": "All-in-one doc platform with building blocks", "cat": "Business", "auth": "apiKey"},
38
+ {"name": "Airtable", "desc": "Low-code database and app platform", "cat": "Business", "auth": "apiKey"},
39
+ {"name": "Basecamp", "desc": "Project management and team communication", "cat": "Business", "auth": "OAuth"},
40
+ {"name": "Asana", "desc": "Work management platform for teams", "cat": "Business", "auth": "OAuth"},
41
+ {"name": "Wrike", "desc": "Collaborative work management platform", "cat": "Business", "auth": "OAuth"},
42
+ {"name": "Smartsheet", "desc": "Dynamic work platform for enterprise", "cat": "Business", "auth": "apiKey"},
43
+ {"name": "Teamwork", "desc": "Project management and client work", "cat": "Business", "auth": "apiKey"},
44
+ {"name": "Zoho Projects", "desc": "Cloud-based project management", "cat": "Business", "auth": "OAuth"},
45
+ {"name": "Jira Software", "desc": "Agile project management for dev teams", "cat": "Development", "auth": "OAuth"},
46
+
47
+ # === FINTECH & PAYMENTS ===
48
+ {"name": "Plaid Transactions", "desc": "Bank transaction data and categorization", "cat": "Finance", "auth": "apiKey"},
49
+ {"name": "Plaid Identity", "desc": "User identity verification via banks", "cat": "Finance", "auth": "apiKey"},
50
+ {"name": "Plaid Investments", "desc": "Investment account data and holdings", "cat": "Finance", "auth": "apiKey"},
51
+ {"name": "Stripe Connect", "desc": "Platform payments and marketplace payouts", "cat": "Finance", "auth": "apiKey"},
52
+ {"name": "Stripe Billing", "desc": "Subscription and recurring billing", "cat": "Finance", "auth": "apiKey"},
53
+ {"name": "Stripe Identity", "desc": "Identity verification for fraud prevention", "cat": "Finance", "auth": "apiKey"},
54
+ {"name": "Adyen", "desc": "Global payment platform for enterprises", "cat": "Finance", "auth": "apiKey"},
55
+ {"name": "Braintree", "desc": "Full-stack payments platform by PayPal", "cat": "Finance", "auth": "apiKey"},
56
+ {"name": "Square Payments", "desc": "Payment processing and point of sale", "cat": "Finance", "auth": "OAuth"},
57
+ {"name": "Square Inventory", "desc": "Inventory management for retailers", "cat": "Finance", "auth": "OAuth"},
58
+ {"name": "Klarna", "desc": "Buy now pay later payment solutions", "cat": "Finance", "auth": "apiKey"},
59
+ {"name": "Affirm", "desc": "Buy now pay later platform", "cat": "Finance", "auth": "apiKey"},
60
+ {"name": "Afterpay", "desc": "Installment payment solutions", "cat": "Finance", "auth": "apiKey"},
61
+ {"name": "Wise Business", "desc": "International business transfers", "cat": "Finance", "auth": "apiKey"},
62
+ {"name": "Revolut Business", "desc": "Business banking and expense management", "cat": "Finance", "auth": "apiKey"},
63
+ {"name": "Mercury Bank", "desc": "Banking for startups and tech companies", "cat": "Finance", "auth": "apiKey"},
64
+ {"name": "Brex", "desc": "Corporate cards and spend management", "cat": "Finance", "auth": "apiKey"},
65
+ {"name": "Ramp", "desc": "Corporate cards with spend intelligence", "cat": "Finance", "auth": "apiKey"},
66
+ {"name": "Expensify", "desc": "Expense management and reporting", "cat": "Finance", "auth": "apiKey"},
67
+ {"name": "Bill.com", "desc": "AP/AR automation platform", "cat": "Finance", "auth": "apiKey"},
68
+ {"name": "Melio", "desc": "B2B payments for small businesses", "cat": "Finance", "auth": "apiKey"},
69
+ {"name": "Divvy", "desc": "Expense management and budgeting", "cat": "Finance", "auth": "apiKey"},
70
+ {"name": "Finicity", "desc": "Financial data aggregation by Mastercard", "cat": "Finance", "auth": "apiKey"},
71
+ {"name": "MX", "desc": "Financial data connectivity platform", "cat": "Finance", "auth": "apiKey"},
72
+ {"name": "Yodlee", "desc": "Financial data aggregation by Envestnet", "cat": "Finance", "auth": "apiKey"},
73
+
74
+ # === AI & MACHINE LEARNING ===
75
+ {"name": "OpenAI Assistants", "desc": "Build AI assistants with function calling", "cat": "Machine Learning", "auth": "apiKey"},
76
+ {"name": "OpenAI Vision", "desc": "Image understanding and analysis", "cat": "Machine Learning", "auth": "apiKey"},
77
+ {"name": "OpenAI Audio", "desc": "Speech-to-text and text-to-speech", "cat": "Machine Learning", "auth": "apiKey"},
78
+ {"name": "OpenAI Embeddings", "desc": "Text embeddings for semantic search", "cat": "Machine Learning", "auth": "apiKey"},
79
+ {"name": "Anthropic Claude", "desc": "Constitutional AI language model", "cat": "Machine Learning", "auth": "apiKey"},
80
+ {"name": "Anthropic Messages", "desc": "Multi-turn conversation API", "cat": "Machine Learning", "auth": "apiKey"},
81
+ {"name": "Google Gemini", "desc": "Multimodal AI model by Google", "cat": "Machine Learning", "auth": "apiKey"},
82
+ {"name": "Google Vertex AI", "desc": "Enterprise ML platform", "cat": "Machine Learning", "auth": "OAuth"},
83
+ {"name": "Azure OpenAI", "desc": "OpenAI models on Azure infrastructure", "cat": "Machine Learning", "auth": "apiKey"},
84
+ {"name": "Azure Cognitive Services", "desc": "Vision, speech, language, decision APIs", "cat": "Machine Learning", "auth": "apiKey"},
85
+ {"name": "AWS Bedrock", "desc": "Foundation models on AWS", "cat": "Machine Learning", "auth": "apiKey"},
86
+ {"name": "AWS SageMaker", "desc": "Build, train, deploy ML models", "cat": "Machine Learning", "auth": "apiKey"},
87
+ {"name": "Cohere Generate", "desc": "Text generation and summarization", "cat": "Machine Learning", "auth": "apiKey"},
88
+ {"name": "Cohere Embed", "desc": "Text embeddings for search", "cat": "Machine Learning", "auth": "apiKey"},
89
+ {"name": "Cohere Rerank", "desc": "Semantic search reranking", "cat": "Machine Learning", "auth": "apiKey"},
90
+ {"name": "Mistral AI", "desc": "Open-weight language models", "cat": "Machine Learning", "auth": "apiKey"},
91
+ {"name": "Perplexity", "desc": "AI-powered search and answers", "cat": "Machine Learning", "auth": "apiKey"},
92
+ {"name": "Hugging Face Inference", "desc": "Run ML models via API", "cat": "Machine Learning", "auth": "apiKey"},
93
+ {"name": "Replicate", "desc": "Run ML models in the cloud", "cat": "Machine Learning", "auth": "apiKey"},
94
+ {"name": "Together AI", "desc": "Open source model inference", "cat": "Machine Learning", "auth": "apiKey"},
95
+ {"name": "Groq", "desc": "Ultra-fast LLM inference", "cat": "Machine Learning", "auth": "apiKey"},
96
+ {"name": "Fireworks AI", "desc": "Fast generative AI inference", "cat": "Machine Learning", "auth": "apiKey"},
97
+ {"name": "Anyscale", "desc": "Scalable Ray-based ML platform", "cat": "Machine Learning", "auth": "apiKey"},
98
+ {"name": "Modal", "desc": "Serverless cloud for ML workloads", "cat": "Machine Learning", "auth": "apiKey"},
99
+ {"name": "RunPod", "desc": "GPU cloud for ML inference", "cat": "Machine Learning", "auth": "apiKey"},
100
+ {"name": "Lambda Labs", "desc": "GPU cloud for deep learning", "cat": "Machine Learning", "auth": "apiKey"},
101
+ {"name": "Paperspace", "desc": "ML development environment", "cat": "Machine Learning", "auth": "apiKey"},
102
+ {"name": "Weights and Biases", "desc": "ML experiment tracking", "cat": "Machine Learning", "auth": "apiKey"},
103
+ {"name": "MLflow", "desc": "ML lifecycle management", "cat": "Machine Learning", "auth": "None"},
104
+ {"name": "Neptune.ai", "desc": "Experiment tracking for ML teams", "cat": "Machine Learning", "auth": "apiKey"},
105
+ {"name": "Comet ML", "desc": "ML experiment management", "cat": "Machine Learning", "auth": "apiKey"},
106
+ {"name": "LangSmith", "desc": "LLM application observability", "cat": "Machine Learning", "auth": "apiKey"},
107
+ {"name": "Helicone", "desc": "LLM observability and analytics", "cat": "Machine Learning", "auth": "apiKey"},
108
+ {"name": "PromptLayer", "desc": "Prompt engineering platform", "cat": "Machine Learning", "auth": "apiKey"},
109
+ {"name": "Literal AI", "desc": "LLM observability and evaluation", "cat": "Machine Learning", "auth": "apiKey"},
110
+
111
+ # === VECTOR DATABASES & SEARCH ===
112
+ {"name": "Pinecone", "desc": "Vector database for ML applications", "cat": "Data", "auth": "apiKey"},
113
+ {"name": "Weaviate", "desc": "Open source vector search engine", "cat": "Data", "auth": "apiKey"},
114
+ {"name": "Qdrant", "desc": "Vector similarity search engine", "cat": "Data", "auth": "apiKey"},
115
+ {"name": "Milvus", "desc": "Open source vector database", "cat": "Data", "auth": "apiKey"},
116
+ {"name": "Chroma", "desc": "AI-native embedding database", "cat": "Data", "auth": "None"},
117
+ {"name": "Zilliz Cloud", "desc": "Managed Milvus vector database", "cat": "Data", "auth": "apiKey"},
118
+ {"name": "Elasticsearch Vector", "desc": "Vector search in Elasticsearch", "cat": "Data", "auth": "apiKey"},
119
+ {"name": "MongoDB Atlas Vector", "desc": "Vector search in MongoDB", "cat": "Data", "auth": "apiKey"},
120
+ {"name": "Supabase Vector", "desc": "pgvector on Supabase", "cat": "Data", "auth": "apiKey"},
121
+ {"name": "Neon Vector", "desc": "Serverless Postgres with vector", "cat": "Data", "auth": "apiKey"},
122
+ {"name": "Algolia", "desc": "Search and discovery platform", "cat": "Data", "auth": "apiKey"},
123
+ {"name": "Typesense", "desc": "Open source search engine", "cat": "Data", "auth": "apiKey"},
124
+ {"name": "Meilisearch", "desc": "Lightning-fast search engine", "cat": "Data", "auth": "apiKey"},
125
+ {"name": "OpenSearch", "desc": "Open source search and analytics", "cat": "Data", "auth": "apiKey"},
126
+
127
+ # === DEVTOOLS & INFRASTRUCTURE ===
128
+ {"name": "Vercel", "desc": "Frontend cloud platform", "cat": "Development", "auth": "apiKey"},
129
+ {"name": "Netlify", "desc": "Web development platform", "cat": "Development", "auth": "apiKey"},
130
+ {"name": "Cloudflare Workers", "desc": "Edge computing platform", "cat": "Development", "auth": "apiKey"},
131
+ {"name": "Cloudflare R2", "desc": "S3-compatible object storage", "cat": "Cloud", "auth": "apiKey"},
132
+ {"name": "Cloudflare D1", "desc": "Serverless SQL database", "cat": "Data", "auth": "apiKey"},
133
+ {"name": "Cloudflare KV", "desc": "Global key-value store", "cat": "Data", "auth": "apiKey"},
134
+ {"name": "Deno Deploy", "desc": "Serverless JavaScript platform", "cat": "Development", "auth": "apiKey"},
135
+ {"name": "Fly.io", "desc": "Run apps close to users globally", "cat": "Development", "auth": "apiKey"},
136
+ {"name": "Railway", "desc": "Infrastructure made simple", "cat": "Development", "auth": "apiKey"},
137
+ {"name": "Render", "desc": "Cloud application platform", "cat": "Development", "auth": "apiKey"},
138
+ {"name": "PlanetScale", "desc": "Serverless MySQL platform", "cat": "Data", "auth": "apiKey"},
139
+ {"name": "Neon", "desc": "Serverless Postgres", "cat": "Data", "auth": "apiKey"},
140
+ {"name": "CockroachDB", "desc": "Distributed SQL database", "cat": "Data", "auth": "apiKey"},
141
+ {"name": "Turso", "desc": "Edge SQLite database", "cat": "Data", "auth": "apiKey"},
142
+ {"name": "Upstash Redis", "desc": "Serverless Redis", "cat": "Data", "auth": "apiKey"},
143
+ {"name": "Upstash Kafka", "desc": "Serverless Kafka", "cat": "Data", "auth": "apiKey"},
144
+ {"name": "Upstash QStash", "desc": "Serverless messaging", "cat": "Data", "auth": "apiKey"},
145
+ {"name": "Convex", "desc": "Backend application platform", "cat": "Development", "auth": "apiKey"},
146
+ {"name": "Supabase Auth", "desc": "Authentication for Supabase", "cat": "Development", "auth": "apiKey"},
147
+ {"name": "Supabase Storage", "desc": "Object storage for Supabase", "cat": "Cloud", "auth": "apiKey"},
148
+ {"name": "Supabase Realtime", "desc": "Real-time subscriptions", "cat": "Development", "auth": "apiKey"},
149
+ {"name": "Firebase Auth", "desc": "User authentication", "cat": "Development", "auth": "apiKey"},
150
+ {"name": "Firebase Firestore", "desc": "NoSQL document database", "cat": "Data", "auth": "apiKey"},
151
+ {"name": "Firebase Storage", "desc": "Cloud storage for apps", "cat": "Cloud", "auth": "apiKey"},
152
+ {"name": "Firebase Functions", "desc": "Serverless backend code", "cat": "Development", "auth": "apiKey"},
153
+ {"name": "AWS Lambda", "desc": "Serverless compute", "cat": "Development", "auth": "apiKey"},
154
+ {"name": "AWS S3", "desc": "Object storage service", "cat": "Cloud", "auth": "apiKey"},
155
+ {"name": "AWS DynamoDB", "desc": "NoSQL database service", "cat": "Data", "auth": "apiKey"},
156
+ {"name": "AWS SQS", "desc": "Message queuing service", "cat": "Development", "auth": "apiKey"},
157
+ {"name": "AWS SNS", "desc": "Push notification service", "cat": "Development", "auth": "apiKey"},
158
+ {"name": "AWS EventBridge", "desc": "Serverless event bus", "cat": "Development", "auth": "apiKey"},
159
+ {"name": "Google Cloud Functions", "desc": "Serverless functions", "cat": "Development", "auth": "OAuth"},
160
+ {"name": "Google Cloud Storage", "desc": "Object storage", "cat": "Cloud", "auth": "OAuth"},
161
+ {"name": "Google BigQuery", "desc": "Data warehouse", "cat": "Data", "auth": "OAuth"},
162
+ {"name": "Google Pub/Sub", "desc": "Messaging service", "cat": "Development", "auth": "OAuth"},
163
+
164
+ # === AUTHENTICATION & IDENTITY ===
165
+ {"name": "Auth0", "desc": "Identity platform for developers", "cat": "Security", "auth": "OAuth"},
166
+ {"name": "Clerk", "desc": "User management and authentication", "cat": "Security", "auth": "apiKey"},
167
+ {"name": "Okta", "desc": "Enterprise identity management", "cat": "Security", "auth": "OAuth"},
168
+ {"name": "WorkOS", "desc": "Enterprise-ready auth", "cat": "Security", "auth": "apiKey"},
169
+ {"name": "Stytch", "desc": "Passwordless authentication", "cat": "Security", "auth": "apiKey"},
170
+ {"name": "Magic", "desc": "Web3 auth and wallet infrastructure", "cat": "Security", "auth": "apiKey"},
171
+ {"name": "Privy", "desc": "Auth for web3 apps", "cat": "Security", "auth": "apiKey"},
172
+ {"name": "Dynamic", "desc": "Web3 authentication platform", "cat": "Security", "auth": "apiKey"},
173
+ {"name": "Passage", "desc": "Passkey authentication", "cat": "Security", "auth": "apiKey"},
174
+ {"name": "FusionAuth", "desc": "Customer identity platform", "cat": "Security", "auth": "apiKey"},
175
+ {"name": "Descope", "desc": "Authentication as a service", "cat": "Security", "auth": "apiKey"},
176
+ {"name": "Ory", "desc": "Open source identity infrastructure", "cat": "Security", "auth": "apiKey"},
177
+ {"name": "SuperTokens", "desc": "Open source auth solution", "cat": "Security", "auth": "apiKey"},
178
+ {"name": "Corbado", "desc": "Passkey-first authentication", "cat": "Security", "auth": "apiKey"},
179
+
180
+ # === COMMUNICATION & MESSAGING ===
181
+ {"name": "Twilio Verify", "desc": "Phone verification and 2FA", "cat": "Communication", "auth": "apiKey"},
182
+ {"name": "Twilio Conversations", "desc": "Multi-channel messaging", "cat": "Communication", "auth": "apiKey"},
183
+ {"name": "Twilio Video", "desc": "Programmable video", "cat": "Communication", "auth": "apiKey"},
184
+ {"name": "Twilio Flex", "desc": "Contact center platform", "cat": "Communication", "auth": "apiKey"},
185
+ {"name": "SendGrid", "desc": "Email delivery service", "cat": "Communication", "auth": "apiKey"},
186
+ {"name": "Mailgun", "desc": "Email API service", "cat": "Communication", "auth": "apiKey"},
187
+ {"name": "Postmark", "desc": "Transactional email service", "cat": "Communication", "auth": "apiKey"},
188
+ {"name": "Resend", "desc": "Email API for developers", "cat": "Communication", "auth": "apiKey"},
189
+ {"name": "Loops", "desc": "Email for SaaS companies", "cat": "Communication", "auth": "apiKey"},
190
+ {"name": "Customer.io", "desc": "Marketing automation platform", "cat": "Communication", "auth": "apiKey"},
191
+ {"name": "Braze", "desc": "Customer engagement platform", "cat": "Communication", "auth": "apiKey"},
192
+ {"name": "Iterable", "desc": "Cross-channel marketing", "cat": "Communication", "auth": "apiKey"},
193
+ {"name": "Klaviyo", "desc": "E-commerce marketing automation", "cat": "Communication", "auth": "apiKey"},
194
+ {"name": "Mailchimp", "desc": "Email marketing platform", "cat": "Communication", "auth": "apiKey"},
195
+ {"name": "ConvertKit", "desc": "Creator email marketing", "cat": "Communication", "auth": "apiKey"},
196
+ {"name": "Beehiiv", "desc": "Newsletter platform", "cat": "Communication", "auth": "apiKey"},
197
+ {"name": "Buttondown", "desc": "Newsletter service for developers", "cat": "Communication", "auth": "apiKey"},
198
+ {"name": "Novu", "desc": "Open source notification infrastructure", "cat": "Communication", "auth": "apiKey"},
199
+ {"name": "Knock", "desc": "Notification infrastructure", "cat": "Communication", "auth": "apiKey"},
200
+ {"name": "Courier", "desc": "Multi-channel notifications", "cat": "Communication", "auth": "apiKey"},
201
+ {"name": "OneSignal", "desc": "Push notification service", "cat": "Communication", "auth": "apiKey"},
202
+ {"name": "Pusher", "desc": "Real-time messaging APIs", "cat": "Communication", "auth": "apiKey"},
203
+ {"name": "Ably", "desc": "Real-time messaging platform", "cat": "Communication", "auth": "apiKey"},
204
+ {"name": "PubNub", "desc": "Real-time communication platform", "cat": "Communication", "auth": "apiKey"},
205
+ {"name": "Stream Chat", "desc": "In-app messaging SDK", "cat": "Communication", "auth": "apiKey"},
206
+ {"name": "Sendbird", "desc": "Chat and messaging API", "cat": "Communication", "auth": "apiKey"},
207
+ {"name": "Intercom", "desc": "Customer messaging platform", "cat": "Communication", "auth": "apiKey"},
208
+ {"name": "Drift", "desc": "Conversational marketing", "cat": "Communication", "auth": "apiKey"},
209
+ {"name": "Crisp", "desc": "Customer messaging platform", "cat": "Communication", "auth": "apiKey"},
210
+ {"name": "Tawk.to", "desc": "Live chat software", "cat": "Communication", "auth": "apiKey"},
211
+ {"name": "LiveChat", "desc": "Customer service platform", "cat": "Communication", "auth": "apiKey"},
212
+ {"name": "Zendesk Chat", "desc": "Live chat for support", "cat": "Communication", "auth": "apiKey"},
213
+ {"name": "Freshchat", "desc": "Modern messaging software", "cat": "Communication", "auth": "apiKey"},
214
+
215
+ # === ANALYTICS & OBSERVABILITY ===
216
+ {"name": "Mixpanel", "desc": "Product analytics platform", "cat": "Analytics", "auth": "apiKey"},
217
+ {"name": "Amplitude", "desc": "Digital analytics platform", "cat": "Analytics", "auth": "apiKey"},
218
+ {"name": "Heap", "desc": "Autocapture analytics", "cat": "Analytics", "auth": "apiKey"},
219
+ {"name": "PostHog", "desc": "Open source product analytics", "cat": "Analytics", "auth": "apiKey"},
220
+ {"name": "Segment", "desc": "Customer data platform", "cat": "Analytics", "auth": "apiKey"},
221
+ {"name": "RudderStack", "desc": "Customer data infrastructure", "cat": "Analytics", "auth": "apiKey"},
222
+ {"name": "Jitsu", "desc": "Open source data integration", "cat": "Analytics", "auth": "apiKey"},
223
+ {"name": "Plausible", "desc": "Privacy-friendly analytics", "cat": "Analytics", "auth": "apiKey"},
224
+ {"name": "Fathom", "desc": "Simple website analytics", "cat": "Analytics", "auth": "apiKey"},
225
+ {"name": "Umami", "desc": "Open source web analytics", "cat": "Analytics", "auth": "apiKey"},
226
+ {"name": "Simple Analytics", "desc": "Privacy-first analytics", "cat": "Analytics", "auth": "apiKey"},
227
+ {"name": "Pirsch", "desc": "Cookie-free web analytics", "cat": "Analytics", "auth": "apiKey"},
228
+ {"name": "June", "desc": "Product analytics for B2B SaaS", "cat": "Analytics", "auth": "apiKey"},
229
+ {"name": "Datadog", "desc": "Cloud monitoring platform", "cat": "Analytics", "auth": "apiKey"},
230
+ {"name": "New Relic", "desc": "Observability platform", "cat": "Analytics", "auth": "apiKey"},
231
+ {"name": "Grafana Cloud", "desc": "Observability stack", "cat": "Analytics", "auth": "apiKey"},
232
+ {"name": "Honeycomb", "desc": "Observability for distributed systems", "cat": "Analytics", "auth": "apiKey"},
233
+ {"name": "Lightstep", "desc": "Distributed tracing", "cat": "Analytics", "auth": "apiKey"},
234
+ {"name": "Sentry", "desc": "Error tracking and performance", "cat": "Development", "auth": "apiKey"},
235
+ {"name": "Bugsnag", "desc": "Error monitoring", "cat": "Development", "auth": "apiKey"},
236
+ {"name": "LogRocket", "desc": "Session replay and analytics", "cat": "Analytics", "auth": "apiKey"},
237
+ {"name": "FullStory", "desc": "Digital experience analytics", "cat": "Analytics", "auth": "apiKey"},
238
+ {"name": "Hotjar", "desc": "Heatmaps and session recordings", "cat": "Analytics", "auth": "apiKey"},
239
+ {"name": "Smartlook", "desc": "Qualitative analytics", "cat": "Analytics", "auth": "apiKey"},
240
+ {"name": "Mouseflow", "desc": "Session replay and heatmaps", "cat": "Analytics", "auth": "apiKey"},
241
+ {"name": "Lucky Orange", "desc": "Conversion optimization", "cat": "Analytics", "auth": "apiKey"},
242
+ {"name": "Clarity", "desc": "Free heatmaps by Microsoft", "cat": "Analytics", "auth": "None"},
243
+ {"name": "Pendo", "desc": "Product experience platform", "cat": "Analytics", "auth": "apiKey"},
244
+ {"name": "Appcues", "desc": "Product adoption platform", "cat": "Analytics", "auth": "apiKey"},
245
+ {"name": "UserPilot", "desc": "Product growth platform", "cat": "Analytics", "auth": "apiKey"},
246
+ {"name": "Chameleon", "desc": "Product tours and surveys", "cat": "Analytics", "auth": "apiKey"},
247
+
248
+ # === E-COMMERCE & RETAIL ===
249
+ {"name": "Shopify Admin", "desc": "E-commerce platform APIs", "cat": "Shopping", "auth": "OAuth"},
250
+ {"name": "Shopify Storefront", "desc": "Headless commerce APIs", "cat": "Shopping", "auth": "apiKey"},
251
+ {"name": "WooCommerce", "desc": "WordPress e-commerce", "cat": "Shopping", "auth": "apiKey"},
252
+ {"name": "BigCommerce", "desc": "E-commerce platform", "cat": "Shopping", "auth": "OAuth"},
253
+ {"name": "Magento", "desc": "Adobe Commerce platform", "cat": "Shopping", "auth": "OAuth"},
254
+ {"name": "Medusa", "desc": "Open source commerce platform", "cat": "Shopping", "auth": "apiKey"},
255
+ {"name": "Saleor", "desc": "GraphQL commerce platform", "cat": "Shopping", "auth": "apiKey"},
256
+ {"name": "Vendure", "desc": "Headless commerce framework", "cat": "Shopping", "auth": "apiKey"},
257
+ {"name": "Commerce.js", "desc": "Headless commerce API", "cat": "Shopping", "auth": "apiKey"},
258
+ {"name": "Swell", "desc": "Headless e-commerce platform", "cat": "Shopping", "auth": "apiKey"},
259
+ {"name": "Crystallize", "desc": "Product information management", "cat": "Shopping", "auth": "apiKey"},
260
+ {"name": "Printful", "desc": "Print-on-demand fulfillment", "cat": "Shopping", "auth": "apiKey"},
261
+ {"name": "Printify", "desc": "Print-on-demand platform", "cat": "Shopping", "auth": "apiKey"},
262
+ {"name": "Gooten", "desc": "Print-on-demand fulfillment", "cat": "Shopping", "auth": "apiKey"},
263
+ {"name": "ShipStation", "desc": "Shipping software", "cat": "Shopping", "auth": "apiKey"},
264
+ {"name": "ShipBob", "desc": "E-commerce fulfillment", "cat": "Shopping", "auth": "apiKey"},
265
+ {"name": "Shippo", "desc": "Shipping API", "cat": "Shopping", "auth": "apiKey"},
266
+ {"name": "EasyPost", "desc": "Shipping API", "cat": "Shopping", "auth": "apiKey"},
267
+ {"name": "AfterShip", "desc": "Shipment tracking", "cat": "Shopping", "auth": "apiKey"},
268
+ {"name": "Route", "desc": "Package protection", "cat": "Shopping", "auth": "apiKey"},
269
+ {"name": "Yotpo", "desc": "E-commerce marketing", "cat": "Shopping", "auth": "apiKey"},
270
+ {"name": "Stamped.io", "desc": "Reviews and loyalty", "cat": "Shopping", "auth": "apiKey"},
271
+ {"name": "Judge.me", "desc": "Product reviews", "cat": "Shopping", "auth": "apiKey"},
272
+ {"name": "Loox", "desc": "Photo reviews", "cat": "Shopping", "auth": "apiKey"},
273
+ {"name": "Rebuy", "desc": "Personalization engine", "cat": "Shopping", "auth": "apiKey"},
274
+ {"name": "Nosto", "desc": "Commerce experience platform", "cat": "Shopping", "auth": "apiKey"},
275
+ {"name": "Dynamic Yield", "desc": "Personalization platform", "cat": "Shopping", "auth": "apiKey"},
276
+
277
+ # === CONTENT & MEDIA ===
278
+ {"name": "Contentful", "desc": "Headless CMS platform", "cat": "Data", "auth": "apiKey"},
279
+ {"name": "Sanity", "desc": "Real-time content platform", "cat": "Data", "auth": "apiKey"},
280
+ {"name": "Strapi", "desc": "Open source headless CMS", "cat": "Data", "auth": "apiKey"},
281
+ {"name": "Hygraph", "desc": "Federated content platform", "cat": "Data", "auth": "apiKey"},
282
+ {"name": "Prismic", "desc": "Headless website builder", "cat": "Data", "auth": "apiKey"},
283
+ {"name": "Storyblok", "desc": "Visual headless CMS", "cat": "Data", "auth": "apiKey"},
284
+ {"name": "DatoCMS", "desc": "API-first CMS", "cat": "Data", "auth": "apiKey"},
285
+ {"name": "Payload CMS", "desc": "Headless CMS and app framework", "cat": "Data", "auth": "apiKey"},
286
+ {"name": "Ghost", "desc": "Publishing platform", "cat": "Data", "auth": "apiKey"},
287
+ {"name": "Hashnode", "desc": "Developer blogging platform", "cat": "Data", "auth": "apiKey"},
288
+ {"name": "Dev.to", "desc": "Developer community platform", "cat": "Social", "auth": "apiKey"},
289
+ {"name": "Medium", "desc": "Publishing platform", "cat": "Social", "auth": "OAuth"},
290
+ {"name": "Substack", "desc": "Newsletter platform", "cat": "Communication", "auth": "apiKey"},
291
+ {"name": "Cloudinary", "desc": "Image and video management", "cat": "Data", "auth": "apiKey"},
292
+ {"name": "imgix", "desc": "Image processing API", "cat": "Data", "auth": "apiKey"},
293
+ {"name": "ImageKit", "desc": "Image optimization CDN", "cat": "Data", "auth": "apiKey"},
294
+ {"name": "Uploadcare", "desc": "File uploading and processing", "cat": "Data", "auth": "apiKey"},
295
+ {"name": "Filestack", "desc": "File upload and processing", "cat": "Data", "auth": "apiKey"},
296
+ {"name": "Transloadit", "desc": "File processing API", "cat": "Data", "auth": "apiKey"},
297
+ {"name": "Mux", "desc": "Video infrastructure", "cat": "Video", "auth": "apiKey"},
298
+ {"name": "Cloudflare Stream", "desc": "Video streaming platform", "cat": "Video", "auth": "apiKey"},
299
+ {"name": "Bunny Stream", "desc": "Video CDN and hosting", "cat": "Video", "auth": "apiKey"},
300
+ {"name": "JW Player", "desc": "Video player platform", "cat": "Video", "auth": "apiKey"},
301
+ {"name": "Vimeo OTT", "desc": "Video monetization", "cat": "Video", "auth": "apiKey"},
302
+ {"name": "Wistia", "desc": "Video hosting for business", "cat": "Video", "auth": "apiKey"},
303
+ {"name": "Vidyard", "desc": "Video for sales and marketing", "cat": "Video", "auth": "apiKey"},
304
+ {"name": "Loom", "desc": "Video messaging platform", "cat": "Video", "auth": "apiKey"},
305
+ {"name": "Daily.co", "desc": "Video call API", "cat": "Video", "auth": "apiKey"},
306
+ {"name": "Whereby", "desc": "Video meetings API", "cat": "Video", "auth": "apiKey"},
307
+ {"name": "100ms", "desc": "Live video infrastructure", "cat": "Video", "auth": "apiKey"},
308
+ {"name": "Agora", "desc": "Real-time engagement platform", "cat": "Video", "auth": "apiKey"},
309
+ {"name": "Vonage Video", "desc": "Video API (formerly TokBox)", "cat": "Video", "auth": "apiKey"},
310
+ {"name": "Dyte", "desc": "Real-time communication SDK", "cat": "Video", "auth": "apiKey"},
311
+
312
+ # === SOCIAL & COMMUNITY ===
313
+ {"name": "Discord API", "desc": "Build Discord bots and apps", "cat": "Social", "auth": "OAuth"},
314
+ {"name": "Slack API", "desc": "Slack integrations and bots", "cat": "Social", "auth": "OAuth"},
315
+ {"name": "Microsoft Teams", "desc": "Teams apps and bots", "cat": "Social", "auth": "OAuth"},
316
+ {"name": "Telegram Bot", "desc": "Telegram bot API", "cat": "Social", "auth": "apiKey"},
317
+ {"name": "WhatsApp Business", "desc": "WhatsApp messaging", "cat": "Social", "auth": "apiKey"},
318
+ {"name": "Meta Graph", "desc": "Facebook and Instagram APIs", "cat": "Social", "auth": "OAuth"},
319
+ {"name": "Twitter API v2", "desc": "X/Twitter platform APIs", "cat": "Social", "auth": "OAuth"},
320
+ {"name": "LinkedIn Marketing", "desc": "LinkedIn ads and analytics", "cat": "Social", "auth": "OAuth"},
321
+ {"name": "TikTok for Developers", "desc": "TikTok platform APIs", "cat": "Social", "auth": "OAuth"},
322
+ {"name": "YouTube Data", "desc": "YouTube video management", "cat": "Video", "auth": "OAuth"},
323
+ {"name": "YouTube Analytics", "desc": "YouTube channel analytics", "cat": "Video", "auth": "OAuth"},
324
+ {"name": "Twitch", "desc": "Live streaming platform API", "cat": "Video", "auth": "OAuth"},
325
+ {"name": "Reddit", "desc": "Reddit platform API", "cat": "Social", "auth": "OAuth"},
326
+ {"name": "Pinterest", "desc": "Pinterest platform API", "cat": "Social", "auth": "OAuth"},
327
+ {"name": "Mastodon", "desc": "Decentralized social network", "cat": "Social", "auth": "OAuth"},
328
+ {"name": "Bluesky", "desc": "Decentralized social protocol", "cat": "Social", "auth": "apiKey"},
329
+ {"name": "Threads", "desc": "Meta's text-based social", "cat": "Social", "auth": "OAuth"},
330
+ {"name": "Circle", "desc": "Community platform", "cat": "Social", "auth": "apiKey"},
331
+ {"name": "Discourse", "desc": "Community forum platform", "cat": "Social", "auth": "apiKey"},
332
+ {"name": "Mighty Networks", "desc": "Community building platform", "cat": "Social", "auth": "apiKey"},
333
+ {"name": "Tribe", "desc": "Community platform for SaaS", "cat": "Social", "auth": "apiKey"},
334
+ {"name": "Bettermode", "desc": "Customer community platform", "cat": "Social", "auth": "apiKey"},
335
+ {"name": "Orbit", "desc": "Community growth platform", "cat": "Social", "auth": "apiKey"},
336
+ {"name": "Common Room", "desc": "Community intelligence", "cat": "Social", "auth": "apiKey"},
337
+
338
+ # === LEGAL & COMPLIANCE ===
339
+ {"name": "DocuSign", "desc": "Electronic signature platform", "cat": "Documents", "auth": "OAuth"},
340
+ {"name": "HelloSign", "desc": "E-signature by Dropbox", "cat": "Documents", "auth": "apiKey"},
341
+ {"name": "PandaDoc", "desc": "Document automation", "cat": "Documents", "auth": "apiKey"},
342
+ {"name": "SignNow", "desc": "E-signature solution", "cat": "Documents", "auth": "OAuth"},
343
+ {"name": "Adobe Sign", "desc": "Adobe's e-signature", "cat": "Documents", "auth": "OAuth"},
344
+ {"name": "Ironclad", "desc": "Contract lifecycle management", "cat": "Documents", "auth": "apiKey"},
345
+ {"name": "Juro", "desc": "Contract automation", "cat": "Documents", "auth": "apiKey"},
346
+ {"name": "Contractbook", "desc": "Contract management", "cat": "Documents", "auth": "apiKey"},
347
+ {"name": "Precisely", "desc": "Document creation", "cat": "Documents", "auth": "apiKey"},
348
+ {"name": "OneTrust", "desc": "Privacy management platform", "cat": "Security", "auth": "apiKey"},
349
+ {"name": "TrustArc", "desc": "Privacy compliance", "cat": "Security", "auth": "apiKey"},
350
+ {"name": "Osano", "desc": "Cookie consent management", "cat": "Security", "auth": "apiKey"},
351
+ {"name": "CookieYes", "desc": "Cookie consent solution", "cat": "Security", "auth": "apiKey"},
352
+ {"name": "Termly", "desc": "Compliance solution", "cat": "Security", "auth": "apiKey"},
353
+ {"name": "iubenda", "desc": "Privacy and cookie policy", "cat": "Security", "auth": "apiKey"},
354
+ {"name": "Securiti", "desc": "Data privacy automation", "cat": "Security", "auth": "apiKey"},
355
+ {"name": "BigID", "desc": "Data intelligence platform", "cat": "Security", "auth": "apiKey"},
356
+ {"name": "Drata", "desc": "Compliance automation", "cat": "Security", "auth": "apiKey"},
357
+ {"name": "Vanta", "desc": "Security compliance", "cat": "Security", "auth": "apiKey"},
358
+ {"name": "Secureframe", "desc": "Security and compliance", "cat": "Security", "auth": "apiKey"},
359
+ {"name": "Laika", "desc": "Compliance management", "cat": "Security", "auth": "apiKey"},
360
+ {"name": "Sprinto", "desc": "Compliance automation", "cat": "Security", "auth": "apiKey"},
361
+
362
+ # === HR & RECRUITING ===
363
+ {"name": "BambooHR", "desc": "HR software platform", "cat": "Business", "auth": "apiKey"},
364
+ {"name": "Gusto", "desc": "Payroll and HR platform", "cat": "Business", "auth": "OAuth"},
365
+ {"name": "Rippling", "desc": "HR and IT management", "cat": "Business", "auth": "apiKey"},
366
+ {"name": "Deel", "desc": "Global hiring and payroll", "cat": "Business", "auth": "apiKey"},
367
+ {"name": "Remote.com", "desc": "Global employment platform", "cat": "Business", "auth": "apiKey"},
368
+ {"name": "Oyster", "desc": "Distributed HR platform", "cat": "Business", "auth": "apiKey"},
369
+ {"name": "Papaya Global", "desc": "Global payroll platform", "cat": "Business", "auth": "apiKey"},
370
+ {"name": "Personio", "desc": "HR software for SMBs", "cat": "Business", "auth": "apiKey"},
371
+ {"name": "HiBob", "desc": "Modern HR platform", "cat": "Business", "auth": "apiKey"},
372
+ {"name": "Lattice", "desc": "People management platform", "cat": "Business", "auth": "apiKey"},
373
+ {"name": "15Five", "desc": "Performance management", "cat": "Business", "auth": "apiKey"},
374
+ {"name": "Culture Amp", "desc": "Employee experience", "cat": "Business", "auth": "apiKey"},
375
+ {"name": "Greenhouse", "desc": "Hiring software", "cat": "Business", "auth": "apiKey"},
376
+ {"name": "Lever", "desc": "Recruiting software", "cat": "Business", "auth": "apiKey"},
377
+ {"name": "Ashby", "desc": "All-in-one recruiting", "cat": "Business", "auth": "apiKey"},
378
+ {"name": "Workable", "desc": "Recruiting software", "cat": "Business", "auth": "apiKey"},
379
+ {"name": "JazzHR", "desc": "Recruiting software for SMBs", "cat": "Business", "auth": "apiKey"},
380
+ {"name": "Recruitee", "desc": "Collaborative hiring", "cat": "Business", "auth": "apiKey"},
381
+ {"name": "TeamTailor", "desc": "Employer branding & ATS", "cat": "Business", "auth": "apiKey"},
382
+ {"name": "Breezy HR", "desc": "Applicant tracking", "cat": "Business", "auth": "apiKey"},
383
+ {"name": "Fountain", "desc": "High-volume hiring", "cat": "Business", "auth": "apiKey"},
384
+ {"name": "HireVue", "desc": "Video interviewing", "cat": "Business", "auth": "apiKey"},
385
+ {"name": "Spark Hire", "desc": "Video interviews", "cat": "Business", "auth": "apiKey"},
386
+ {"name": "Calendly", "desc": "Scheduling automation", "cat": "Business", "auth": "apiKey"},
387
+ {"name": "Cal.com", "desc": "Open source scheduling", "cat": "Business", "auth": "apiKey"},
388
+ {"name": "SavvyCal", "desc": "Scheduling for teams", "cat": "Business", "auth": "apiKey"},
389
+ {"name": "Doodle", "desc": "Meeting scheduling", "cat": "Business", "auth": "apiKey"},
390
+ {"name": "Reclaim", "desc": "AI scheduling assistant", "cat": "Business", "auth": "apiKey"},
391
+ {"name": "Clockwise", "desc": "Calendar optimization", "cat": "Business", "auth": "apiKey"},
392
+
393
+ # === AUTOMATION & WORKFLOW ===
394
+ {"name": "Zapier", "desc": "Workflow automation", "cat": "Automation", "auth": "apiKey"},
395
+ {"name": "Make", "desc": "Visual automation platform", "cat": "Automation", "auth": "apiKey"},
396
+ {"name": "n8n", "desc": "Workflow automation platform", "cat": "Automation", "auth": "apiKey"},
397
+ {"name": "Pipedream", "desc": "Integration platform for developers", "cat": "Automation", "auth": "apiKey"},
398
+ {"name": "Tray.io", "desc": "Enterprise automation", "cat": "Automation", "auth": "apiKey"},
399
+ {"name": "Workato", "desc": "Enterprise integration", "cat": "Automation", "auth": "apiKey"},
400
+ {"name": "Pabbly Connect", "desc": "Automation platform", "cat": "Automation", "auth": "apiKey"},
401
+ {"name": "Integrately", "desc": "App integrations", "cat": "Automation", "auth": "apiKey"},
402
+ {"name": "Automate.io", "desc": "Cloud integration", "cat": "Automation", "auth": "apiKey"},
403
+ {"name": "Latenode", "desc": "Low-code automation", "cat": "Automation", "auth": "apiKey"},
404
+ {"name": "Bardeen", "desc": "Browser automation", "cat": "Automation", "auth": "apiKey"},
405
+ {"name": "Axiom", "desc": "Browser automation", "cat": "Automation", "auth": "apiKey"},
406
+ {"name": "Browse AI", "desc": "Web scraping automation", "cat": "Automation", "auth": "apiKey"},
407
+ {"name": "Apify", "desc": "Web scraping platform", "cat": "Automation", "auth": "apiKey"},
408
+ {"name": "ScrapingBee", "desc": "Web scraping API", "cat": "Automation", "auth": "apiKey"},
409
+ {"name": "Bright Data", "desc": "Web data platform", "cat": "Automation", "auth": "apiKey"},
410
+ {"name": "Oxylabs", "desc": "Web scraping solutions", "cat": "Automation", "auth": "apiKey"},
411
+ {"name": "Zyte", "desc": "Web data extraction", "cat": "Automation", "auth": "apiKey"},
412
+ {"name": "Diffbot", "desc": "Knowledge graph from web", "cat": "Automation", "auth": "apiKey"},
413
+ {"name": "RPA Platform", "desc": "Robotic process automation", "cat": "Automation", "auth": "apiKey"},
414
+ {"name": "UiPath", "desc": "Enterprise RPA", "cat": "Automation", "auth": "apiKey"},
415
+ {"name": "Automation Anywhere", "desc": "Intelligent automation", "cat": "Automation", "auth": "apiKey"},
416
+ {"name": "Blue Prism", "desc": "Intelligent automation", "cat": "Automation", "auth": "apiKey"},
417
+ {"name": "Power Automate", "desc": "Microsoft's automation", "cat": "Automation", "auth": "OAuth"},
418
+
419
+ # === SECURITY & TESTING ===
420
+ {"name": "Snyk", "desc": "Developer security platform", "cat": "Security", "auth": "apiKey"},
421
+ {"name": "SonarCloud", "desc": "Code quality and security", "cat": "Security", "auth": "apiKey"},
422
+ {"name": "Dependabot", "desc": "Dependency updates", "cat": "Security", "auth": "apiKey"},
423
+ {"name": "Socket", "desc": "Supply chain security", "cat": "Security", "auth": "apiKey"},
424
+ {"name": "GitGuardian", "desc": "Secrets detection", "cat": "Security", "auth": "apiKey"},
425
+ {"name": "Checkmarx", "desc": "Application security", "cat": "Security", "auth": "apiKey"},
426
+ {"name": "Veracode", "desc": "Application security testing", "cat": "Security", "auth": "apiKey"},
427
+ {"name": "Fortify", "desc": "Application security", "cat": "Security", "auth": "apiKey"},
428
+ {"name": "Semgrep", "desc": "Static analysis", "cat": "Security", "auth": "apiKey"},
429
+ {"name": "CodeQL", "desc": "Semantic code analysis", "cat": "Security", "auth": "apiKey"},
430
+ {"name": "Probely", "desc": "Web vulnerability scanner", "cat": "Security", "auth": "apiKey"},
431
+ {"name": "PortSwigger", "desc": "Web security testing", "cat": "Security", "auth": "apiKey"},
432
+ {"name": "HackerOne", "desc": "Bug bounty platform", "cat": "Security", "auth": "apiKey"},
433
+ {"name": "Bugcrowd", "desc": "Crowdsourced security", "cat": "Security", "auth": "apiKey"},
434
+ {"name": "Intigriti", "desc": "Bug bounty platform", "cat": "Security", "auth": "apiKey"},
435
+ {"name": "Synack", "desc": "Penetration testing", "cat": "Security", "auth": "apiKey"},
436
+ {"name": "Cobalt", "desc": "Pentest as a service", "cat": "Security", "auth": "apiKey"},
437
+ {"name": "Detectify", "desc": "External attack surface", "cat": "Security", "auth": "apiKey"},
438
+ {"name": "StackHawk", "desc": "API security testing", "cat": "Security", "auth": "apiKey"},
439
+ {"name": "42Crunch", "desc": "API security platform", "cat": "Security", "auth": "apiKey"},
440
+ {"name": "Salt Security", "desc": "API protection platform", "cat": "Security", "auth": "apiKey"},
441
+ {"name": "Noname Security", "desc": "API security platform", "cat": "Security", "auth": "apiKey"},
442
+ {"name": "Traceable AI", "desc": "API security", "cat": "Security", "auth": "apiKey"},
443
+ {"name": "CrowdStrike", "desc": "Endpoint protection", "cat": "Security", "auth": "apiKey"},
444
+ {"name": "SentinelOne", "desc": "XDR platform", "cat": "Security", "auth": "apiKey"},
445
+ {"name": "Wiz", "desc": "Cloud security platform", "cat": "Security", "auth": "apiKey"},
446
+ {"name": "Lacework", "desc": "Cloud security", "cat": "Security", "auth": "apiKey"},
447
+ {"name": "Orca Security", "desc": "Cloud security platform", "cat": "Security", "auth": "apiKey"},
448
+ {"name": "Aqua Security", "desc": "Cloud native security", "cat": "Security", "auth": "apiKey"},
449
+ {"name": "Prisma Cloud", "desc": "Cloud security by Palo Alto", "cat": "Security", "auth": "apiKey"},
450
+
451
+ # === LOCATION & MAPS ===
452
+ {"name": "Mapbox", "desc": "Maps and location platform", "cat": "Geo", "auth": "apiKey"},
453
+ {"name": "Google Maps Platform", "desc": "Maps, routes, places", "cat": "Geo", "auth": "apiKey"},
454
+ {"name": "HERE Maps", "desc": "Location platform", "cat": "Geo", "auth": "apiKey"},
455
+ {"name": "TomTom", "desc": "Maps and traffic", "cat": "Geo", "auth": "apiKey"},
456
+ {"name": "OpenStreetMap Nominatim", "desc": "Geocoding service", "cat": "Geo", "auth": "None"},
457
+ {"name": "Mapillary", "desc": "Street-level imagery", "cat": "Geo", "auth": "apiKey"},
458
+ {"name": "What3words", "desc": "Location addressing", "cat": "Geo", "auth": "apiKey"},
459
+ {"name": "Radar", "desc": "Location infrastructure", "cat": "Geo", "auth": "apiKey"},
460
+ {"name": "Roam.ai", "desc": "Location SDK", "cat": "Geo", "auth": "apiKey"},
461
+ {"name": "Foursquare Places", "desc": "Places database", "cat": "Geo", "auth": "apiKey"},
462
+ {"name": "Yelp Fusion", "desc": "Business and review data", "cat": "Geo", "auth": "apiKey"},
463
+ {"name": "Google Places", "desc": "Places information", "cat": "Geo", "auth": "apiKey"},
464
+ {"name": "TripAdvisor", "desc": "Travel and hospitality data", "cat": "Travel", "auth": "apiKey"},
465
+ {"name": "Amadeus", "desc": "Travel technology", "cat": "Travel", "auth": "apiKey"},
466
+ {"name": "Skyscanner", "desc": "Flight search", "cat": "Travel", "auth": "apiKey"},
467
+ {"name": "Kiwi.com", "desc": "Flight booking", "cat": "Travel", "auth": "apiKey"},
468
+ {"name": "Rome2rio", "desc": "Transport search", "cat": "Travel", "auth": "apiKey"},
469
+ {"name": "OpenTripPlanner", "desc": "Trip planning", "cat": "Travel", "auth": "None"},
470
+ {"name": "Transitland", "desc": "Transit data platform", "cat": "Travel", "auth": "apiKey"},
471
+ {"name": "OneBusAway", "desc": "Real-time transit", "cat": "Travel", "auth": "None"},
472
+
473
+ # === HEALTHCARE & WELLNESS ===
474
+ {"name": "Healthkit", "desc": "Apple health data", "cat": "Health", "auth": "OAuth"},
475
+ {"name": "Google Fit", "desc": "Google health platform", "cat": "Health", "auth": "OAuth"},
476
+ {"name": "Fitbit Web API", "desc": "Fitness tracker data", "cat": "Health", "auth": "OAuth"},
477
+ {"name": "Withings", "desc": "Connected health devices", "cat": "Health", "auth": "OAuth"},
478
+ {"name": "Oura", "desc": "Sleep and recovery tracking", "cat": "Health", "auth": "OAuth"},
479
+ {"name": "Whoop", "desc": "Fitness and recovery platform", "cat": "Health", "auth": "OAuth"},
480
+ {"name": "Garmin Connect", "desc": "Fitness tracking platform", "cat": "Health", "auth": "OAuth"},
481
+ {"name": "Strava", "desc": "Social fitness network", "cat": "Health", "auth": "OAuth"},
482
+ {"name": "MyFitnessPal", "desc": "Nutrition tracking", "cat": "Health", "auth": "OAuth"},
483
+ {"name": "Cronometer", "desc": "Nutrition tracker", "cat": "Health", "auth": "apiKey"},
484
+ {"name": "Nutritionix", "desc": "Nutrition database", "cat": "Health", "auth": "apiKey"},
485
+ {"name": "Edamam", "desc": "Food and nutrition data", "cat": "Health", "auth": "apiKey"},
486
+ {"name": "Spoonacular", "desc": "Food and recipe data", "cat": "Food", "auth": "apiKey"},
487
+ {"name": "TheMealDB", "desc": "Recipe database", "cat": "Food", "auth": "apiKey"},
488
+ {"name": "Zestful", "desc": "Ingredient parser", "cat": "Food", "auth": "apiKey"},
489
+ {"name": "Human API", "desc": "Health data platform", "cat": "Health", "auth": "OAuth"},
490
+ {"name": "Validic", "desc": "Digital health data", "cat": "Health", "auth": "apiKey"},
491
+ {"name": "Gyroscope", "desc": "Health tracking platform", "cat": "Health", "auth": "OAuth"},
492
+ {"name": "Terra", "desc": "Wearables data API", "cat": "Health", "auth": "apiKey"},
493
+ {"name": "Vital", "desc": "Health data infrastructure", "cat": "Health", "auth": "apiKey"},
494
+
495
+ # === GAMING & ENTERTAINMENT ===
496
+ {"name": "Steam Web API", "desc": "Steam gaming platform", "cat": "Games", "auth": "apiKey"},
497
+ {"name": "RAWG", "desc": "Video games database", "cat": "Games", "auth": "apiKey"},
498
+ {"name": "IGDB", "desc": "Internet Games Database", "cat": "Games", "auth": "apiKey"},
499
+ {"name": "Giant Bomb", "desc": "Video game wiki", "cat": "Games", "auth": "apiKey"},
500
+ {"name": "Chess.com", "desc": "Online chess platform", "cat": "Games", "auth": "apiKey"},
501
+ {"name": "Lichess", "desc": "Open source chess", "cat": "Games", "auth": "OAuth"},
502
+ {"name": "Riot Games", "desc": "League of Legends data", "cat": "Games", "auth": "apiKey"},
503
+ {"name": "Fortnite-API", "desc": "Fortnite game data", "cat": "Games", "auth": "apiKey"},
504
+ {"name": "Clash of Clans", "desc": "Mobile game API", "cat": "Games", "auth": "apiKey"},
505
+ {"name": "Clash Royale", "desc": "Mobile game API", "cat": "Games", "auth": "apiKey"},
506
+ {"name": "Pokemon TCG", "desc": "Trading card data", "cat": "Games", "auth": "apiKey"},
507
+ {"name": "Scryfall", "desc": "Magic: The Gathering", "cat": "Games", "auth": "None"},
508
+ {"name": "PokéAPI", "desc": "Pokemon data", "cat": "Games", "auth": "None"},
509
+ {"name": "Deezer", "desc": "Music streaming", "cat": "Music", "auth": "OAuth"},
510
+ {"name": "Genius", "desc": "Song lyrics and knowledge", "cat": "Music", "auth": "apiKey"},
511
+ {"name": "Musixmatch", "desc": "Lyrics database", "cat": "Music", "auth": "apiKey"},
512
+ {"name": "Discogs", "desc": "Music database", "cat": "Music", "auth": "OAuth"},
513
+ {"name": "Last.fm", "desc": "Music discovery", "cat": "Music", "auth": "apiKey"},
514
+ {"name": "Audiomack", "desc": "Music streaming", "cat": "Music", "auth": "OAuth"},
515
+ {"name": "Bandcamp", "desc": "Music marketplace", "cat": "Music", "auth": "OAuth"},
516
+ {"name": "SoundCloud", "desc": "Audio sharing platform", "cat": "Music", "auth": "OAuth"},
517
+ {"name": "AudioDB", "desc": "Music metadata", "cat": "Music", "auth": "apiKey"},
518
+ {"name": "Songkick", "desc": "Concert listings", "cat": "Music", "auth": "apiKey"},
519
+ {"name": "Ticketmaster Discovery", "desc": "Event discovery", "cat": "Events", "auth": "apiKey"},
520
+ {"name": "Eventbrite", "desc": "Event management", "cat": "Events", "auth": "OAuth"},
521
+ {"name": "Meetup", "desc": "Group events platform", "cat": "Events", "auth": "OAuth"},
522
+ {"name": "SeatGeek", "desc": "Event tickets", "cat": "Events", "auth": "apiKey"},
523
+ {"name": "StubHub", "desc": "Ticket marketplace", "cat": "Events", "auth": "apiKey"},
524
+
525
+ # === IOT & SMART HOME ===
526
+ {"name": "SmartThings", "desc": "Samsung smart home platform", "cat": "IoT", "auth": "OAuth"},
527
+ {"name": "Google Home", "desc": "Google smart home", "cat": "IoT", "auth": "OAuth"},
528
+ {"name": "Amazon Alexa", "desc": "Alexa Skills Kit", "cat": "IoT", "auth": "OAuth"},
529
+ {"name": "HomeKit", "desc": "Apple smart home", "cat": "IoT", "auth": "OAuth"},
530
+ {"name": "IFTTT", "desc": "Automation platform", "cat": "IoT", "auth": "apiKey"},
531
+ {"name": "Home Assistant", "desc": "Open source home automation", "cat": "IoT", "auth": "apiKey"},
532
+ {"name": "Philips Hue", "desc": "Smart lighting", "cat": "IoT", "auth": "OAuth"},
533
+ {"name": "LIFX", "desc": "Smart lights", "cat": "IoT", "auth": "OAuth"},
534
+ {"name": "Nanoleaf", "desc": "Smart lighting", "cat": "IoT", "auth": "apiKey"},
535
+ {"name": "Ring", "desc": "Smart home security", "cat": "IoT", "auth": "OAuth"},
536
+ {"name": "Nest", "desc": "Smart home devices", "cat": "IoT", "auth": "OAuth"},
537
+ {"name": "Ecobee", "desc": "Smart thermostats", "cat": "IoT", "auth": "OAuth"},
538
+ {"name": "August", "desc": "Smart locks", "cat": "IoT", "auth": "OAuth"},
539
+ {"name": "Schlage", "desc": "Smart locks", "cat": "IoT", "auth": "OAuth"},
540
+ {"name": "Yale", "desc": "Smart locks", "cat": "IoT", "auth": "OAuth"},
541
+ {"name": "SimpliSafe", "desc": "Home security", "cat": "IoT", "auth": "apiKey"},
542
+ {"name": "Wyze", "desc": "Smart home devices", "cat": "IoT", "auth": "apiKey"},
543
+ {"name": "TP-Link Kasa", "desc": "Smart home devices", "cat": "IoT", "auth": "OAuth"},
544
+ {"name": "Tuya", "desc": "IoT platform", "cat": "IoT", "auth": "apiKey"},
545
+ {"name": "Particle", "desc": "IoT platform", "cat": "IoT", "auth": "apiKey"},
546
+ {"name": "Arduino IoT Cloud", "desc": "Arduino IoT platform", "cat": "IoT", "auth": "apiKey"},
547
+ {"name": "Losant", "desc": "Enterprise IoT platform", "cat": "IoT", "auth": "apiKey"},
548
+ {"name": "Ubidots", "desc": "IoT data platform", "cat": "IoT", "auth": "apiKey"},
549
+ {"name": "ThingSpeak", "desc": "IoT analytics", "cat": "IoT", "auth": "apiKey"},
550
+ {"name": "Blynk", "desc": "IoT platform", "cat": "IoT", "auth": "apiKey"},
551
+
552
+ # === CRYPTO & WEB3 ===
553
+ {"name": "CoinGecko", "desc": "Crypto data API", "cat": "Cryptocurrency", "auth": "apiKey"},
554
+ {"name": "CoinMarketCap", "desc": "Crypto market data", "cat": "Cryptocurrency", "auth": "apiKey"},
555
+ {"name": "Messari", "desc": "Crypto intelligence", "cat": "Cryptocurrency", "auth": "apiKey"},
556
+ {"name": "Santiment", "desc": "Crypto analytics", "cat": "Cryptocurrency", "auth": "apiKey"},
557
+ {"name": "Glassnode", "desc": "On-chain analytics", "cat": "Cryptocurrency", "auth": "apiKey"},
558
+ {"name": "IntoTheBlock", "desc": "Crypto analytics", "cat": "Cryptocurrency", "auth": "apiKey"},
559
+ {"name": "Nansen", "desc": "Blockchain analytics", "cat": "Cryptocurrency", "auth": "apiKey"},
560
+ {"name": "Dune Analytics", "desc": "Blockchain data", "cat": "Cryptocurrency", "auth": "apiKey"},
561
+ {"name": "The Graph", "desc": "Blockchain indexing", "cat": "Cryptocurrency", "auth": "apiKey"},
562
+ {"name": "Alchemy", "desc": "Web3 development platform", "cat": "Cryptocurrency", "auth": "apiKey"},
563
+ {"name": "Infura", "desc": "Web3 infrastructure", "cat": "Cryptocurrency", "auth": "apiKey"},
564
+ {"name": "QuickNode", "desc": "Blockchain infrastructure", "cat": "Cryptocurrency", "auth": "apiKey"},
565
+ {"name": "Moralis", "desc": "Web3 development", "cat": "Cryptocurrency", "auth": "apiKey"},
566
+ {"name": "Chainlink", "desc": "Decentralized oracles", "cat": "Cryptocurrency", "auth": "apiKey"},
567
+ {"name": "Etherscan", "desc": "Ethereum explorer API", "cat": "Cryptocurrency", "auth": "apiKey"},
568
+ {"name": "Blockchair", "desc": "Blockchain explorer", "cat": "Cryptocurrency", "auth": "apiKey"},
569
+ {"name": "BitQuery", "desc": "Blockchain data", "cat": "Cryptocurrency", "auth": "apiKey"},
570
+ {"name": "Covalent", "desc": "Unified blockchain data", "cat": "Cryptocurrency", "auth": "apiKey"},
571
+ {"name": "Zapper", "desc": "DeFi portfolio", "cat": "Cryptocurrency", "auth": "apiKey"},
572
+ {"name": "DeBank", "desc": "DeFi portfolio tracker", "cat": "Cryptocurrency", "auth": "apiKey"},
573
+ {"name": "0x Protocol", "desc": "DEX aggregation", "cat": "Cryptocurrency", "auth": "apiKey"},
574
+ {"name": "1inch", "desc": "DEX aggregator", "cat": "Cryptocurrency", "auth": "apiKey"},
575
+ {"name": "Uniswap", "desc": "DEX protocol", "cat": "Cryptocurrency", "auth": "None"},
576
+ {"name": "OpenSea", "desc": "NFT marketplace", "cat": "Cryptocurrency", "auth": "apiKey"},
577
+ {"name": "Reservoir", "desc": "NFT infrastructure", "cat": "Cryptocurrency", "auth": "apiKey"},
578
+ {"name": "Rarible", "desc": "NFT marketplace", "cat": "Cryptocurrency", "auth": "apiKey"},
579
+ {"name": "Magic Eden", "desc": "NFT marketplace", "cat": "Cryptocurrency", "auth": "apiKey"},
580
+ {"name": "Blur", "desc": "NFT marketplace", "cat": "Cryptocurrency", "auth": "apiKey"},
581
+ {"name": "SimpleHash", "desc": "NFT data API", "cat": "Cryptocurrency", "auth": "apiKey"},
582
+ {"name": "Center", "desc": "NFT metadata", "cat": "Cryptocurrency", "auth": "apiKey"},
583
+
584
+ # === EDUCATION & LEARNING ===
585
+ {"name": "Coursera", "desc": "Online learning platform", "cat": "Science", "auth": "apiKey"},
586
+ {"name": "Udemy", "desc": "Online courses marketplace", "cat": "Science", "auth": "apiKey"},
587
+ {"name": "Khan Academy", "desc": "Free education platform", "cat": "Science", "auth": "apiKey"},
588
+ {"name": "edX", "desc": "Online learning from universities", "cat": "Science", "auth": "apiKey"},
589
+ {"name": "LinkedIn Learning", "desc": "Professional development", "cat": "Science", "auth": "OAuth"},
590
+ {"name": "Skillshare", "desc": "Creative learning", "cat": "Science", "auth": "apiKey"},
591
+ {"name": "Pluralsight", "desc": "Tech skills platform", "cat": "Science", "auth": "apiKey"},
592
+ {"name": "Codecademy", "desc": "Learn to code", "cat": "Science", "auth": "apiKey"},
593
+ {"name": "freeCodeCamp", "desc": "Free coding education", "cat": "Science", "auth": "apiKey"},
594
+ {"name": "Treehouse", "desc": "Tech education", "cat": "Science", "auth": "apiKey"},
595
+ {"name": "DataCamp", "desc": "Data science education", "cat": "Science", "auth": "apiKey"},
596
+ {"name": "Brilliant", "desc": "Math and science learning", "cat": "Science", "auth": "apiKey"},
597
+ {"name": "Duolingo", "desc": "Language learning", "cat": "Science", "auth": "apiKey"},
598
+ {"name": "Babbel", "desc": "Language learning app", "cat": "Science", "auth": "apiKey"},
599
+ {"name": "Rosetta Stone", "desc": "Language learning", "cat": "Science", "auth": "apiKey"},
600
+ {"name": "Memrise", "desc": "Language learning", "cat": "Science", "auth": "apiKey"},
601
+ {"name": "Anki", "desc": "Flashcard learning", "cat": "Science", "auth": "None"},
602
+ {"name": "Quizlet", "desc": "Study tools", "cat": "Science", "auth": "apiKey"},
603
+ {"name": "Notion API for Education", "desc": "Educational workspaces", "cat": "Science", "auth": "apiKey"},
604
+ {"name": "Canvas LMS", "desc": "Learning management system", "cat": "Science", "auth": "OAuth"},
605
+ {"name": "Blackboard", "desc": "Learning management", "cat": "Science", "auth": "OAuth"},
606
+ {"name": "Moodle", "desc": "Open source LMS", "cat": "Science", "auth": "apiKey"},
607
+ {"name": "Google Classroom", "desc": "Education platform", "cat": "Science", "auth": "OAuth"},
608
+ {"name": "Schoology", "desc": "Learning management", "cat": "Science", "auth": "OAuth"},
609
+
610
+ # === NEWS & MEDIA ===
611
+ {"name": "NewsAPI", "desc": "News aggregation", "cat": "News", "auth": "apiKey"},
612
+ {"name": "GNews", "desc": "Google News API", "cat": "News", "auth": "apiKey"},
613
+ {"name": "Bing News", "desc": "Microsoft news search", "cat": "News", "auth": "apiKey"},
614
+ {"name": "Mediastack", "desc": "News data API", "cat": "News", "auth": "apiKey"},
615
+ {"name": "The Guardian", "desc": "News content API", "cat": "News", "auth": "apiKey"},
616
+ {"name": "New York Times", "desc": "NYT article search", "cat": "News", "auth": "apiKey"},
617
+ {"name": "Associated Press", "desc": "AP news feed", "cat": "News", "auth": "apiKey"},
618
+ {"name": "Reuters", "desc": "Reuters news feed", "cat": "News", "auth": "apiKey"},
619
+ {"name": "Bloomberg", "desc": "Financial news", "cat": "News", "auth": "apiKey"},
620
+ {"name": "Financial Times", "desc": "Business news", "cat": "News", "auth": "apiKey"},
621
+ {"name": "WSJ", "desc": "Wall Street Journal", "cat": "News", "auth": "apiKey"},
622
+ {"name": "Hacker News", "desc": "Tech news", "cat": "News", "auth": "None"},
623
+ {"name": "Product Hunt", "desc": "Product discovery", "cat": "News", "auth": "OAuth"},
624
+ {"name": "Lobsters", "desc": "Computing-focused news", "cat": "News", "auth": "apiKey"},
625
+ {"name": "TechCrunch", "desc": "Startup and tech news", "cat": "News", "auth": "apiKey"},
626
+ {"name": "The Verge", "desc": "Tech media", "cat": "News", "auth": "apiKey"},
627
+ {"name": "Ars Technica", "desc": "Technology news", "cat": "News", "auth": "apiKey"},
628
+ {"name": "Wired", "desc": "Tech and culture", "cat": "News", "auth": "apiKey"},
629
+ {"name": "CNET", "desc": "Tech product reviews", "cat": "News", "auth": "apiKey"},
630
+ {"name": "Engadget", "desc": "Tech news", "cat": "News", "auth": "apiKey"},
631
+
632
+ # === GOVERNMENT & PUBLIC DATA ===
633
+ {"name": "Data.gov", "desc": "US government data", "cat": "Government", "auth": "None"},
634
+ {"name": "Census Bureau", "desc": "US census data", "cat": "Government", "auth": "apiKey"},
635
+ {"name": "FEC", "desc": "Federal Election Commission", "cat": "Government", "auth": "apiKey"},
636
+ {"name": "OpenFDA", "desc": "FDA drug and device data", "cat": "Government", "auth": "apiKey"},
637
+ {"name": "NASA", "desc": "Space and earth science data", "cat": "Science", "auth": "apiKey"},
638
+ {"name": "NOAA", "desc": "Weather and climate data", "cat": "Weather", "auth": "apiKey"},
639
+ {"name": "EPA", "desc": "Environmental data", "cat": "Government", "auth": "apiKey"},
640
+ {"name": "SEC EDGAR", "desc": "SEC filings", "cat": "Finance", "auth": "None"},
641
+ {"name": "USDA", "desc": "Agricultural data", "cat": "Government", "auth": "apiKey"},
642
+ {"name": "NIH", "desc": "Health research data", "cat": "Health", "auth": "apiKey"},
643
+ {"name": "PubMed", "desc": "Biomedical literature", "cat": "Health", "auth": "apiKey"},
644
+ {"name": "ClinicalTrials.gov", "desc": "Clinical trial data", "cat": "Health", "auth": "None"},
645
+ {"name": "OpenCorporates", "desc": "Company data", "cat": "Business", "auth": "apiKey"},
646
+ {"name": "Companies House UK", "desc": "UK company data", "cat": "Business", "auth": "apiKey"},
647
+ {"name": "EU Open Data", "desc": "European Union data", "cat": "Government", "auth": "None"},
648
+ {"name": "Eurostat", "desc": "European statistics", "cat": "Government", "auth": "None"},
649
+ {"name": "World Bank", "desc": "Global development data", "cat": "Government", "auth": "None"},
650
+ {"name": "IMF", "desc": "Economic and financial data", "cat": "Finance", "auth": "None"},
651
+ {"name": "OECD", "desc": "Economic data", "cat": "Government", "auth": "apiKey"},
652
+ {"name": "UN Data", "desc": "United Nations statistics", "cat": "Government", "auth": "None"},
653
+ {"name": "FRED", "desc": "Federal Reserve economic data", "cat": "Finance", "auth": "apiKey"},
654
+ {"name": "BLS", "desc": "Bureau of Labor Statistics", "cat": "Government", "auth": "apiKey"},
655
+ {"name": "Treasury", "desc": "US Treasury data", "cat": "Finance", "auth": "None"},
656
+
657
+ # === PRODUCTIVITY & TOOLS ===
658
+ {"name": "Todoist", "desc": "Task management", "cat": "Business", "auth": "apiKey"},
659
+ {"name": "Trello", "desc": "Project management boards", "cat": "Business", "auth": "apiKey"},
660
+ {"name": "Linear", "desc": "Issue tracking", "cat": "Development", "auth": "apiKey"},
661
+ {"name": "Shortcut", "desc": "Project management for software", "cat": "Development", "auth": "apiKey"},
662
+ {"name": "Height", "desc": "Project management", "cat": "Business", "auth": "apiKey"},
663
+ {"name": "Plane", "desc": "Open source project management", "cat": "Business", "auth": "apiKey"},
664
+ {"name": "Huly", "desc": "Project management platform", "cat": "Business", "auth": "apiKey"},
665
+ {"name": "Fibery", "desc": "Work management platform", "cat": "Business", "auth": "apiKey"},
666
+ {"name": "Craft", "desc": "Document creation", "cat": "Documents", "auth": "apiKey"},
667
+ {"name": "Roam Research", "desc": "Note-taking tool", "cat": "Documents", "auth": "apiKey"},
668
+ {"name": "Obsidian", "desc": "Knowledge base", "cat": "Documents", "auth": "apiKey"},
669
+ {"name": "Logseq", "desc": "Knowledge management", "cat": "Documents", "auth": "apiKey"},
670
+ {"name": "RemNote", "desc": "Note-taking and spaced repetition", "cat": "Documents", "auth": "apiKey"},
671
+ {"name": "Mem.ai", "desc": "AI-powered notes", "cat": "Documents", "auth": "apiKey"},
672
+ {"name": "Reflect", "desc": "Notes and thinking", "cat": "Documents", "auth": "apiKey"},
673
+ {"name": "Capacities", "desc": "Note-taking platform", "cat": "Documents", "auth": "apiKey"},
674
+ {"name": "Tana", "desc": "Knowledge management", "cat": "Documents", "auth": "apiKey"},
675
+ {"name": "Heptabase", "desc": "Visual note-taking", "cat": "Documents", "auth": "apiKey"},
676
+ {"name": "Slite", "desc": "Team knowledge base", "cat": "Documents", "auth": "apiKey"},
677
+ {"name": "Guru", "desc": "Internal wiki", "cat": "Documents", "auth": "apiKey"},
678
+ {"name": "Tettra", "desc": "Company knowledge base", "cat": "Documents", "auth": "apiKey"},
679
+ {"name": "Nuclino", "desc": "Team knowledge management", "cat": "Documents", "auth": "apiKey"},
680
+ {"name": "Almanac", "desc": "Document collaboration", "cat": "Documents", "auth": "apiKey"},
681
+ {"name": "Dropbox Paper", "desc": "Collaborative documents", "cat": "Documents", "auth": "OAuth"},
682
+ {"name": "Quip", "desc": "Salesforce's doc platform", "cat": "Documents", "auth": "apiKey"},
683
+
684
+ # === DESIGN & CREATIVE ===
685
+ {"name": "Figma", "desc": "Design platform", "cat": "Art & Design", "auth": "OAuth"},
686
+ {"name": "Canva", "desc": "Design platform", "cat": "Art & Design", "auth": "OAuth"},
687
+ {"name": "Adobe Creative Cloud", "desc": "Adobe design tools", "cat": "Art & Design", "auth": "OAuth"},
688
+ {"name": "InVision", "desc": "Design collaboration", "cat": "Art & Design", "auth": "apiKey"},
689
+ {"name": "Sketch", "desc": "Design toolkit", "cat": "Art & Design", "auth": "apiKey"},
690
+ {"name": "Zeplin", "desc": "Design handoff", "cat": "Art & Design", "auth": "apiKey"},
691
+ {"name": "Abstract", "desc": "Design version control", "cat": "Art & Design", "auth": "apiKey"},
692
+ {"name": "Lottie", "desc": "Animation library", "cat": "Art & Design", "auth": "apiKey"},
693
+ {"name": "Rive", "desc": "Real-time motion design", "cat": "Art & Design", "auth": "apiKey"},
694
+ {"name": "Spline", "desc": "3D design tool", "cat": "Art & Design", "auth": "apiKey"},
695
+ {"name": "Framer", "desc": "Interactive design", "cat": "Art & Design", "auth": "apiKey"},
696
+ {"name": "Webflow", "desc": "Visual web development", "cat": "Art & Design", "auth": "apiKey"},
697
+ {"name": "Squarespace", "desc": "Website builder", "cat": "Art & Design", "auth": "apiKey"},
698
+ {"name": "Wix", "desc": "Website builder", "cat": "Art & Design", "auth": "apiKey"},
699
+ {"name": "Carrd", "desc": "Simple websites", "cat": "Art & Design", "auth": "apiKey"},
700
+ {"name": "Typedream", "desc": "No-code website builder", "cat": "Art & Design", "auth": "apiKey"},
701
+ {"name": "Super.so", "desc": "Notion to website", "cat": "Art & Design", "auth": "apiKey"},
702
+ {"name": "Potion.so", "desc": "Notion website builder", "cat": "Art & Design", "auth": "apiKey"},
703
+ {"name": "Unsplash", "desc": "Free photos", "cat": "Art & Design", "auth": "apiKey"},
704
+ {"name": "Pexels", "desc": "Free stock photos", "cat": "Art & Design", "auth": "apiKey"},
705
+ {"name": "Pixabay", "desc": "Free media library", "cat": "Art & Design", "auth": "apiKey"},
706
+ {"name": "Shutterstock", "desc": "Stock media", "cat": "Art & Design", "auth": "apiKey"},
707
+ {"name": "Getty Images", "desc": "Stock photos and video", "cat": "Art & Design", "auth": "apiKey"},
708
+ {"name": "Adobe Stock", "desc": "Stock media by Adobe", "cat": "Art & Design", "auth": "apiKey"},
709
+ {"name": "Icons8", "desc": "Icons and illustrations", "cat": "Art & Design", "auth": "apiKey"},
710
+ {"name": "Noun Project", "desc": "Icons library", "cat": "Art & Design", "auth": "apiKey"},
711
+ {"name": "Flaticon", "desc": "Vector icons", "cat": "Art & Design", "auth": "apiKey"},
712
+ {"name": "Iconify", "desc": "Unified icon framework", "cat": "Art & Design", "auth": "None"},
713
+ {"name": "Lottiefiles", "desc": "Lottie animations", "cat": "Art & Design", "auth": "apiKey"},
714
+ {"name": "Removebg", "desc": "Background removal", "cat": "Art & Design", "auth": "apiKey"},
715
+ {"name": "Cleanup.pictures", "desc": "Object removal", "cat": "Art & Design", "auth": "apiKey"},
716
+
717
+ # === AI IMAGE & VIDEO GENERATION ===
718
+ {"name": "DALL-E", "desc": "OpenAI image generation", "cat": "Machine Learning", "auth": "apiKey"},
719
+ {"name": "Midjourney", "desc": "AI image generation", "cat": "Machine Learning", "auth": "apiKey"},
720
+ {"name": "Stable Diffusion", "desc": "Open source image generation", "cat": "Machine Learning", "auth": "apiKey"},
721
+ {"name": "Leonardo.ai", "desc": "AI art generation", "cat": "Machine Learning", "auth": "apiKey"},
722
+ {"name": "Runway", "desc": "AI video generation", "cat": "Machine Learning", "auth": "apiKey"},
723
+ {"name": "Pika Labs", "desc": "AI video creation", "cat": "Machine Learning", "auth": "apiKey"},
724
+ {"name": "HeyGen", "desc": "AI video generation", "cat": "Machine Learning", "auth": "apiKey"},
725
+ {"name": "Synthesia", "desc": "AI avatar videos", "cat": "Machine Learning", "auth": "apiKey"},
726
+ {"name": "D-ID", "desc": "AI generated videos", "cat": "Machine Learning", "auth": "apiKey"},
727
+ {"name": "Colossyan", "desc": "AI video creation", "cat": "Machine Learning", "auth": "apiKey"},
728
+ {"name": "Hour One", "desc": "AI video generation", "cat": "Machine Learning", "auth": "apiKey"},
729
+ {"name": "Rephrase.ai", "desc": "Personalized video", "cat": "Machine Learning", "auth": "apiKey"},
730
+ {"name": "ElevenLabs", "desc": "AI voice synthesis", "cat": "Machine Learning", "auth": "apiKey"},
731
+ {"name": "Play.ht", "desc": "AI voice generation", "cat": "Machine Learning", "auth": "apiKey"},
732
+ {"name": "Murf.ai", "desc": "AI voice over", "cat": "Machine Learning", "auth": "apiKey"},
733
+ {"name": "Resemble.ai", "desc": "Voice cloning", "cat": "Machine Learning", "auth": "apiKey"},
734
+ {"name": "WellSaid Labs", "desc": "AI voice over", "cat": "Machine Learning", "auth": "apiKey"},
735
+ {"name": "Descript", "desc": "Audio/video editing with AI", "cat": "Machine Learning", "auth": "apiKey"},
736
+ {"name": "Podcastle", "desc": "AI podcast tools", "cat": "Machine Learning", "auth": "apiKey"},
737
+ {"name": "Riverside.fm", "desc": "Podcast recording", "cat": "Machine Learning", "auth": "apiKey"},
738
+ {"name": "Otter.ai", "desc": "AI transcription", "cat": "Machine Learning", "auth": "apiKey"},
739
+ {"name": "Rev.ai", "desc": "Speech recognition", "cat": "Machine Learning", "auth": "apiKey"},
740
+ {"name": "AssemblyAI", "desc": "Speech-to-text API", "cat": "Machine Learning", "auth": "apiKey"},
741
+ {"name": "Deepgram", "desc": "Speech recognition", "cat": "Machine Learning", "auth": "apiKey"},
742
+ {"name": "Speechmatics", "desc": "Speech technology", "cat": "Machine Learning", "auth": "apiKey"},
743
+ {"name": "Whisper", "desc": "OpenAI speech recognition", "cat": "Machine Learning", "auth": "apiKey"},
744
+ {"name": "Gladia", "desc": "Audio intelligence", "cat": "Machine Learning", "auth": "apiKey"},
745
+ {"name": "Suno", "desc": "AI music generation", "cat": "Machine Learning", "auth": "apiKey"},
746
+ {"name": "Udio", "desc": "AI music creation", "cat": "Machine Learning", "auth": "apiKey"},
747
+ {"name": "Beatoven.ai", "desc": "AI music for video", "cat": "Machine Learning", "auth": "apiKey"},
748
+ {"name": "AIVA", "desc": "AI music composition", "cat": "Machine Learning", "auth": "apiKey"},
749
+ {"name": "Soundraw", "desc": "AI music generation", "cat": "Machine Learning", "auth": "apiKey"},
750
+
751
+ # === NORDIC SPECIFIC ===
752
+ {"name": "Bisnode", "desc": "Nordic business data", "cat": "Business", "auth": "apiKey"},
753
+ {"name": "Proff.se", "desc": "Swedish company data", "cat": "Business", "auth": "apiKey"},
754
+ {"name": "Allabolag", "desc": "Swedish company info", "cat": "Business", "auth": "apiKey"},
755
+ {"name": "Hitta.se", "desc": "Swedish search engine", "cat": "Business", "auth": "apiKey"},
756
+ {"name": "Eniro", "desc": "Nordic directory", "cat": "Business", "auth": "apiKey"},
757
+ {"name": "Ratsit", "desc": "Swedish personal data", "cat": "Business", "auth": "apiKey"},
758
+ {"name": "Upplysningscentralen", "desc": "Swedish credit info", "cat": "Finance", "auth": "apiKey"},
759
+ {"name": "Creditsafe Sweden", "desc": "Swedish credit reports", "cat": "Finance", "auth": "apiKey"},
760
+ {"name": "BankID", "desc": "Swedish digital ID", "cat": "Security", "auth": "OAuth"},
761
+ {"name": "Swish", "desc": "Swedish mobile payments", "cat": "Finance", "auth": "apiKey"},
762
+ {"name": "Klarna Checkout", "desc": "Swedish payments", "cat": "Finance", "auth": "apiKey"},
763
+ {"name": "Tradera", "desc": "Swedish marketplace", "cat": "Shopping", "auth": "apiKey"},
764
+ {"name": "Blocket", "desc": "Swedish classifieds", "cat": "Shopping", "auth": "apiKey"},
765
+ {"name": "SCB", "desc": "Statistics Sweden", "cat": "Government", "auth": "None"},
766
+ {"name": "SMHI", "desc": "Swedish weather data", "cat": "Weather", "auth": "None"},
767
+ {"name": "Trafikverket", "desc": "Swedish transport data", "cat": "Transportation", "auth": "apiKey"},
768
+ {"name": "Postnord", "desc": "Nordic postal service", "cat": "Logistics", "auth": "apiKey"},
769
+ {"name": "SL", "desc": "Stockholm public transport", "cat": "Transportation", "auth": "apiKey"},
770
+ {"name": "Västtrafik", "desc": "Gothenburg transport", "cat": "Transportation", "auth": "apiKey"},
771
+ {"name": "Skånetrafiken", "desc": "Skåne transport", "cat": "Transportation", "auth": "apiKey"},
772
+ {"name": "MobilityDB", "desc": "Nordic EV charging", "cat": "Transportation", "auth": "apiKey"},
773
+ {"name": "Nobina", "desc": "Nordic public transport", "cat": "Transportation", "auth": "apiKey"},
774
+ {"name": "VY", "desc": "Norwegian rail", "cat": "Transportation", "auth": "apiKey"},
775
+ {"name": "DSB", "desc": "Danish rail", "cat": "Transportation", "auth": "apiKey"},
776
+ {"name": "SJ", "desc": "Swedish rail", "cat": "Transportation", "auth": "apiKey"},
777
+ {"name": "Vipps", "desc": "Norwegian mobile payments", "cat": "Finance", "auth": "apiKey"},
778
+ {"name": "MobilePay", "desc": "Danish mobile payments", "cat": "Finance", "auth": "apiKey"},
779
+ {"name": "Norwegian BankID", "desc": "Norwegian digital ID", "cat": "Security", "auth": "OAuth"},
780
+ {"name": "Danish MitID", "desc": "Danish digital ID", "cat": "Security", "auth": "OAuth"},
781
+ {"name": "Finnish BankID", "desc": "Finnish digital ID", "cat": "Security", "auth": "OAuth"},
782
+ {"name": "Virke", "desc": "Norwegian business data", "cat": "Business", "auth": "apiKey"},
783
+ {"name": "CVR", "desc": "Danish company register", "cat": "Business", "auth": "None"},
784
+ {"name": "PRH", "desc": "Finnish Patent and Registration Office", "cat": "Business", "auth": "apiKey"},
785
+ {"name": "Bolagsverket", "desc": "Swedish Companies Registration Office", "cat": "Business", "auth": "apiKey"},
786
+ {"name": "Norwegian BrReg", "desc": "Norwegian business registry", "cat": "Business", "auth": "None"},
787
+ ]
788
+
789
+ # Process and add new APIs
790
+ added = 0
791
+ skipped = 0
792
+ for api in NEW_APIS:
793
+ api_id = make_id(api['name'])
794
+ if api_id in existing_ids:
795
+ skipped += 1
796
+ continue
797
+
798
+ new_api = {
799
+ "id": api_id,
800
+ "name": api['name'],
801
+ "description": api['desc'],
802
+ "category": api['cat'],
803
+ "auth": api['auth'],
804
+ "https": True,
805
+ "cors": "unknown",
806
+ "link": f"https://{api_id.replace('-', '')}.com",
807
+ "pricing": "unknown",
808
+ "keywords": []
809
+ }
810
+
811
+ data['apis'].append(new_api)
812
+ existing_ids.add(api_id)
813
+ added += 1
814
+
815
+ # Update metadata
816
+ data['count'] = len(data['apis'])
817
+ data['lastUpdated'] = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
818
+
819
+ # Write back
820
+ with open(REGISTRY_PATH, 'w') as f:
821
+ json.dump(data, f, indent=2)
822
+
823
+ print(f"\n✅ Added: {added} new APIs")
824
+ print(f"⏭️ Skipped: {skipped} (already exist)")
825
+ print(f"📊 Total now: {data['count']}")