@nordsym/apiclaw 1.2.1 → 1.2.2

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 (43) hide show
  1. package/.env.prod +1 -0
  2. package/convex/http.ts +32 -0
  3. package/data/combined-02-25.json +5602 -0
  4. package/data/night-batch-02-25.json +2732 -0
  5. package/data/night-expansion-02-25.json +2872 -0
  6. package/dist/credentials.d.ts.map +1 -1
  7. package/dist/credentials.js +15 -0
  8. package/dist/credentials.js.map +1 -1
  9. package/dist/execute.d.ts.map +1 -1
  10. package/dist/execute.js +76 -0
  11. package/dist/execute.js.map +1 -1
  12. package/dist/index.js +2 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/proxy.d.ts.map +1 -1
  15. package/dist/proxy.js +1 -1
  16. package/dist/proxy.js.map +1 -1
  17. package/dist/registry/apis.json +44476 -174
  18. package/landing/src/app/api/auth/magic-link/route.ts +8 -1
  19. package/landing/src/app/api/auth/verify/route.ts +7 -4
  20. package/landing/src/app/docs/page.tsx +20 -20
  21. package/landing/src/app/earn/page.tsx +8 -8
  22. package/landing/src/app/page.tsx +147 -15
  23. package/landing/src/app/providers/page.tsx +6 -5
  24. package/landing/src/app/providers/register/page.tsx +1 -1
  25. package/landing/src/lib/convex-client.ts +6 -2
  26. package/landing/src/lib/stats.json +1 -1
  27. package/package.json +2 -1
  28. package/scripts/merge-to-registry.py +77 -0
  29. package/scripts/night-batch-02-24.py +391 -0
  30. package/scripts/night-batch-02-25.py +479 -0
  31. package/scripts/night-batch-03-24-b2.py +387 -0
  32. package/scripts/night-batch-03-24-b3.py +284 -0
  33. package/scripts/night-batch-03-24.py +447 -0
  34. package/scripts/night-batch-06-24-b2.py +695 -0
  35. package/scripts/night-batch-06-24-b3.py +696 -0
  36. package/scripts/night-batch-06-24.py +825 -0
  37. package/scripts/night-expansion-02-24-02.py +708 -0
  38. package/scripts/night-expansion-02-25.py +668 -0
  39. package/src/credentials.ts +16 -0
  40. package/src/execute.ts +86 -0
  41. package/src/index.ts +2 -0
  42. package/src/proxy.ts +1 -1
  43. package/src/registry/apis.json +44476 -174
@@ -0,0 +1,391 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ APIClaw Night Expansion Batch 2 - 2026-02-24 02:00
4
+ More APIs from various categories
5
+ """
6
+
7
+ import json
8
+ import re
9
+ import os
10
+ from datetime import datetime
11
+
12
+ REGISTRY_PATH = os.path.expanduser("~/Projects/apiclaw/src/registry/apis.json")
13
+
14
+ def extract_keywords(name, description, category):
15
+ keywords = []
16
+ text = f"{name} {description} {category}".lower()
17
+ keyword_patterns = ['ai', 'ml', 'api', 'rest', 'graphql', 'json', 'free', 'real-time',
18
+ 'weather', 'crypto', 'blockchain', 'sms', 'email', 'voice', 'payment',
19
+ 'image', 'video', 'audio', 'music', 'geo', 'map', 'location', 'social',
20
+ 'auth', 'search', 'analytics', 'data', 'cloud', 'storage', 'news',
21
+ 'health', 'game', 'translate', 'language', 'nlp']
22
+ for kw in keyword_patterns:
23
+ if kw in text and kw not in keywords:
24
+ keywords.append(kw)
25
+ return keywords[:5]
26
+
27
+ # Additional APIs to add - categorized batches
28
+ MORE_APIS = [
29
+ # AI/ML APIs (30 more)
30
+ {"name": "Anthropic Claude", "url": "https://docs.anthropic.com/claude/reference/", "desc": "Claude AI assistant API for natural language tasks", "cat": "AI & ML"},
31
+ {"name": "Google Gemini", "url": "https://ai.google.dev/docs", "desc": "Google's multimodal AI model API", "cat": "AI & ML"},
32
+ {"name": "Mistral AI", "url": "https://docs.mistral.ai/", "desc": "Open source AI models API", "cat": "AI & ML"},
33
+ {"name": "Groq", "url": "https://console.groq.com/docs/", "desc": "Fast LLM inference API", "cat": "AI & ML"},
34
+ {"name": "Perplexity AI", "url": "https://docs.perplexity.ai/", "desc": "AI search and answer engine API", "cat": "AI & ML"},
35
+ {"name": "Together AI", "url": "https://docs.together.ai/", "desc": "Run open source AI models API", "cat": "AI & ML"},
36
+ {"name": "Anyscale", "url": "https://docs.anyscale.com/", "desc": "Scalable AI compute API", "cat": "AI & ML"},
37
+ {"name": "Fireworks AI", "url": "https://readme.fireworks.ai/docs", "desc": "Fast generative AI API", "cat": "AI & ML"},
38
+ {"name": "Cerebras", "url": "https://docs.cerebras.ai/", "desc": "High-performance AI inference API", "cat": "AI & ML"},
39
+ {"name": "DeepSeek", "url": "https://api-docs.deepseek.com/", "desc": "DeepSeek AI models API", "cat": "AI & ML"},
40
+ {"name": "Llama API", "url": "https://www.llama-api.com/", "desc": "Meta Llama models API", "cat": "AI & ML"},
41
+ {"name": "Cohere Embed", "url": "https://docs.cohere.com/reference/embed", "desc": "Text embeddings API", "cat": "AI & ML"},
42
+ {"name": "Voyage AI", "url": "https://docs.voyageai.com/", "desc": "Embedding models API", "cat": "AI & ML"},
43
+ {"name": "Jina AI Embeddings", "url": "https://jina.ai/embeddings/", "desc": "Open source embeddings API", "cat": "AI & ML"},
44
+ {"name": "Nomic Atlas", "url": "https://docs.nomic.ai/", "desc": "AI data visualization and embeddings", "cat": "AI & ML"},
45
+ {"name": "Pinecone", "url": "https://docs.pinecone.io/", "desc": "Vector database API", "cat": "AI & ML"},
46
+ {"name": "Weaviate", "url": "https://weaviate.io/developers/weaviate", "desc": "Vector search engine API", "cat": "AI & ML"},
47
+ {"name": "Qdrant", "url": "https://qdrant.github.io/qdrant/redoc/", "desc": "Vector similarity search API", "cat": "AI & ML"},
48
+ {"name": "Milvus", "url": "https://milvus.io/api-reference/", "desc": "Open source vector database API", "cat": "AI & ML"},
49
+ {"name": "ChromaDB", "url": "https://docs.trychroma.com/", "desc": "Open source embedding database", "cat": "AI & ML"},
50
+ {"name": "LanceDB", "url": "https://lancedb.github.io/lancedb/", "desc": "Serverless vector database", "cat": "AI & ML"},
51
+ {"name": "Vectara", "url": "https://docs.vectara.com/docs", "desc": "AI-powered search platform API", "cat": "AI & ML"},
52
+ {"name": "Stability AI", "url": "https://platform.stability.ai/docs/api-reference", "desc": "Stable Diffusion and AI image generation", "cat": "AI & ML"},
53
+ {"name": "Midjourney", "url": "https://docs.midjourney.com/", "desc": "AI image generation API", "cat": "AI & ML"},
54
+ {"name": "Leonardo AI", "url": "https://docs.leonardo.ai/", "desc": "AI image generation platform API", "cat": "AI & ML"},
55
+ {"name": "Ideogram", "url": "https://api.ideogram.ai/docs", "desc": "AI image and text generation", "cat": "AI & ML"},
56
+ {"name": "Flux AI", "url": "https://blackforestlabs.ai/", "desc": "Black Forest Labs Flux image models", "cat": "AI & ML"},
57
+ {"name": "Runway ML", "url": "https://docs.runwayml.com/", "desc": "AI video generation API", "cat": "AI & ML"},
58
+ {"name": "Pika Labs", "url": "https://pika.art/developers", "desc": "AI video creation API", "cat": "AI & ML"},
59
+ {"name": "D-ID", "url": "https://docs.d-id.com/", "desc": "AI video avatars and synthesis", "cat": "AI & ML"},
60
+
61
+ # Payment/Fintech (25 more)
62
+ {"name": "Plaid", "url": "https://plaid.com/docs/", "desc": "Financial data aggregation API", "cat": "Finance"},
63
+ {"name": "Teller", "url": "https://teller.io/docs", "desc": "Bank data API for developers", "cat": "Finance"},
64
+ {"name": "MX Platform", "url": "https://docs.mx.com/", "desc": "Financial data connectivity API", "cat": "Finance"},
65
+ {"name": "Finicity", "url": "https://docs.finicity.com/", "desc": "Financial data and insights API", "cat": "Finance"},
66
+ {"name": "Akoya", "url": "https://developer.akoya.com/", "desc": "Consumer-permissioned data network", "cat": "Finance"},
67
+ {"name": "Yodlee", "url": "https://developer.yodlee.com/", "desc": "Financial data aggregation platform", "cat": "Finance"},
68
+ {"name": "Adyen", "url": "https://docs.adyen.com/", "desc": "Global payment platform API", "cat": "Payments"},
69
+ {"name": "Checkout.com", "url": "https://api-reference.checkout.com/", "desc": "Payment processing API", "cat": "Payments"},
70
+ {"name": "Worldpay", "url": "https://developer.worldpay.com/", "desc": "Global payments API", "cat": "Payments"},
71
+ {"name": "Square", "url": "https://developer.squareup.com/reference/square", "desc": "Payment and commerce API", "cat": "Payments"},
72
+ {"name": "Razorpay", "url": "https://razorpay.com/docs/api/", "desc": "India payment gateway API", "cat": "Payments"},
73
+ {"name": "PayU", "url": "https://developers.payu.com/", "desc": "Global payment solutions API", "cat": "Payments"},
74
+ {"name": "Klarna", "url": "https://developers.klarna.com/", "desc": "Buy now pay later API", "cat": "Payments"},
75
+ {"name": "Afterpay", "url": "https://developers.afterpay.com/", "desc": "Installment payments API", "cat": "Payments"},
76
+ {"name": "Affirm", "url": "https://docs.affirm.com/", "desc": "Consumer financing API", "cat": "Payments"},
77
+ {"name": "Wise (TransferWise)", "url": "https://api-docs.wise.com/", "desc": "International money transfer API", "cat": "Finance"},
78
+ {"name": "Remitly", "url": "https://developers.remitly.com/", "desc": "International remittance API", "cat": "Finance"},
79
+ {"name": "Revolut Business", "url": "https://developer.revolut.com/", "desc": "Banking and payments API", "cat": "Finance"},
80
+ {"name": "Mercury", "url": "https://docs.mercury.com/", "desc": "Startup banking API", "cat": "Finance"},
81
+ {"name": "Modern Treasury", "url": "https://docs.moderntreasury.com/", "desc": "Payment operations API", "cat": "Finance"},
82
+ {"name": "Column", "url": "https://column.com/docs", "desc": "Banking as a service API", "cat": "Finance"},
83
+ {"name": "Unit", "url": "https://docs.unit.co/", "desc": "Embedded banking API", "cat": "Finance"},
84
+ {"name": "Treasury Prime", "url": "https://developer.treasuryprime.com/", "desc": "Bank connectivity API", "cat": "Finance"},
85
+ {"name": "Synapse", "url": "https://docs.synapsefi.com/", "desc": "Banking as a service platform", "cat": "Finance"},
86
+ {"name": "Marqeta", "url": "https://www.marqeta.com/docs/", "desc": "Card issuing and processing API", "cat": "Payments"},
87
+
88
+ # E-commerce/Retail (25 more)
89
+ {"name": "Shopify", "url": "https://shopify.dev/docs/api", "desc": "E-commerce platform API", "cat": "E-commerce"},
90
+ {"name": "WooCommerce", "url": "https://woocommerce.github.io/woocommerce-rest-api-docs/", "desc": "WordPress e-commerce API", "cat": "E-commerce"},
91
+ {"name": "BigCommerce", "url": "https://developer.bigcommerce.com/docs", "desc": "E-commerce platform API", "cat": "E-commerce"},
92
+ {"name": "Magento", "url": "https://developer.adobe.com/commerce/", "desc": "Adobe Commerce API", "cat": "E-commerce"},
93
+ {"name": "Salesforce Commerce Cloud", "url": "https://developer.salesforce.com/docs/commerce", "desc": "Enterprise e-commerce API", "cat": "E-commerce"},
94
+ {"name": "Swell", "url": "https://swell.is/docs/api", "desc": "Headless e-commerce API", "cat": "E-commerce"},
95
+ {"name": "Medusa", "url": "https://docs.medusajs.com/api/", "desc": "Open source e-commerce API", "cat": "E-commerce"},
96
+ {"name": "Saleor", "url": "https://docs.saleor.io/api/", "desc": "GraphQL e-commerce API", "cat": "E-commerce"},
97
+ {"name": "Vendure", "url": "https://www.vendure.io/docs/graphql-api/", "desc": "Headless commerce framework API", "cat": "E-commerce"},
98
+ {"name": "Printful", "url": "https://developers.printful.com/docs/", "desc": "Print on demand API", "cat": "E-commerce"},
99
+ {"name": "Printify", "url": "https://developers.printify.com/", "desc": "Print on demand platform API", "cat": "E-commerce"},
100
+ {"name": "Shippo", "url": "https://goshippo.com/docs/", "desc": "Multi-carrier shipping API", "cat": "Transportation"},
101
+ {"name": "EasyPost", "url": "https://www.easypost.com/docs/api", "desc": "Shipping and logistics API", "cat": "Transportation"},
102
+ {"name": "Shipstation", "url": "https://www.shipstation.com/docs/api/", "desc": "Shipping management API", "cat": "Transportation"},
103
+ {"name": "ShipEngine", "url": "https://shipengine.github.io/shipengine-openapi/", "desc": "Multi-carrier shipping API", "cat": "Transportation"},
104
+ {"name": "Ordoro", "url": "https://www.ordoro.com/api", "desc": "Inventory and shipping API", "cat": "E-commerce"},
105
+ {"name": "Algolia", "url": "https://www.algolia.com/doc/api-reference/", "desc": "Search and discovery API", "cat": "Search"},
106
+ {"name": "Typesense", "url": "https://typesense.org/docs/", "desc": "Open source search engine API", "cat": "Search"},
107
+ {"name": "Meilisearch", "url": "https://docs.meilisearch.com/reference/api/", "desc": "Fast open source search API", "cat": "Search"},
108
+ {"name": "Elasticsearch", "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html", "desc": "Distributed search and analytics", "cat": "Search"},
109
+ {"name": "Coveo", "url": "https://docs.coveo.com/en/", "desc": "AI-powered search and relevance API", "cat": "Search"},
110
+ {"name": "Bloomreach", "url": "https://documentation.bloomreach.com/", "desc": "Commerce search and personalization", "cat": "E-commerce"},
111
+ {"name": "Nosto", "url": "https://developers.nosto.com/", "desc": "E-commerce personalization API", "cat": "E-commerce"},
112
+ {"name": "Dynamic Yield", "url": "https://www.dynamicyield.com/api-docs/", "desc": "Personalization platform API", "cat": "E-commerce"},
113
+ {"name": "Optimizely", "url": "https://docs.developers.optimizely.com/", "desc": "Experimentation platform API", "cat": "Analytics"},
114
+
115
+ # CRM/Sales (20 more)
116
+ {"name": "Salesforce", "url": "https://developer.salesforce.com/docs/apis", "desc": "CRM and business platform APIs", "cat": "CRM"},
117
+ {"name": "HubSpot", "url": "https://developers.hubspot.com/docs/api/overview", "desc": "CRM and marketing platform API", "cat": "CRM"},
118
+ {"name": "Pipedrive", "url": "https://developers.pipedrive.com/docs/api/v1", "desc": "Sales CRM API", "cat": "CRM"},
119
+ {"name": "Zoho CRM", "url": "https://www.zoho.com/crm/developer/docs/api/v5/", "desc": "CRM platform API", "cat": "CRM"},
120
+ {"name": "Copper", "url": "https://developer.copper.com/", "desc": "Google Workspace CRM API", "cat": "CRM"},
121
+ {"name": "Close", "url": "https://developer.close.com/", "desc": "Sales CRM API", "cat": "CRM"},
122
+ {"name": "Freshsales", "url": "https://developers.freshworks.com/crm/", "desc": "Sales CRM by Freshworks", "cat": "CRM"},
123
+ {"name": "Monday.com", "url": "https://developer.monday.com/api-reference/docs", "desc": "Work OS platform API", "cat": "Productivity"},
124
+ {"name": "Notion", "url": "https://developers.notion.com/", "desc": "Workspace and notes API", "cat": "Productivity"},
125
+ {"name": "Airtable", "url": "https://airtable.com/developers/web/api/introduction", "desc": "Database and spreadsheet API", "cat": "Productivity"},
126
+ {"name": "Asana", "url": "https://developers.asana.com/docs", "desc": "Project management API", "cat": "Productivity"},
127
+ {"name": "Jira", "url": "https://developer.atlassian.com/cloud/jira/platform/rest/v3/", "desc": "Issue tracking API", "cat": "Productivity"},
128
+ {"name": "Linear", "url": "https://developers.linear.app/docs", "desc": "Issue tracking API", "cat": "Productivity"},
129
+ {"name": "ClickUp", "url": "https://clickup.com/api", "desc": "Productivity platform API", "cat": "Productivity"},
130
+ {"name": "Todoist", "url": "https://developer.todoist.com/rest/v2/", "desc": "Task management API", "cat": "Productivity"},
131
+ {"name": "Trello", "url": "https://developer.atlassian.com/cloud/trello/rest/", "desc": "Kanban board API", "cat": "Productivity"},
132
+ {"name": "Basecamp", "url": "https://github.com/basecamp/bc3-api", "desc": "Project management API", "cat": "Productivity"},
133
+ {"name": "Smartsheet", "url": "https://smartsheet.redoc.ly/", "desc": "Work management platform API", "cat": "Productivity"},
134
+ {"name": "Coda", "url": "https://coda.io/developers/apis/v1", "desc": "Document automation API", "cat": "Productivity"},
135
+ {"name": "Fibery", "url": "https://the-fibery.notion.site/Fibery-API-e3ab6b1c8d584c3a8f00e1b7b8dbd6a6", "desc": "Work management API", "cat": "Productivity"},
136
+
137
+ # DevOps/Infrastructure (25 more)
138
+ {"name": "Vercel", "url": "https://vercel.com/docs/rest-api", "desc": "Frontend deployment platform API", "cat": "DevOps"},
139
+ {"name": "Netlify", "url": "https://open-api.netlify.com/", "desc": "Web hosting platform API", "cat": "DevOps"},
140
+ {"name": "Render", "url": "https://api-docs.render.com/reference", "desc": "Cloud application platform API", "cat": "DevOps"},
141
+ {"name": "Railway", "url": "https://docs.railway.app/reference/graphql-api", "desc": "Infrastructure platform API", "cat": "DevOps"},
142
+ {"name": "Fly.io", "url": "https://fly.io/docs/machines/api/", "desc": "Edge application platform API", "cat": "DevOps"},
143
+ {"name": "Cloudflare", "url": "https://api.cloudflare.com/", "desc": "Edge network and security API", "cat": "DevOps"},
144
+ {"name": "Fastly", "url": "https://developer.fastly.com/reference/api/", "desc": "Edge cloud platform API", "cat": "DevOps"},
145
+ {"name": "Akamai", "url": "https://developer.akamai.com/api", "desc": "CDN and security API", "cat": "DevOps"},
146
+ {"name": "DigitalOcean", "url": "https://docs.digitalocean.com/reference/api/", "desc": "Cloud infrastructure API", "cat": "DevOps"},
147
+ {"name": "Linode", "url": "https://www.linode.com/docs/api/", "desc": "Cloud computing API", "cat": "DevOps"},
148
+ {"name": "Vultr", "url": "https://www.vultr.com/api/", "desc": "Cloud infrastructure API", "cat": "DevOps"},
149
+ {"name": "Hetzner", "url": "https://docs.hetzner.cloud/", "desc": "Cloud servers API", "cat": "DevOps"},
150
+ {"name": "AWS", "url": "https://docs.aws.amazon.com/", "desc": "Amazon Web Services APIs", "cat": "DevOps"},
151
+ {"name": "Google Cloud", "url": "https://cloud.google.com/apis/docs/overview", "desc": "Google Cloud Platform APIs", "cat": "DevOps"},
152
+ {"name": "Azure", "url": "https://docs.microsoft.com/en-us/rest/api/azure/", "desc": "Microsoft Azure APIs", "cat": "DevOps"},
153
+ {"name": "Terraform Cloud", "url": "https://developer.hashicorp.com/terraform/cloud-docs/api-docs", "desc": "Infrastructure as code API", "cat": "DevOps"},
154
+ {"name": "Pulumi", "url": "https://www.pulumi.com/docs/reference/pulumi-api/", "desc": "Infrastructure as code platform", "cat": "DevOps"},
155
+ {"name": "Kubernetes", "url": "https://kubernetes.io/docs/reference/kubernetes-api/", "desc": "Container orchestration API", "cat": "DevOps"},
156
+ {"name": "Docker Hub", "url": "https://docs.docker.com/docker-hub/api/latest/", "desc": "Container registry API", "cat": "DevOps"},
157
+ {"name": "CircleCI", "url": "https://circleci.com/docs/api/v2/", "desc": "CI/CD platform API", "cat": "DevOps"},
158
+ {"name": "GitHub Actions", "url": "https://docs.github.com/en/rest/actions", "desc": "GitHub CI/CD API", "cat": "DevOps"},
159
+ {"name": "GitLab CI", "url": "https://docs.gitlab.com/ee/api/api_resources.html", "desc": "GitLab CI/CD API", "cat": "DevOps"},
160
+ {"name": "Jenkins", "url": "https://www.jenkins.io/doc/book/using/remote-access-api/", "desc": "CI/CD automation server API", "cat": "DevOps"},
161
+ {"name": "Datadog", "url": "https://docs.datadoghq.com/api/latest/", "desc": "Monitoring and observability API", "cat": "DevOps"},
162
+ {"name": "New Relic", "url": "https://docs.newrelic.com/docs/apis/rest-api-v2/", "desc": "Application monitoring API", "cat": "DevOps"},
163
+
164
+ # Communication/Collaboration (20 more)
165
+ {"name": "Slack", "url": "https://api.slack.com/", "desc": "Team messaging platform API", "cat": "Communication"},
166
+ {"name": "Discord", "url": "https://discord.com/developers/docs/reference", "desc": "Community platform API", "cat": "Communication"},
167
+ {"name": "Microsoft Teams", "url": "https://docs.microsoft.com/en-us/graph/teams-concept-overview", "desc": "Team collaboration API", "cat": "Communication"},
168
+ {"name": "Zoom", "url": "https://developers.zoom.us/docs/api/", "desc": "Video conferencing API", "cat": "Communication"},
169
+ {"name": "Google Meet", "url": "https://developers.google.com/meet/api", "desc": "Video meetings API", "cat": "Communication"},
170
+ {"name": "Webex", "url": "https://developer.webex.com/docs/api/getting-started", "desc": "Cisco collaboration API", "cat": "Communication"},
171
+ {"name": "RingCentral", "url": "https://developers.ringcentral.com/api-reference", "desc": "Cloud communications API", "cat": "Communication"},
172
+ {"name": "Vonage", "url": "https://developer.vonage.com/", "desc": "Communications APIs (formerly Nexmo)", "cat": "Communication"},
173
+ {"name": "Bandwidth", "url": "https://dev.bandwidth.com/apis/", "desc": "Enterprise communications API", "cat": "Communication"},
174
+ {"name": "Plivo", "url": "https://www.plivo.com/docs/", "desc": "Voice and SMS API", "cat": "Communication"},
175
+ {"name": "MessageBird", "url": "https://developers.messagebird.com/", "desc": "Omnichannel messaging API", "cat": "Communication"},
176
+ {"name": "Sinch", "url": "https://developers.sinch.com/", "desc": "Customer engagement API", "cat": "Communication"},
177
+ {"name": "Infobip", "url": "https://www.infobip.com/docs/api", "desc": "Customer engagement platform", "cat": "Communication"},
178
+ {"name": "SendBird", "url": "https://sendbird.com/docs", "desc": "In-app messaging and chat API", "cat": "Communication"},
179
+ {"name": "Stream", "url": "https://getstream.io/chat/docs/", "desc": "Chat and activity feeds API", "cat": "Communication"},
180
+ {"name": "Pusher", "url": "https://pusher.com/docs/", "desc": "Realtime messaging API", "cat": "Communication"},
181
+ {"name": "Ably", "url": "https://ably.com/docs/api", "desc": "Realtime experience platform", "cat": "Communication"},
182
+ {"name": "Livekit", "url": "https://docs.livekit.io/", "desc": "Open source WebRTC platform", "cat": "Communication"},
183
+ {"name": "Daily", "url": "https://docs.daily.co/reference", "desc": "Video calling API", "cat": "Communication"},
184
+ {"name": "Whereby", "url": "https://docs.whereby.com/", "desc": "Embedded video meetings API", "cat": "Communication"},
185
+
186
+ # Email Services (15 more)
187
+ {"name": "SendGrid", "url": "https://docs.sendgrid.com/api-reference/", "desc": "Email delivery API", "cat": "Email"},
188
+ {"name": "Mailchimp", "url": "https://mailchimp.com/developer/", "desc": "Email marketing API", "cat": "Email"},
189
+ {"name": "Postmark", "url": "https://postmarkapp.com/developer", "desc": "Transactional email API", "cat": "Email"},
190
+ {"name": "Amazon SES", "url": "https://docs.aws.amazon.com/ses/latest/APIReference/", "desc": "Amazon email service API", "cat": "Email"},
191
+ {"name": "Mailjet", "url": "https://dev.mailjet.com/", "desc": "Email and SMS API", "cat": "Email"},
192
+ {"name": "SparkPost", "url": "https://developers.sparkpost.com/api/", "desc": "Email delivery service API", "cat": "Email"},
193
+ {"name": "Customer.io", "url": "https://customer.io/docs/api/", "desc": "Marketing automation API", "cat": "Email"},
194
+ {"name": "Brevo (Sendinblue)", "url": "https://developers.brevo.com/docs", "desc": "Marketing platform API", "cat": "Email"},
195
+ {"name": "Klaviyo", "url": "https://developers.klaviyo.com/", "desc": "Marketing automation API", "cat": "Email"},
196
+ {"name": "Drip", "url": "https://developer.drip.com/", "desc": "E-commerce CRM API", "cat": "Email"},
197
+ {"name": "ConvertKit", "url": "https://developers.convertkit.com/", "desc": "Creator marketing API", "cat": "Email"},
198
+ {"name": "ActiveCampaign", "url": "https://developers.activecampaign.com/reference/", "desc": "Marketing automation API", "cat": "Email"},
199
+ {"name": "Mailgun Validate", "url": "https://documentation.mailgun.com/en/latest/api-email-validation.html", "desc": "Email validation API", "cat": "Email"},
200
+ {"name": "ZeroBounce", "url": "https://www.zerobounce.net/docs/", "desc": "Email validation API", "cat": "Email"},
201
+ {"name": "Hunter.io", "url": "https://hunter.io/api-documentation/v2", "desc": "Email finder and verifier API", "cat": "Email"},
202
+
203
+ # Media/CDN (15 more)
204
+ {"name": "Cloudinary", "url": "https://cloudinary.com/documentation/image_upload_api_reference", "desc": "Media management and CDN API", "cat": "Media"},
205
+ {"name": "Imgix", "url": "https://docs.imgix.com/apis", "desc": "Image processing and CDN API", "cat": "Media"},
206
+ {"name": "ImageKit", "url": "https://docs.imagekit.io/api-reference/api-introduction", "desc": "Image CDN and optimization API", "cat": "Media"},
207
+ {"name": "Uploadcare", "url": "https://uploadcare.com/api-refs/rest-api/v0.7.0/", "desc": "File handling and CDN API", "cat": "Media"},
208
+ {"name": "Bunny.net", "url": "https://docs.bunny.net/reference/", "desc": "CDN and storage API", "cat": "Media"},
209
+ {"name": "KeyCDN", "url": "https://www.keycdn.com/api", "desc": "Content delivery network API", "cat": "Media"},
210
+ {"name": "StackPath", "url": "https://developer.stackpath.com/", "desc": "Edge platform API", "cat": "Media"},
211
+ {"name": "Mux", "url": "https://docs.mux.com/api-reference/", "desc": "Video streaming API", "cat": "Media"},
212
+ {"name": "Cloudflare Stream", "url": "https://developers.cloudflare.com/stream/", "desc": "Video streaming API", "cat": "Media"},
213
+ {"name": "Vimeo OTT", "url": "https://developer.vimeo.com/ott", "desc": "Video monetization API", "cat": "Media"},
214
+ {"name": "Wistia", "url": "https://wistia.com/support/developers", "desc": "Video hosting API", "cat": "Media"},
215
+ {"name": "JW Player", "url": "https://developer.jwplayer.com/jwplayer/reference", "desc": "Video player and streaming API", "cat": "Media"},
216
+ {"name": "Brightcove", "url": "https://apis.support.brightcove.com/", "desc": "Video platform API", "cat": "Media"},
217
+ {"name": "Kaltura", "url": "https://developer.kaltura.com/api-docs/", "desc": "Video platform API", "cat": "Media"},
218
+ {"name": "Dacast", "url": "https://www.dacast.com/support/api/", "desc": "Video streaming platform API", "cat": "Media"},
219
+
220
+ # Security (20 more)
221
+ {"name": "Auth0", "url": "https://auth0.com/docs/api", "desc": "Identity platform API", "cat": "Authentication"},
222
+ {"name": "Okta", "url": "https://developer.okta.com/docs/reference/", "desc": "Identity and access management API", "cat": "Authentication"},
223
+ {"name": "Clerk", "url": "https://clerk.com/docs/reference/", "desc": "User management API", "cat": "Authentication"},
224
+ {"name": "Stytch", "url": "https://stytch.com/docs/api", "desc": "Passwordless authentication API", "cat": "Authentication"},
225
+ {"name": "Magic", "url": "https://magic.link/docs/api-reference/", "desc": "Web3 authentication API", "cat": "Authentication"},
226
+ {"name": "FusionAuth", "url": "https://fusionauth.io/docs/apis/", "desc": "Identity management API", "cat": "Authentication"},
227
+ {"name": "Supertokens", "url": "https://supertokens.com/docs/api", "desc": "Open source auth API", "cat": "Authentication"},
228
+ {"name": "Descope", "url": "https://docs.descope.com/api/", "desc": "Passwordless authentication API", "cat": "Authentication"},
229
+ {"name": "Snyk", "url": "https://snyk.docs.apiary.io/", "desc": "Security vulnerability scanning API", "cat": "Security"},
230
+ {"name": "SonarQube", "url": "https://docs.sonarqube.org/latest/extension-guide/web-api/", "desc": "Code quality and security API", "cat": "Security"},
231
+ {"name": "Veracode", "url": "https://docs.veracode.com/r/c_rest_intro", "desc": "Application security testing API", "cat": "Security"},
232
+ {"name": "Checkmarx", "url": "https://checkmarx.com/developers/", "desc": "Application security API", "cat": "Security"},
233
+ {"name": "HashiCorp Vault", "url": "https://developer.hashicorp.com/vault/api-docs", "desc": "Secrets management API", "cat": "Security"},
234
+ {"name": "AWS Secrets Manager", "url": "https://docs.aws.amazon.com/secretsmanager/latest/apireference/", "desc": "Secrets management API", "cat": "Security"},
235
+ {"name": "Doppler", "url": "https://docs.doppler.com/reference/api", "desc": "Secrets management platform API", "cat": "Security"},
236
+ {"name": "1Password", "url": "https://developer.1password.com/docs/connect/", "desc": "Password manager API", "cat": "Security"},
237
+ {"name": "Bitwarden", "url": "https://bitwarden.com/help/public-api/", "desc": "Password manager API", "cat": "Security"},
238
+ {"name": "Cloudflare Access", "url": "https://developers.cloudflare.com/api/operations/access-applications-list-access-applications", "desc": "Zero trust security API", "cat": "Security"},
239
+ {"name": "Zscaler", "url": "https://help.zscaler.com/zia/api", "desc": "Cloud security API", "cat": "Security"},
240
+ {"name": "CrowdStrike", "url": "https://developer.crowdstrike.com/", "desc": "Endpoint security API", "cat": "Security"},
241
+
242
+ # Forms/Surveys (10 more)
243
+ {"name": "Typeform", "url": "https://developer.typeform.com/", "desc": "Interactive forms API", "cat": "Survey"},
244
+ {"name": "Jotform", "url": "https://api.jotform.com/docs/", "desc": "Online forms API", "cat": "Survey"},
245
+ {"name": "Formstack", "url": "https://developers.formstack.com/", "desc": "Form builder API", "cat": "Survey"},
246
+ {"name": "Cognito Forms", "url": "https://www.cognitoforms.com/api", "desc": "Online forms API", "cat": "Survey"},
247
+ {"name": "SurveyMonkey", "url": "https://developer.surveymonkey.com/api/v3/", "desc": "Survey platform API", "cat": "Survey"},
248
+ {"name": "Qualtrics", "url": "https://api.qualtrics.com/", "desc": "Experience management API", "cat": "Survey"},
249
+ {"name": "Alchemer (SurveyGizmo)", "url": "https://apihelp.alchemer.com/", "desc": "Survey software API", "cat": "Survey"},
250
+ {"name": "Tally", "url": "https://tally.so/help/developer-api", "desc": "Free form builder API", "cat": "Survey"},
251
+ {"name": "Formbricks", "url": "https://formbricks.com/docs/api", "desc": "Open source survey API", "cat": "Survey"},
252
+ {"name": "Fillout", "url": "https://www.fillout.com/docs/api", "desc": "Form builder API", "cat": "Survey"},
253
+
254
+ # Analytics/BI (15 more)
255
+ {"name": "Amplitude", "url": "https://amplitude.com/docs/apis", "desc": "Product analytics API", "cat": "Analytics"},
256
+ {"name": "Mixpanel", "url": "https://developer.mixpanel.com/reference", "desc": "Product analytics API", "cat": "Analytics"},
257
+ {"name": "Segment", "url": "https://segment.com/docs/connections/sources/catalog/libraries/server/http-api/", "desc": "Customer data platform API", "cat": "Analytics"},
258
+ {"name": "PostHog", "url": "https://posthog.com/docs/api", "desc": "Open source product analytics API", "cat": "Analytics"},
259
+ {"name": "Heap", "url": "https://developers.heap.io/reference", "desc": "Digital insights platform API", "cat": "Analytics"},
260
+ {"name": "Fullstory", "url": "https://developer.fullstory.com/", "desc": "Digital experience analytics API", "cat": "Analytics"},
261
+ {"name": "Hotjar", "url": "https://help.hotjar.com/hc/en-us/articles/4405109971095-Hotjar-API", "desc": "User behavior analytics API", "cat": "Analytics"},
262
+ {"name": "LogRocket", "url": "https://docs.logrocket.com/reference", "desc": "Session replay and analytics API", "cat": "Analytics"},
263
+ {"name": "Plausible", "url": "https://plausible.io/docs/stats-api", "desc": "Privacy-friendly analytics API", "cat": "Analytics"},
264
+ {"name": "Fathom", "url": "https://usefathom.com/docs/api", "desc": "Privacy-first analytics API", "cat": "Analytics"},
265
+ {"name": "Simple Analytics", "url": "https://docs.simpleanalytics.com/api", "desc": "Privacy analytics API", "cat": "Analytics"},
266
+ {"name": "Umami", "url": "https://umami.is/docs/api", "desc": "Open source analytics API", "cat": "Analytics"},
267
+ {"name": "Metabase", "url": "https://www.metabase.com/docs/latest/api-documentation", "desc": "Open source BI API", "cat": "Analytics"},
268
+ {"name": "Superset", "url": "https://superset.apache.org/docs/api/", "desc": "Apache BI platform API", "cat": "Analytics"},
269
+ {"name": "Looker", "url": "https://developers.looker.com/api/overview", "desc": "Google BI platform API", "cat": "Analytics"},
270
+
271
+ # Misc useful APIs (50 more)
272
+ {"name": "OpenAI Whisper", "url": "https://platform.openai.com/docs/guides/speech-to-text", "desc": "Speech to text API", "cat": "AI & ML"},
273
+ {"name": "AssemblyAI", "url": "https://www.assemblyai.com/docs", "desc": "Speech recognition API", "cat": "AI & ML"},
274
+ {"name": "Deepgram", "url": "https://developers.deepgram.com/docs", "desc": "Voice AI platform API", "cat": "AI & ML"},
275
+ {"name": "Rev.ai", "url": "https://docs.rev.ai/", "desc": "Speech recognition API", "cat": "AI & ML"},
276
+ {"name": "Speechmatics", "url": "https://docs.speechmatics.com/", "desc": "Speech technology API", "cat": "AI & ML"},
277
+ {"name": "Symbl.ai", "url": "https://docs.symbl.ai/docs", "desc": "Conversation intelligence API", "cat": "AI & ML"},
278
+ {"name": "Hume AI", "url": "https://docs.hume.ai/", "desc": "Emotion AI API", "cat": "AI & ML"},
279
+ {"name": "Affectiva", "url": "https://developer.affectiva.com/", "desc": "Emotion recognition API", "cat": "AI & ML"},
280
+ {"name": "Lobe", "url": "https://lobe.ai/", "desc": "ML model training by Microsoft", "cat": "AI & ML"},
281
+ {"name": "Teachable Machine", "url": "https://teachablemachine.withgoogle.com/", "desc": "Google ML training tool", "cat": "AI & ML"},
282
+ {"name": "Roboflow", "url": "https://docs.roboflow.com/", "desc": "Computer vision platform API", "cat": "AI & ML"},
283
+ {"name": "Clarifai", "url": "https://docs.clarifai.com/api-guide/api-overview", "desc": "AI platform for unstructured data", "cat": "AI & ML"},
284
+ {"name": "Hugging Face", "url": "https://huggingface.co/docs/api-inference/index", "desc": "ML model hub API", "cat": "AI & ML"},
285
+ {"name": "Weights & Biases", "url": "https://docs.wandb.ai/ref/python", "desc": "ML experiment tracking API", "cat": "AI & ML"},
286
+ {"name": "MLflow", "url": "https://mlflow.org/docs/latest/rest-api.html", "desc": "ML lifecycle platform API", "cat": "AI & ML"},
287
+ {"name": "Neptune.ai", "url": "https://docs.neptune.ai/api-reference", "desc": "ML metadata store API", "cat": "AI & ML"},
288
+ {"name": "Comet", "url": "https://www.comet.com/docs/v2/api-and-sdk/rest-api/", "desc": "ML experiment platform API", "cat": "AI & ML"},
289
+ {"name": "DVC", "url": "https://dvc.org/doc/api-reference", "desc": "Data version control API", "cat": "AI & ML"},
290
+ {"name": "Label Studio", "url": "https://labelstud.io/api", "desc": "Data labeling platform API", "cat": "AI & ML"},
291
+ {"name": "Scale AI", "url": "https://docs.scale.com/reference", "desc": "Data annotation API", "cat": "AI & ML"},
292
+ {"name": "Labelbox", "url": "https://docs.labelbox.com/reference", "desc": "Training data platform API", "cat": "AI & ML"},
293
+ {"name": "Snorkel", "url": "https://snorkel.ai/documentation/", "desc": "AI data development API", "cat": "AI & ML"},
294
+ {"name": "Great Expectations", "url": "https://docs.greatexpectations.io/docs/reference/api_reference", "desc": "Data quality API", "cat": "Data & Analytics"},
295
+ {"name": "dbt", "url": "https://docs.getdbt.com/docs/dbt-cloud-apis/overview", "desc": "Data transformation API", "cat": "Data & Analytics"},
296
+ {"name": "Fivetran", "url": "https://fivetran.com/docs/rest-api", "desc": "Data integration API", "cat": "Data & Analytics"},
297
+ {"name": "Airbyte", "url": "https://reference.airbyte.com/reference/", "desc": "Open source data integration API", "cat": "Data & Analytics"},
298
+ {"name": "Stitch", "url": "https://www.stitchdata.com/docs/developers", "desc": "ETL service API", "cat": "Data & Analytics"},
299
+ {"name": "Census", "url": "https://docs.getcensus.com/api", "desc": "Reverse ETL platform API", "cat": "Data & Analytics"},
300
+ {"name": "Hightouch", "url": "https://hightouch.com/docs/api", "desc": "Reverse ETL platform API", "cat": "Data & Analytics"},
301
+ {"name": "Snowflake", "url": "https://docs.snowflake.com/en/developer-guide/sql-api/", "desc": "Data cloud platform API", "cat": "Data & Analytics"},
302
+ {"name": "Databricks", "url": "https://docs.databricks.com/api/", "desc": "Data and AI platform API", "cat": "Data & Analytics"},
303
+ {"name": "BigQuery", "url": "https://cloud.google.com/bigquery/docs/reference/rest", "desc": "Google data warehouse API", "cat": "Data & Analytics"},
304
+ {"name": "Redshift", "url": "https://docs.aws.amazon.com/redshift/latest/APIReference/", "desc": "AWS data warehouse API", "cat": "Data & Analytics"},
305
+ {"name": "Clickhouse", "url": "https://clickhouse.com/docs/en/sql-reference", "desc": "Column-oriented database API", "cat": "Databases"},
306
+ {"name": "TimescaleDB", "url": "https://docs.timescale.com/api/latest/", "desc": "Time-series database API", "cat": "Databases"},
307
+ {"name": "InfluxDB", "url": "https://docs.influxdata.com/influxdb/cloud/api/", "desc": "Time series platform API", "cat": "Databases"},
308
+ {"name": "QuestDB", "url": "https://questdb.io/docs/reference/api/rest/", "desc": "Time series database API", "cat": "Databases"},
309
+ {"name": "CockroachDB", "url": "https://www.cockroachlabs.com/docs/stable/api-support-policy.html", "desc": "Distributed SQL database", "cat": "Databases"},
310
+ {"name": "PlanetScale", "url": "https://planetscale.com/docs/concepts/api", "desc": "Serverless MySQL API", "cat": "Databases"},
311
+ {"name": "Neon", "url": "https://neon.tech/docs/reference/api-reference", "desc": "Serverless Postgres API", "cat": "Databases"},
312
+ {"name": "Supabase", "url": "https://supabase.com/docs/reference", "desc": "Open source Firebase alternative", "cat": "Databases"},
313
+ {"name": "Firebase", "url": "https://firebase.google.com/docs/reference", "desc": "App development platform API", "cat": "Databases"},
314
+ {"name": "FaunaDB", "url": "https://docs.fauna.com/fauna/current/reference/http/", "desc": "Distributed database API", "cat": "Databases"},
315
+ {"name": "MongoDB Atlas", "url": "https://www.mongodb.com/docs/atlas/api/", "desc": "MongoDB cloud database API", "cat": "Databases"},
316
+ {"name": "Redis Cloud", "url": "https://docs.redis.com/latest/rc/api/", "desc": "Redis cloud database API", "cat": "Databases"},
317
+ {"name": "Upstash", "url": "https://upstash.com/docs/redis/overall/redisapi", "desc": "Serverless Redis API", "cat": "Databases"},
318
+ {"name": "Xata", "url": "https://xata.io/docs/api-reference", "desc": "Serverless database API", "cat": "Databases"},
319
+ {"name": "EdgeDB", "url": "https://www.edgedb.com/docs/reference/protocol", "desc": "Graph-relational database API", "cat": "Databases"},
320
+ {"name": "SurrealDB", "url": "https://surrealdb.com/docs/integration/http", "desc": "Multi-model database API", "cat": "Databases"},
321
+ {"name": "Dgraph", "url": "https://dgraph.io/docs/graphql/api/", "desc": "Native GraphQL database", "cat": "Databases"},
322
+ ]
323
+
324
+ def main():
325
+ print("="*60)
326
+ print("APIClaw Night Expansion Batch 2 - 2026-02-24 02:00")
327
+ print("="*60)
328
+
329
+ # Load existing registry
330
+ with open(REGISTRY_PATH, 'r') as f:
331
+ registry = json.load(f)
332
+
333
+ existing_ids = {api['id'] for api in registry['apis']}
334
+ existing_names = {api['name'].lower() for api in registry['apis']}
335
+ initial_count = len(registry['apis'])
336
+
337
+ print(f"Current registry: {initial_count} APIs")
338
+ print(f"Processing {len(MORE_APIS)} additional APIs...")
339
+
340
+ added = 0
341
+ skipped = 0
342
+
343
+ for entry in MORE_APIS:
344
+ # Generate ID
345
+ api_id = entry['name'].lower().replace(' ', '-').replace('.', '-').replace('_', '-')
346
+ api_id = re.sub(r'[^a-z0-9-]', '', api_id)
347
+ api_id = re.sub(r'-+', '-', api_id).strip('-')
348
+
349
+ # Skip if already exists
350
+ if api_id in existing_ids or entry['name'].lower() in existing_names:
351
+ skipped += 1
352
+ continue
353
+
354
+ # Create API entry
355
+ api_entry = {
356
+ "id": api_id,
357
+ "name": entry['name'],
358
+ "description": entry.get('desc', f"{entry['name']} API"),
359
+ "category": entry.get('cat', 'Other'),
360
+ "auth": "apikey",
361
+ "https": True,
362
+ "cors": "unknown",
363
+ "link": entry.get('url', ''),
364
+ "pricing": "unknown",
365
+ "keywords": extract_keywords(entry['name'], entry.get('desc', ''), entry.get('cat', ''))
366
+ }
367
+
368
+ registry['apis'].append(api_entry)
369
+ existing_ids.add(api_id)
370
+ existing_names.add(entry['name'].lower())
371
+ added += 1
372
+
373
+ # Update metadata
374
+ registry['count'] = len(registry['apis'])
375
+ registry['lastUpdated'] = datetime.now().isoformat()
376
+ registry['version'] = "3.2.3"
377
+
378
+ # Save registry
379
+ with open(REGISTRY_PATH, 'w') as f:
380
+ json.dump(registry, f, indent=2)
381
+
382
+ final_count = len(registry['apis'])
383
+
384
+ print(f"\nResults:")
385
+ print(f" Added: {added}")
386
+ print(f" Skipped (duplicates): {skipped}")
387
+ print(f" Total APIs: {initial_count} → {final_count}")
388
+ print(f"\nRegistry updated!")
389
+
390
+ if __name__ == "__main__":
391
+ main()