@nordsym/apiclaw 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/EARN-CREDITS-SPEC.md +197 -0
- package/README.md +11 -7
- package/STATUS.md +16 -15
- package/VISION.md +123 -0
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +11 -0
- package/dist/credentials.js.map +1 -1
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +75 -0
- package/dist/execute.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +1 -1
- package/dist/proxy.js.map +1 -1
- package/dist/registry/apis.json +93516 -7139
- package/dist/registry/apis_expanded.json +3123 -3
- package/landing/public/book/index.html +339 -0
- package/landing/src/app/docs/page.tsx +142 -115
- package/landing/src/app/earn/page.tsx +305 -0
- package/landing/src/app/page.tsx +16 -11
- package/landing/src/lib/apis.json +1 -116054
- package/landing/src/lib/stats.json +5 -5
- package/package.json +4 -1
- package/scripts/add-public-apis.py +625 -0
- package/scripts/apisguru-data.json +158837 -0
- package/scripts/bonus-batch.py +250 -0
- package/scripts/bulk-add-apisguru.js +122 -0
- package/scripts/expand-2026-batch.py +335 -0
- package/scripts/expand-from-github.py +460 -0
- package/scripts/expand-n4ze3m.py +198 -0
- package/scripts/expand-niche-batch.py +269 -0
- package/scripts/expand-nordic-niche.py +189 -0
- package/scripts/expand-tonnyL.py +343 -0
- package/scripts/final-batch.py +315 -0
- package/scripts/final-push-06.py +242 -0
- package/scripts/mega-expansion.py +495 -0
- package/scripts/mega-final-06.py +512 -0
- package/scripts/more-apis.py +353 -0
- package/scripts/night-batch-05.py +546 -0
- package/scripts/night-batch-05b.py +427 -0
- package/scripts/night-expansion-02-23-batch2.py +284 -0
- package/scripts/night-expansion-02-23.py +383 -0
- package/scripts/night-expansion-03-batch2.py +336 -0
- package/scripts/night-expansion-03-batch3.py +392 -0
- package/scripts/night-expansion-03.py +573 -0
- package/scripts/night-expansion-04-23.py +461 -0
- package/scripts/night-expansion-05-23-batch2.py +431 -0
- package/scripts/night-expansion-05-23-batch3.py +366 -0
- package/scripts/night-expansion-05-23-final.py +349 -0
- package/scripts/night-expansion-05-23.py +540 -0
- package/scripts/night-expansion-06-23-batch2.py +261 -0
- package/scripts/night-expansion-06-23-batch3.py +213 -0
- package/scripts/night-expansion-06-23-batch4.py +261 -0
- package/scripts/night-expansion-06-23.py +309 -0
- package/scripts/night-expansion-06.py +325 -0
- package/scripts/night-expansion.py +441 -0
- package/scripts/night-final-batch-04-23.py +547 -0
- package/scripts/night-mega-batch-04-23.py +874 -0
- package/scripts/super-final-06.py +341 -0
- package/src/credentials.ts +12 -0
- package/src/execute.ts +93 -0
- package/src/index.ts +1 -1
- package/src/proxy.ts +1 -1
- package/src/registry/apis.json +93516 -7139
- package/src/registry/apis_expanded.json +3123 -3
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
APIClaw Night Expansion - 05:00 Feb 23, 2026
|
|
4
|
+
Target: +1000 APIs from diverse sources
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import json
|
|
8
|
+
import re
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
from datetime import datetime
|
|
11
|
+
|
|
12
|
+
REGISTRY_PATH = Path(__file__).parent.parent / "src" / "registry" / "apis.json"
|
|
13
|
+
|
|
14
|
+
def generate_id(name: str) -> str:
|
|
15
|
+
clean = re.sub(r'[^a-z0-9]+', '-', name.lower()).strip('-')
|
|
16
|
+
return clean[:50]
|
|
17
|
+
|
|
18
|
+
def load_registry() -> dict:
|
|
19
|
+
with open(REGISTRY_PATH, 'r') as f:
|
|
20
|
+
return json.load(f)
|
|
21
|
+
|
|
22
|
+
def save_registry(registry: dict):
|
|
23
|
+
with open(REGISTRY_PATH, 'w') as f:
|
|
24
|
+
json.dump(registry, f, indent=2)
|
|
25
|
+
|
|
26
|
+
def get_existing_ids(registry: dict) -> set:
|
|
27
|
+
return {api['id'] for api in registry['apis']}
|
|
28
|
+
|
|
29
|
+
# New API batches for Feb 23
|
|
30
|
+
NEW_APIS = [
|
|
31
|
+
# Web3 & Crypto (50)
|
|
32
|
+
{"name": "Alchemy", "desc": "Web3 development platform APIs", "category": "Blockchain", "url": "https://www.alchemy.com/sdk"},
|
|
33
|
+
{"name": "QuickNode", "desc": "Blockchain infrastructure APIs", "category": "Blockchain", "url": "https://www.quicknode.com"},
|
|
34
|
+
{"name": "Infura", "desc": "Ethereum and IPFS APIs", "category": "Blockchain", "url": "https://infura.io"},
|
|
35
|
+
{"name": "Moralis", "desc": "Web3 development APIs", "category": "Blockchain", "url": "https://moralis.io"},
|
|
36
|
+
{"name": "Thirdweb", "desc": "Web3 SDK and APIs", "category": "Blockchain", "url": "https://thirdweb.com"},
|
|
37
|
+
{"name": "Chainlink", "desc": "Oracle network APIs", "category": "Blockchain", "url": "https://chain.link"},
|
|
38
|
+
{"name": "The Graph", "desc": "GraphQL blockchain indexing", "category": "Blockchain", "url": "https://thegraph.com"},
|
|
39
|
+
{"name": "Ankr", "desc": "Multi-chain RPC APIs", "category": "Blockchain", "url": "https://www.ankr.com"},
|
|
40
|
+
{"name": "Pocket Network", "desc": "Decentralized RPC", "category": "Blockchain", "url": "https://pokt.network"},
|
|
41
|
+
{"name": "Tenderly", "desc": "Smart contract simulation", "category": "Blockchain", "url": "https://tenderly.co"},
|
|
42
|
+
{"name": "Bitquery", "desc": "Blockchain data APIs", "category": "Blockchain", "url": "https://bitquery.io"},
|
|
43
|
+
{"name": "Nansen", "desc": "On-chain analytics", "category": "Blockchain", "url": "https://nansen.ai"},
|
|
44
|
+
{"name": "Dune Analytics", "desc": "Blockchain data queries", "category": "Blockchain", "url": "https://dune.com"},
|
|
45
|
+
{"name": "Covalent", "desc": "Unified blockchain data", "category": "Blockchain", "url": "https://www.covalenthq.com"},
|
|
46
|
+
{"name": "Unmarshal", "desc": "Multi-chain data indexing", "category": "Blockchain", "url": "https://unmarshal.io"},
|
|
47
|
+
{"name": "Transpose", "desc": "Blockchain SQL queries", "category": "Blockchain", "url": "https://transpose.io"},
|
|
48
|
+
{"name": "Defined.fi", "desc": "DeFi analytics APIs", "category": "Blockchain", "url": "https://defined.fi"},
|
|
49
|
+
{"name": "0x Protocol", "desc": "DEX aggregation API", "category": "Blockchain", "url": "https://0x.org"},
|
|
50
|
+
{"name": "1inch", "desc": "DEX aggregator API", "category": "Blockchain", "url": "https://1inch.io"},
|
|
51
|
+
{"name": "Paraswap", "desc": "DeFi middleware API", "category": "Blockchain", "url": "https://paraswap.io"},
|
|
52
|
+
{"name": "Socket", "desc": "Cross-chain bridge API", "category": "Blockchain", "url": "https://socket.tech"},
|
|
53
|
+
{"name": "LI.FI", "desc": "Multi-chain bridging", "category": "Blockchain", "url": "https://li.fi"},
|
|
54
|
+
{"name": "Wormhole", "desc": "Cross-chain messaging", "category": "Blockchain", "url": "https://wormhole.com"},
|
|
55
|
+
{"name": "LayerZero", "desc": "Omnichain protocol API", "category": "Blockchain", "url": "https://layerzero.network"},
|
|
56
|
+
{"name": "Axelar", "desc": "Cross-chain communication", "category": "Blockchain", "url": "https://axelar.network"},
|
|
57
|
+
{"name": "Across", "desc": "Bridge protocol API", "category": "Blockchain", "url": "https://across.to"},
|
|
58
|
+
{"name": "Synapse", "desc": "Cross-chain liquidity", "category": "Blockchain", "url": "https://synapseprotocol.com"},
|
|
59
|
+
{"name": "Hop Protocol", "desc": "L2 bridge API", "category": "Blockchain", "url": "https://hop.exchange"},
|
|
60
|
+
{"name": "Stargate", "desc": "Native asset bridge", "category": "Blockchain", "url": "https://stargate.finance"},
|
|
61
|
+
{"name": "Connext", "desc": "Crosschain transfer API", "category": "Blockchain", "url": "https://connext.network"},
|
|
62
|
+
{"name": "OpenSea", "desc": "NFT marketplace API", "category": "Blockchain", "url": "https://opensea.io"},
|
|
63
|
+
{"name": "Blur", "desc": "NFT trading API", "category": "Blockchain", "url": "https://blur.io"},
|
|
64
|
+
{"name": "Reservoir", "desc": "NFT data and trading", "category": "Blockchain", "url": "https://reservoir.tools"},
|
|
65
|
+
{"name": "Rarible", "desc": "NFT protocol API", "category": "Blockchain", "url": "https://rarible.com"},
|
|
66
|
+
{"name": "Zora", "desc": "NFT protocol API", "category": "Blockchain", "url": "https://zora.co"},
|
|
67
|
+
{"name": "Magic Eden", "desc": "Multi-chain NFT API", "category": "Blockchain", "url": "https://magiceden.io"},
|
|
68
|
+
{"name": "Foundation", "desc": "NFT creator platform", "category": "Blockchain", "url": "https://foundation.app"},
|
|
69
|
+
{"name": "Manifold", "desc": "Creator contracts API", "category": "Blockchain", "url": "https://manifold.xyz"},
|
|
70
|
+
{"name": "Crossmint", "desc": "NFT payments API", "category": "Blockchain", "url": "https://crossmint.com"},
|
|
71
|
+
{"name": "Paper", "desc": "NFT checkout API", "category": "Blockchain", "url": "https://withpaper.com"},
|
|
72
|
+
{"name": "Arweave", "desc": "Permanent storage API", "category": "Storage", "url": "https://arweave.org"},
|
|
73
|
+
{"name": "Filecoin", "desc": "Decentralized storage", "category": "Storage", "url": "https://filecoin.io"},
|
|
74
|
+
{"name": "IPFS Pinata", "desc": "IPFS pinning service", "category": "Storage", "url": "https://pinata.cloud"},
|
|
75
|
+
{"name": "NFT.Storage", "desc": "Free NFT storage", "category": "Storage", "url": "https://nft.storage"},
|
|
76
|
+
{"name": "Web3.Storage", "desc": "Decentralized storage", "category": "Storage", "url": "https://web3.storage"},
|
|
77
|
+
{"name": "Filebase", "desc": "Decentralized storage", "category": "Storage", "url": "https://filebase.com"},
|
|
78
|
+
{"name": "Ceramic Network", "desc": "Decentralized data", "category": "Blockchain", "url": "https://ceramic.network"},
|
|
79
|
+
{"name": "Lit Protocol", "desc": "Decentralized encryption", "category": "Blockchain", "url": "https://litprotocol.com"},
|
|
80
|
+
{"name": "Spruce", "desc": "Decentralized identity", "category": "Blockchain", "url": "https://spruceid.com"},
|
|
81
|
+
{"name": "ENS", "desc": "Ethereum Name Service", "category": "Blockchain", "url": "https://ens.domains"},
|
|
82
|
+
|
|
83
|
+
# AI & ML Services (50)
|
|
84
|
+
{"name": "Stability AI", "desc": "Image generation APIs", "category": "AI", "url": "https://stability.ai"},
|
|
85
|
+
{"name": "Midjourney", "desc": "AI image generation", "category": "AI", "url": "https://midjourney.com"},
|
|
86
|
+
{"name": "Leonardo AI", "desc": "AI image generation", "category": "AI", "url": "https://leonardo.ai"},
|
|
87
|
+
{"name": "Ideogram", "desc": "AI text-to-image", "category": "AI", "url": "https://ideogram.ai"},
|
|
88
|
+
{"name": "Playground AI", "desc": "AI image creation", "category": "AI", "url": "https://playgroundai.com"},
|
|
89
|
+
{"name": "Clipdrop", "desc": "AI image editing", "category": "AI", "url": "https://clipdrop.co"},
|
|
90
|
+
{"name": "Remove.bg", "desc": "Background removal API", "category": "AI", "url": "https://remove.bg"},
|
|
91
|
+
{"name": "PhotoRoom", "desc": "AI photo editing", "category": "AI", "url": "https://photoroom.com"},
|
|
92
|
+
{"name": "Picsart", "desc": "AI photo editing API", "category": "AI", "url": "https://picsart.com"},
|
|
93
|
+
{"name": "Deep AI", "desc": "Various AI APIs", "category": "AI", "url": "https://deepai.org"},
|
|
94
|
+
{"name": "Runway", "desc": "AI video generation", "category": "AI", "url": "https://runwayml.com"},
|
|
95
|
+
{"name": "Pika", "desc": "AI video creation", "category": "AI", "url": "https://pika.art"},
|
|
96
|
+
{"name": "Luma AI", "desc": "3D AI generation", "category": "AI", "url": "https://lumalabs.ai"},
|
|
97
|
+
{"name": "Meshy", "desc": "3D model generation", "category": "AI", "url": "https://meshy.ai"},
|
|
98
|
+
{"name": "Kaedim", "desc": "2D to 3D AI", "category": "AI", "url": "https://kaedim3d.com"},
|
|
99
|
+
{"name": "Rodin", "desc": "3D avatar AI", "category": "AI", "url": "https://hyperhuman.deemos.com"},
|
|
100
|
+
{"name": "Suno", "desc": "AI music generation", "category": "AI", "url": "https://suno.ai"},
|
|
101
|
+
{"name": "Udio", "desc": "AI music creation", "category": "AI", "url": "https://udio.com"},
|
|
102
|
+
{"name": "Mubert", "desc": "AI music API", "category": "AI", "url": "https://mubert.com"},
|
|
103
|
+
{"name": "Soundraw", "desc": "AI music generation", "category": "AI", "url": "https://soundraw.io"},
|
|
104
|
+
{"name": "Aiva", "desc": "AI composer", "category": "AI", "url": "https://aiva.ai"},
|
|
105
|
+
{"name": "Boomy", "desc": "AI music maker", "category": "AI", "url": "https://boomy.com"},
|
|
106
|
+
{"name": "Descript", "desc": "AI audio/video editing", "category": "AI", "url": "https://descript.com"},
|
|
107
|
+
{"name": "Podcastle", "desc": "AI podcasting", "category": "AI", "url": "https://podcastle.ai"},
|
|
108
|
+
{"name": "Riverside", "desc": "AI recording studio", "category": "AI", "url": "https://riverside.fm"},
|
|
109
|
+
{"name": "Resemble AI", "desc": "Voice cloning API", "category": "AI", "url": "https://resemble.ai"},
|
|
110
|
+
{"name": "PlayHT", "desc": "AI voice generation", "category": "AI", "url": "https://play.ht"},
|
|
111
|
+
{"name": "Speechify", "desc": "Text-to-speech API", "category": "AI", "url": "https://speechify.com"},
|
|
112
|
+
{"name": "Murf", "desc": "AI voiceover", "category": "AI", "url": "https://murf.ai"},
|
|
113
|
+
{"name": "WellSaid", "desc": "AI voice generation", "category": "AI", "url": "https://wellsaidlabs.com"},
|
|
114
|
+
{"name": "Synthesia", "desc": "AI video avatars", "category": "AI", "url": "https://synthesia.io"},
|
|
115
|
+
{"name": "HeyGen", "desc": "AI video generation", "category": "AI", "url": "https://heygen.com"},
|
|
116
|
+
{"name": "Colossyan", "desc": "AI video creation", "category": "AI", "url": "https://colossyan.com"},
|
|
117
|
+
{"name": "Hour One", "desc": "AI video synthesis", "category": "AI", "url": "https://hourone.ai"},
|
|
118
|
+
{"name": "D-ID", "desc": "AI video and faces", "category": "AI", "url": "https://d-id.com"},
|
|
119
|
+
{"name": "Tavus", "desc": "Personalized AI video", "category": "AI", "url": "https://tavus.io"},
|
|
120
|
+
{"name": "Deepgram", "desc": "Speech recognition API", "category": "AI", "url": "https://deepgram.com"},
|
|
121
|
+
{"name": "AssemblyAI", "desc": "Speech-to-text API", "category": "AI", "url": "https://assemblyai.com"},
|
|
122
|
+
{"name": "Speechmatics", "desc": "Speech recognition", "category": "AI", "url": "https://speechmatics.com"},
|
|
123
|
+
{"name": "Rev AI", "desc": "Transcription API", "category": "AI", "url": "https://rev.ai"},
|
|
124
|
+
{"name": "Gladia", "desc": "Audio transcription", "category": "AI", "url": "https://gladia.io"},
|
|
125
|
+
{"name": "Cohere", "desc": "Enterprise NLP API", "category": "AI", "url": "https://cohere.ai"},
|
|
126
|
+
{"name": "AI21 Labs", "desc": "Language models API", "category": "AI", "url": "https://ai21.com"},
|
|
127
|
+
{"name": "Aleph Alpha", "desc": "European AI models", "category": "AI", "url": "https://aleph-alpha.com"},
|
|
128
|
+
{"name": "Writer", "desc": "Enterprise LLM API", "category": "AI", "url": "https://writer.com"},
|
|
129
|
+
{"name": "Jasper", "desc": "AI content API", "category": "AI", "url": "https://jasper.ai"},
|
|
130
|
+
{"name": "Copy.ai", "desc": "AI copywriting", "category": "AI", "url": "https://copy.ai"},
|
|
131
|
+
{"name": "Writesonic", "desc": "AI writing API", "category": "AI", "url": "https://writesonic.com"},
|
|
132
|
+
{"name": "Rytr", "desc": "AI writing assistant", "category": "AI", "url": "https://rytr.me"},
|
|
133
|
+
{"name": "Wordtune", "desc": "AI writing companion", "category": "AI", "url": "https://wordtune.com"},
|
|
134
|
+
|
|
135
|
+
# Developer Tools (50)
|
|
136
|
+
{"name": "Supabase", "desc": "Backend as a service", "category": "Backend", "url": "https://supabase.com"},
|
|
137
|
+
{"name": "Planetscale", "desc": "Serverless MySQL", "category": "Database", "url": "https://planetscale.com"},
|
|
138
|
+
{"name": "Neon", "desc": "Serverless Postgres", "category": "Database", "url": "https://neon.tech"},
|
|
139
|
+
{"name": "Turso", "desc": "Edge database", "category": "Database", "url": "https://turso.tech"},
|
|
140
|
+
{"name": "Xata", "desc": "Serverless database", "category": "Database", "url": "https://xata.io"},
|
|
141
|
+
{"name": "Upstash", "desc": "Serverless Redis/Kafka", "category": "Database", "url": "https://upstash.com"},
|
|
142
|
+
{"name": "Fauna", "desc": "Distributed database", "category": "Database", "url": "https://fauna.com"},
|
|
143
|
+
{"name": "CockroachDB", "desc": "Distributed SQL", "category": "Database", "url": "https://cockroachlabs.com"},
|
|
144
|
+
{"name": "Timescale", "desc": "Time-series database", "category": "Database", "url": "https://timescale.com"},
|
|
145
|
+
{"name": "InfluxDB", "desc": "Time-series platform", "category": "Database", "url": "https://influxdata.com"},
|
|
146
|
+
{"name": "Questdb", "desc": "Fast time-series", "category": "Database", "url": "https://questdb.io"},
|
|
147
|
+
{"name": "SingleStore", "desc": "Real-time database", "category": "Database", "url": "https://singlestore.com"},
|
|
148
|
+
{"name": "Clickhouse", "desc": "OLAP database", "category": "Database", "url": "https://clickhouse.com"},
|
|
149
|
+
{"name": "Materialize", "desc": "Streaming SQL", "category": "Database", "url": "https://materialize.com"},
|
|
150
|
+
{"name": "Prisma", "desc": "ORM and database tools", "category": "Database", "url": "https://prisma.io"},
|
|
151
|
+
{"name": "Drizzle", "desc": "TypeScript ORM", "category": "Database", "url": "https://drizzle.team"},
|
|
152
|
+
{"name": "EdgeDB", "desc": "Graph-relational database", "category": "Database", "url": "https://edgedb.com"},
|
|
153
|
+
{"name": "SurrealDB", "desc": "Multi-model database", "category": "Database", "url": "https://surrealdb.com"},
|
|
154
|
+
{"name": "Dgraph", "desc": "Graph database", "category": "Database", "url": "https://dgraph.io"},
|
|
155
|
+
{"name": "Neo4j", "desc": "Graph database", "category": "Database", "url": "https://neo4j.com"},
|
|
156
|
+
{"name": "TigerGraph", "desc": "Graph analytics", "category": "Database", "url": "https://tigergraph.com"},
|
|
157
|
+
{"name": "ArangoDB", "desc": "Multi-model database", "category": "Database", "url": "https://arangodb.com"},
|
|
158
|
+
{"name": "Couchbase", "desc": "NoSQL database", "category": "Database", "url": "https://couchbase.com"},
|
|
159
|
+
{"name": "ScyllaDB", "desc": "NoSQL database", "category": "Database", "url": "https://scylladb.com"},
|
|
160
|
+
{"name": "Yugabyte", "desc": "Distributed SQL", "category": "Database", "url": "https://yugabyte.com"},
|
|
161
|
+
{"name": "Deno Deploy", "desc": "Edge functions", "category": "Hosting", "url": "https://deno.com/deploy"},
|
|
162
|
+
{"name": "Bun", "desc": "JavaScript runtime", "category": "Runtime", "url": "https://bun.sh"},
|
|
163
|
+
{"name": "Netlify", "desc": "Jamstack hosting", "category": "Hosting", "url": "https://netlify.com"},
|
|
164
|
+
{"name": "Railway", "desc": "Infrastructure platform", "category": "Hosting", "url": "https://railway.app"},
|
|
165
|
+
{"name": "Render", "desc": "Cloud application platform", "category": "Hosting", "url": "https://render.com"},
|
|
166
|
+
{"name": "Fly.io", "desc": "Global application platform", "category": "Hosting", "url": "https://fly.io"},
|
|
167
|
+
{"name": "Modal", "desc": "Serverless data infra", "category": "Compute", "url": "https://modal.com"},
|
|
168
|
+
{"name": "Val Town", "desc": "Social scripting", "category": "Compute", "url": "https://val.town"},
|
|
169
|
+
{"name": "Replit", "desc": "Development platform", "category": "Development", "url": "https://replit.com"},
|
|
170
|
+
{"name": "Gitpod", "desc": "Cloud development", "category": "Development", "url": "https://gitpod.io"},
|
|
171
|
+
{"name": "Codespaces", "desc": "GitHub cloud IDE", "category": "Development", "url": "https://github.com/features/codespaces"},
|
|
172
|
+
{"name": "StackBlitz", "desc": "In-browser IDE", "category": "Development", "url": "https://stackblitz.com"},
|
|
173
|
+
{"name": "CodeSandbox", "desc": "Cloud development", "category": "Development", "url": "https://codesandbox.io"},
|
|
174
|
+
{"name": "Glitch", "desc": "Web app platform", "category": "Development", "url": "https://glitch.com"},
|
|
175
|
+
{"name": "Temporal", "desc": "Workflow orchestration", "category": "Workflow", "url": "https://temporal.io"},
|
|
176
|
+
{"name": "Inngest", "desc": "Event-driven functions", "category": "Workflow", "url": "https://inngest.com"},
|
|
177
|
+
{"name": "Trigger.dev", "desc": "Background jobs", "category": "Workflow", "url": "https://trigger.dev"},
|
|
178
|
+
{"name": "QStash", "desc": "Message queue", "category": "Queue", "url": "https://upstash.com/qstash"},
|
|
179
|
+
{"name": "Zeplo", "desc": "Request queue", "category": "Queue", "url": "https://zeplo.io"},
|
|
180
|
+
{"name": "Knock", "desc": "Notifications API", "category": "Communication", "url": "https://knock.app"},
|
|
181
|
+
{"name": "Novu", "desc": "Notifications infra", "category": "Communication", "url": "https://novu.co"},
|
|
182
|
+
{"name": "Courier", "desc": "Notifications API", "category": "Communication", "url": "https://courier.com"},
|
|
183
|
+
{"name": "OneSignal", "desc": "Push notifications", "category": "Communication", "url": "https://onesignal.com"},
|
|
184
|
+
{"name": "Pusher", "desc": "Realtime APIs", "category": "Communication", "url": "https://pusher.com"},
|
|
185
|
+
{"name": "Ably", "desc": "Realtime messaging", "category": "Communication", "url": "https://ably.com"},
|
|
186
|
+
|
|
187
|
+
# E-commerce & Payments (50)
|
|
188
|
+
{"name": "Shopify", "desc": "E-commerce platform API", "category": "E-commerce", "url": "https://shopify.dev"},
|
|
189
|
+
{"name": "BigCommerce", "desc": "E-commerce API", "category": "E-commerce", "url": "https://developer.bigcommerce.com"},
|
|
190
|
+
{"name": "Magento", "desc": "E-commerce platform", "category": "E-commerce", "url": "https://devdocs.magento.com"},
|
|
191
|
+
{"name": "WooCommerce", "desc": "WordPress commerce", "category": "E-commerce", "url": "https://woocommerce.com"},
|
|
192
|
+
{"name": "Medusa", "desc": "Open source commerce", "category": "E-commerce", "url": "https://medusajs.com"},
|
|
193
|
+
{"name": "Saleor", "desc": "GraphQL commerce", "category": "E-commerce", "url": "https://saleor.io"},
|
|
194
|
+
{"name": "Vendure", "desc": "Headless commerce", "category": "E-commerce", "url": "https://vendure.io"},
|
|
195
|
+
{"name": "Commerce.js", "desc": "Headless commerce API", "category": "E-commerce", "url": "https://commercejs.com"},
|
|
196
|
+
{"name": "Swell", "desc": "Headless e-commerce", "category": "E-commerce", "url": "https://swell.is"},
|
|
197
|
+
{"name": "Crystallize", "desc": "Headless commerce", "category": "E-commerce", "url": "https://crystallize.com"},
|
|
198
|
+
{"name": "Bold Commerce", "desc": "Checkout and subscriptions", "category": "E-commerce", "url": "https://boldcommerce.com"},
|
|
199
|
+
{"name": "Nacelle", "desc": "Composable commerce", "category": "E-commerce", "url": "https://nacelle.com"},
|
|
200
|
+
{"name": "Elastic Path", "desc": "Composable commerce", "category": "E-commerce", "url": "https://elasticpath.com"},
|
|
201
|
+
{"name": "Commercetools", "desc": "Headless commerce", "category": "E-commerce", "url": "https://commercetools.com"},
|
|
202
|
+
{"name": "Snipcart", "desc": "Shopping cart API", "category": "E-commerce", "url": "https://snipcart.com"},
|
|
203
|
+
{"name": "Paddle", "desc": "SaaS payments", "category": "Payment", "url": "https://paddle.com"},
|
|
204
|
+
{"name": "Lemon Squeezy", "desc": "Digital products", "category": "Payment", "url": "https://lemonsqueezy.com"},
|
|
205
|
+
{"name": "Gumroad", "desc": "Creator commerce", "category": "Payment", "url": "https://gumroad.com"},
|
|
206
|
+
{"name": "Patreon", "desc": "Membership platform", "category": "Payment", "url": "https://patreon.com"},
|
|
207
|
+
{"name": "Ko-fi", "desc": "Creator payments", "category": "Payment", "url": "https://ko-fi.com"},
|
|
208
|
+
{"name": "Buy Me a Coffee", "desc": "Creator support", "category": "Payment", "url": "https://buymeacoffee.com"},
|
|
209
|
+
{"name": "Chargebee", "desc": "Subscription billing", "category": "Payment", "url": "https://chargebee.com"},
|
|
210
|
+
{"name": "Recurly", "desc": "Subscription management", "category": "Payment", "url": "https://recurly.com"},
|
|
211
|
+
{"name": "Zuora", "desc": "Subscription platform", "category": "Payment", "url": "https://zuora.com"},
|
|
212
|
+
{"name": "RevenueCat", "desc": "Mobile subscriptions", "category": "Payment", "url": "https://revenuecat.com"},
|
|
213
|
+
{"name": "Adapty", "desc": "Mobile subscriptions", "category": "Payment", "url": "https://adapty.io"},
|
|
214
|
+
{"name": "Superwall", "desc": "Paywall SDK", "category": "Payment", "url": "https://superwall.com"},
|
|
215
|
+
{"name": "Qonversion", "desc": "Mobile subscription", "category": "Payment", "url": "https://qonversion.io"},
|
|
216
|
+
{"name": "Braintree", "desc": "Payment gateway", "category": "Payment", "url": "https://braintreepayments.com"},
|
|
217
|
+
{"name": "Adyen", "desc": "Payment platform", "category": "Payment", "url": "https://adyen.com"},
|
|
218
|
+
{"name": "Square", "desc": "Payment processing", "category": "Payment", "url": "https://squareup.com"},
|
|
219
|
+
{"name": "PayPal", "desc": "Payment platform", "category": "Payment", "url": "https://paypal.com"},
|
|
220
|
+
{"name": "Klarna", "desc": "Buy now pay later", "category": "Payment", "url": "https://klarna.com"},
|
|
221
|
+
{"name": "Afterpay", "desc": "Buy now pay later", "category": "Payment", "url": "https://afterpay.com"},
|
|
222
|
+
{"name": "Affirm", "desc": "Buy now pay later", "category": "Payment", "url": "https://affirm.com"},
|
|
223
|
+
{"name": "Zip", "desc": "Buy now pay later", "category": "Payment", "url": "https://zip.co"},
|
|
224
|
+
{"name": "Sezzle", "desc": "Buy now pay later", "category": "Payment", "url": "https://sezzle.com"},
|
|
225
|
+
{"name": "Splitit", "desc": "Payment installments", "category": "Payment", "url": "https://splitit.com"},
|
|
226
|
+
{"name": "Bolt", "desc": "One-click checkout", "category": "Payment", "url": "https://bolt.com"},
|
|
227
|
+
{"name": "Fast", "desc": "Fast checkout (Deprecated)", "category": "Payment", "url": "https://fast.co"},
|
|
228
|
+
{"name": "Shop Pay", "desc": "Shopify checkout", "category": "Payment", "url": "https://shop.app/shop-pay"},
|
|
229
|
+
{"name": "Wyre", "desc": "Crypto payments", "category": "Payment", "url": "https://sendwyre.com"},
|
|
230
|
+
{"name": "MoonPay", "desc": "Crypto onramp", "category": "Payment", "url": "https://moonpay.com"},
|
|
231
|
+
{"name": "Transak", "desc": "Crypto payments", "category": "Payment", "url": "https://transak.com"},
|
|
232
|
+
{"name": "Ramp Network", "desc": "Crypto onramp", "category": "Payment", "url": "https://ramp.network"},
|
|
233
|
+
{"name": "Sardine", "desc": "Crypto fraud prevention", "category": "Payment", "url": "https://sardine.ai"},
|
|
234
|
+
{"name": "Circle", "desc": "Crypto payments", "category": "Payment", "url": "https://circle.com"},
|
|
235
|
+
{"name": "Fireblocks", "desc": "Digital asset custody", "category": "Payment", "url": "https://fireblocks.com"},
|
|
236
|
+
{"name": "Copper", "desc": "Crypto custody", "category": "Payment", "url": "https://copper.co"},
|
|
237
|
+
{"name": "BitGo", "desc": "Digital asset custody", "category": "Payment", "url": "https://bitgo.com"},
|
|
238
|
+
|
|
239
|
+
# Security & Identity (50)
|
|
240
|
+
{"name": "Auth0", "desc": "Identity platform", "category": "Auth", "url": "https://auth0.com"},
|
|
241
|
+
{"name": "Okta", "desc": "Identity management", "category": "Auth", "url": "https://okta.com"},
|
|
242
|
+
{"name": "Clerk", "desc": "Authentication API", "category": "Auth", "url": "https://clerk.com"},
|
|
243
|
+
{"name": "WorkOS", "desc": "Enterprise SSO", "category": "Auth", "url": "https://workos.com"},
|
|
244
|
+
{"name": "Stytch", "desc": "Passwordless auth", "category": "Auth", "url": "https://stytch.com"},
|
|
245
|
+
{"name": "Magic", "desc": "Web3 auth", "category": "Auth", "url": "https://magic.link"},
|
|
246
|
+
{"name": "Privy", "desc": "Web3 authentication", "category": "Auth", "url": "https://privy.io"},
|
|
247
|
+
{"name": "Dynamic", "desc": "Web3 auth", "category": "Auth", "url": "https://dynamic.xyz"},
|
|
248
|
+
{"name": "Thirdweb Auth", "desc": "Web3 authentication", "category": "Auth", "url": "https://thirdweb.com/auth"},
|
|
249
|
+
{"name": "Web3Auth", "desc": "Wallet auth", "category": "Auth", "url": "https://web3auth.io"},
|
|
250
|
+
{"name": "Passage", "desc": "Passkey authentication", "category": "Auth", "url": "https://passage.id"},
|
|
251
|
+
{"name": "Hanko", "desc": "Passkeys and auth", "category": "Auth", "url": "https://hanko.io"},
|
|
252
|
+
{"name": "Descope", "desc": "Drag-and-drop auth", "category": "Auth", "url": "https://descope.com"},
|
|
253
|
+
{"name": "FusionAuth", "desc": "Auth for developers", "category": "Auth", "url": "https://fusionauth.io"},
|
|
254
|
+
{"name": "Keycloak", "desc": "Open source IAM", "category": "Auth", "url": "https://keycloak.org"},
|
|
255
|
+
{"name": "SuperTokens", "desc": "Open source auth", "category": "Auth", "url": "https://supertokens.com"},
|
|
256
|
+
{"name": "Ory", "desc": "Identity infrastructure", "category": "Auth", "url": "https://ory.sh"},
|
|
257
|
+
{"name": "Frontegg", "desc": "User management", "category": "Auth", "url": "https://frontegg.com"},
|
|
258
|
+
{"name": "PropelAuth", "desc": "B2B authentication", "category": "Auth", "url": "https://propelauth.com"},
|
|
259
|
+
{"name": "Kinde", "desc": "Modern auth", "category": "Auth", "url": "https://kinde.com"},
|
|
260
|
+
{"name": "Snyk", "desc": "Security scanning", "category": "Security", "url": "https://snyk.io"},
|
|
261
|
+
{"name": "SonarCloud", "desc": "Code analysis", "category": "Security", "url": "https://sonarcloud.io"},
|
|
262
|
+
{"name": "Semgrep", "desc": "Code scanning", "category": "Security", "url": "https://semgrep.dev"},
|
|
263
|
+
{"name": "Checkmarx", "desc": "AppSec platform", "category": "Security", "url": "https://checkmarx.com"},
|
|
264
|
+
{"name": "Veracode", "desc": "Application security", "category": "Security", "url": "https://veracode.com"},
|
|
265
|
+
{"name": "Fortify", "desc": "AppSec testing", "category": "Security", "url": "https://microfocus.com/fortify"},
|
|
266
|
+
{"name": "WhiteSource", "desc": "Open source security", "category": "Security", "url": "https://whitesourcesoftware.com"},
|
|
267
|
+
{"name": "Socket", "desc": "Supply chain security", "category": "Security", "url": "https://socket.dev"},
|
|
268
|
+
{"name": "Dependabot", "desc": "Dependency updates", "category": "Security", "url": "https://github.com/dependabot"},
|
|
269
|
+
{"name": "Renovate", "desc": "Dependency updates", "category": "Security", "url": "https://renovatebot.com"},
|
|
270
|
+
{"name": "GitGuardian", "desc": "Secrets detection", "category": "Security", "url": "https://gitguardian.com"},
|
|
271
|
+
{"name": "TruffleHog", "desc": "Secrets scanning", "category": "Security", "url": "https://trufflesecurity.com"},
|
|
272
|
+
{"name": "HashiCorp Vault", "desc": "Secrets management", "category": "Security", "url": "https://hashicorp.com/vault"},
|
|
273
|
+
{"name": "Doppler", "desc": "Secrets management", "category": "Security", "url": "https://doppler.com"},
|
|
274
|
+
{"name": "Infisical", "desc": "Secrets management", "category": "Security", "url": "https://infisical.com"},
|
|
275
|
+
{"name": "1Password Secrets", "desc": "Secrets automation", "category": "Security", "url": "https://1password.com/secrets"},
|
|
276
|
+
{"name": "Akeyless", "desc": "Secrets management", "category": "Security", "url": "https://akeyless.io"},
|
|
277
|
+
{"name": "CyberArk", "desc": "Privileged access", "category": "Security", "url": "https://cyberark.com"},
|
|
278
|
+
{"name": "BeyondTrust", "desc": "Privileged access", "category": "Security", "url": "https://beyondtrust.com"},
|
|
279
|
+
{"name": "Delinea", "desc": "PAM solutions", "category": "Security", "url": "https://delinea.com"},
|
|
280
|
+
{"name": "Cloudflare", "desc": "Security and CDN", "category": "Security", "url": "https://cloudflare.com"},
|
|
281
|
+
{"name": "Fastly", "desc": "Edge cloud platform", "category": "Security", "url": "https://fastly.com"},
|
|
282
|
+
{"name": "Akamai", "desc": "CDN and security", "category": "Security", "url": "https://akamai.com"},
|
|
283
|
+
{"name": "Imperva", "desc": "Web security", "category": "Security", "url": "https://imperva.com"},
|
|
284
|
+
{"name": "Sucuri", "desc": "Website security", "category": "Security", "url": "https://sucuri.net"},
|
|
285
|
+
{"name": "StackHawk", "desc": "DAST security testing", "category": "Security", "url": "https://stackhawk.com"},
|
|
286
|
+
{"name": "Probely", "desc": "Web vulnerability scanner", "category": "Security", "url": "https://probely.com"},
|
|
287
|
+
{"name": "Intruder", "desc": "Vulnerability scanning", "category": "Security", "url": "https://intruder.io"},
|
|
288
|
+
{"name": "Detectify", "desc": "Surface monitoring", "category": "Security", "url": "https://detectify.com"},
|
|
289
|
+
{"name": "Pentest-Tools", "desc": "Penetration testing", "category": "Security", "url": "https://pentest-tools.com"},
|
|
290
|
+
|
|
291
|
+
# Analytics & Monitoring (50)
|
|
292
|
+
{"name": "Mixpanel", "desc": "Product analytics", "category": "Analytics", "url": "https://mixpanel.com"},
|
|
293
|
+
{"name": "Amplitude", "desc": "Product analytics", "category": "Analytics", "url": "https://amplitude.com"},
|
|
294
|
+
{"name": "Heap", "desc": "Digital insights", "category": "Analytics", "url": "https://heap.io"},
|
|
295
|
+
{"name": "PostHog", "desc": "Product analytics", "category": "Analytics", "url": "https://posthog.com"},
|
|
296
|
+
{"name": "Plausible", "desc": "Privacy-friendly analytics", "category": "Analytics", "url": "https://plausible.io"},
|
|
297
|
+
{"name": "Fathom", "desc": "Simple analytics", "category": "Analytics", "url": "https://usefathom.com"},
|
|
298
|
+
{"name": "Simple Analytics", "desc": "Privacy analytics", "category": "Analytics", "url": "https://simpleanalytics.com"},
|
|
299
|
+
{"name": "Pirsch", "desc": "Privacy analytics", "category": "Analytics", "url": "https://pirsch.io"},
|
|
300
|
+
{"name": "Umami", "desc": "Open source analytics", "category": "Analytics", "url": "https://umami.is"},
|
|
301
|
+
{"name": "Matomo", "desc": "Web analytics", "category": "Analytics", "url": "https://matomo.org"},
|
|
302
|
+
{"name": "Pendo", "desc": "Product experience", "category": "Analytics", "url": "https://pendo.io"},
|
|
303
|
+
{"name": "FullStory", "desc": "Digital experience", "category": "Analytics", "url": "https://fullstory.com"},
|
|
304
|
+
{"name": "Hotjar", "desc": "Behavior analytics", "category": "Analytics", "url": "https://hotjar.com"},
|
|
305
|
+
{"name": "Smartlook", "desc": "User behavior", "category": "Analytics", "url": "https://smartlook.com"},
|
|
306
|
+
{"name": "Lucky Orange", "desc": "Conversion optimization", "category": "Analytics", "url": "https://luckyorange.com"},
|
|
307
|
+
{"name": "Mouseflow", "desc": "Session replay", "category": "Analytics", "url": "https://mouseflow.com"},
|
|
308
|
+
{"name": "LogRocket", "desc": "Session replay", "category": "Analytics", "url": "https://logrocket.com"},
|
|
309
|
+
{"name": "Datadog", "desc": "Observability platform", "category": "Monitoring", "url": "https://datadoghq.com"},
|
|
310
|
+
{"name": "New Relic", "desc": "Observability platform", "category": "Monitoring", "url": "https://newrelic.com"},
|
|
311
|
+
{"name": "Dynatrace", "desc": "Software intelligence", "category": "Monitoring", "url": "https://dynatrace.com"},
|
|
312
|
+
{"name": "Splunk", "desc": "Data platform", "category": "Monitoring", "url": "https://splunk.com"},
|
|
313
|
+
{"name": "Elastic", "desc": "Search and observability", "category": "Monitoring", "url": "https://elastic.co"},
|
|
314
|
+
{"name": "Grafana", "desc": "Observability platform", "category": "Monitoring", "url": "https://grafana.com"},
|
|
315
|
+
{"name": "Prometheus", "desc": "Monitoring system", "category": "Monitoring", "url": "https://prometheus.io"},
|
|
316
|
+
{"name": "Honeycomb", "desc": "Observability platform", "category": "Monitoring", "url": "https://honeycomb.io"},
|
|
317
|
+
{"name": "Lightstep", "desc": "Observability", "category": "Monitoring", "url": "https://lightstep.com"},
|
|
318
|
+
{"name": "Axiom", "desc": "Log management", "category": "Monitoring", "url": "https://axiom.co"},
|
|
319
|
+
{"name": "Baselime", "desc": "Cloud observability", "category": "Monitoring", "url": "https://baselime.io"},
|
|
320
|
+
{"name": "Sentry", "desc": "Error tracking", "category": "Monitoring", "url": "https://sentry.io"},
|
|
321
|
+
{"name": "Bugsnag", "desc": "Error monitoring", "category": "Monitoring", "url": "https://bugsnag.com"},
|
|
322
|
+
{"name": "Rollbar", "desc": "Error monitoring", "category": "Monitoring", "url": "https://rollbar.com"},
|
|
323
|
+
{"name": "Raygun", "desc": "Error and performance", "category": "Monitoring", "url": "https://raygun.com"},
|
|
324
|
+
{"name": "Airbrake", "desc": "Error monitoring", "category": "Monitoring", "url": "https://airbrake.io"},
|
|
325
|
+
{"name": "TrackJS", "desc": "JavaScript errors", "category": "Monitoring", "url": "https://trackjs.com"},
|
|
326
|
+
{"name": "Checkly", "desc": "Synthetic monitoring", "category": "Monitoring", "url": "https://checklyhq.com"},
|
|
327
|
+
{"name": "Better Uptime", "desc": "Uptime monitoring", "category": "Monitoring", "url": "https://betteruptime.com"},
|
|
328
|
+
{"name": "Uptime Robot", "desc": "Uptime monitoring", "category": "Monitoring", "url": "https://uptimerobot.com"},
|
|
329
|
+
{"name": "Pingdom", "desc": "Website monitoring", "category": "Monitoring", "url": "https://pingdom.com"},
|
|
330
|
+
{"name": "StatusCake", "desc": "Uptime monitoring", "category": "Monitoring", "url": "https://statuscake.com"},
|
|
331
|
+
{"name": "Uptrends", "desc": "Website monitoring", "category": "Monitoring", "url": "https://uptrends.com"},
|
|
332
|
+
{"name": "Site24x7", "desc": "IT monitoring", "category": "Monitoring", "url": "https://site24x7.com"},
|
|
333
|
+
{"name": "Cronitor", "desc": "Cron monitoring", "category": "Monitoring", "url": "https://cronitor.io"},
|
|
334
|
+
{"name": "Healthchecks", "desc": "Cron job monitoring", "category": "Monitoring", "url": "https://healthchecks.io"},
|
|
335
|
+
{"name": "Instana", "desc": "APM platform", "category": "Monitoring", "url": "https://instana.com"},
|
|
336
|
+
{"name": "AppDynamics", "desc": "APM platform", "category": "Monitoring", "url": "https://appdynamics.com"},
|
|
337
|
+
{"name": "SpeedCurve", "desc": "Performance monitoring", "category": "Monitoring", "url": "https://speedcurve.com"},
|
|
338
|
+
{"name": "Calibre", "desc": "Web performance", "category": "Monitoring", "url": "https://calibreapp.com"},
|
|
339
|
+
{"name": "DebugBear", "desc": "Performance monitoring", "category": "Monitoring", "url": "https://debugbear.com"},
|
|
340
|
+
{"name": "Treo", "desc": "Core Web Vitals", "category": "Monitoring", "url": "https://treo.sh"},
|
|
341
|
+
{"name": "Request Metrics", "desc": "Real user monitoring", "category": "Monitoring", "url": "https://requestmetrics.com"},
|
|
342
|
+
|
|
343
|
+
# Marketing & CRM (50)
|
|
344
|
+
{"name": "HubSpot", "desc": "CRM and marketing", "category": "CRM", "url": "https://hubspot.com"},
|
|
345
|
+
{"name": "Salesforce", "desc": "CRM platform", "category": "CRM", "url": "https://salesforce.com"},
|
|
346
|
+
{"name": "Pipedrive", "desc": "Sales CRM", "category": "CRM", "url": "https://pipedrive.com"},
|
|
347
|
+
{"name": "Close", "desc": "Sales CRM", "category": "CRM", "url": "https://close.com"},
|
|
348
|
+
{"name": "Freshsales", "desc": "CRM platform", "category": "CRM", "url": "https://freshworks.com/crm"},
|
|
349
|
+
{"name": "Copper", "desc": "CRM for Google", "category": "CRM", "url": "https://copper.com"},
|
|
350
|
+
{"name": "Zoho CRM", "desc": "CRM platform", "category": "CRM", "url": "https://zoho.com/crm"},
|
|
351
|
+
{"name": "Monday CRM", "desc": "Sales CRM", "category": "CRM", "url": "https://monday.com/crm"},
|
|
352
|
+
{"name": "Attio", "desc": "Modern CRM", "category": "CRM", "url": "https://attio.com"},
|
|
353
|
+
{"name": "Folk", "desc": "Relationship CRM", "category": "CRM", "url": "https://folk.app"},
|
|
354
|
+
{"name": "Clay", "desc": "Data enrichment", "category": "Sales", "url": "https://clay.com"},
|
|
355
|
+
{"name": "Apollo", "desc": "Sales intelligence", "category": "Sales", "url": "https://apollo.io"},
|
|
356
|
+
{"name": "ZoomInfo", "desc": "B2B data", "category": "Sales", "url": "https://zoominfo.com"},
|
|
357
|
+
{"name": "Clearbit", "desc": "Data enrichment", "category": "Sales", "url": "https://clearbit.com"},
|
|
358
|
+
{"name": "Lusha", "desc": "Contact data", "category": "Sales", "url": "https://lusha.com"},
|
|
359
|
+
{"name": "Hunter", "desc": "Email finder", "category": "Sales", "url": "https://hunter.io"},
|
|
360
|
+
{"name": "Snov.io", "desc": "Sales automation", "category": "Sales", "url": "https://snov.io"},
|
|
361
|
+
{"name": "Lemlist", "desc": "Cold outreach", "category": "Sales", "url": "https://lemlist.com"},
|
|
362
|
+
{"name": "Instantly", "desc": "Email outreach", "category": "Sales", "url": "https://instantly.ai"},
|
|
363
|
+
{"name": "Smartlead", "desc": "Email outreach", "category": "Sales", "url": "https://smartlead.ai"},
|
|
364
|
+
{"name": "Mailchimp", "desc": "Email marketing", "category": "Marketing", "url": "https://mailchimp.com"},
|
|
365
|
+
{"name": "Klaviyo", "desc": "E-commerce marketing", "category": "Marketing", "url": "https://klaviyo.com"},
|
|
366
|
+
{"name": "Brevo", "desc": "Marketing platform", "category": "Marketing", "url": "https://brevo.com"},
|
|
367
|
+
{"name": "ConvertKit", "desc": "Creator marketing", "category": "Marketing", "url": "https://convertkit.com"},
|
|
368
|
+
{"name": "Beehiiv", "desc": "Newsletter platform", "category": "Marketing", "url": "https://beehiiv.com"},
|
|
369
|
+
{"name": "Substack", "desc": "Newsletter platform", "category": "Marketing", "url": "https://substack.com"},
|
|
370
|
+
{"name": "Buttondown", "desc": "Newsletter tool", "category": "Marketing", "url": "https://buttondown.email"},
|
|
371
|
+
{"name": "Ghost", "desc": "Publishing platform", "category": "Marketing", "url": "https://ghost.org"},
|
|
372
|
+
{"name": "ActiveCampaign", "desc": "Marketing automation", "category": "Marketing", "url": "https://activecampaign.com"},
|
|
373
|
+
{"name": "Drip", "desc": "E-commerce CRM", "category": "Marketing", "url": "https://drip.com"},
|
|
374
|
+
{"name": "Customer.io", "desc": "Messaging platform", "category": "Marketing", "url": "https://customer.io"},
|
|
375
|
+
{"name": "Iterable", "desc": "Cross-channel marketing", "category": "Marketing", "url": "https://iterable.com"},
|
|
376
|
+
{"name": "Braze", "desc": "Customer engagement", "category": "Marketing", "url": "https://braze.com"},
|
|
377
|
+
{"name": "OneSignal", "desc": "Messaging platform", "category": "Marketing", "url": "https://onesignal.com"},
|
|
378
|
+
{"name": "Leanplum", "desc": "Mobile engagement", "category": "Marketing", "url": "https://leanplum.com"},
|
|
379
|
+
{"name": "CleverTap", "desc": "Customer engagement", "category": "Marketing", "url": "https://clevertap.com"},
|
|
380
|
+
{"name": "MoEngage", "desc": "Customer engagement", "category": "Marketing", "url": "https://moengage.com"},
|
|
381
|
+
{"name": "WebEngage", "desc": "Marketing automation", "category": "Marketing", "url": "https://webengage.com"},
|
|
382
|
+
{"name": "Insider", "desc": "Growth management", "category": "Marketing", "url": "https://useinsider.com"},
|
|
383
|
+
{"name": "Segment", "desc": "Customer data", "category": "Data", "url": "https://segment.com"},
|
|
384
|
+
{"name": "RudderStack", "desc": "Customer data", "category": "Data", "url": "https://rudderstack.com"},
|
|
385
|
+
{"name": "mParticle", "desc": "Customer data", "category": "Data", "url": "https://mparticle.com"},
|
|
386
|
+
{"name": "Freshpaint", "desc": "Data collection", "category": "Data", "url": "https://freshpaint.io"},
|
|
387
|
+
{"name": "Jitsu", "desc": "Data collection", "category": "Data", "url": "https://jitsu.com"},
|
|
388
|
+
{"name": "Hightouch", "desc": "Reverse ETL", "category": "Data", "url": "https://hightouch.com"},
|
|
389
|
+
{"name": "Census", "desc": "Reverse ETL", "category": "Data", "url": "https://getcensus.com"},
|
|
390
|
+
{"name": "Fivetran", "desc": "Data integration", "category": "Data", "url": "https://fivetran.com"},
|
|
391
|
+
{"name": "Airbyte", "desc": "Data integration", "category": "Data", "url": "https://airbyte.com"},
|
|
392
|
+
{"name": "Stitch", "desc": "Data pipeline", "category": "Data", "url": "https://stitchdata.com"},
|
|
393
|
+
{"name": "dbt", "desc": "Data transformation", "category": "Data", "url": "https://getdbt.com"},
|
|
394
|
+
|
|
395
|
+
# Collaboration & Productivity (50)
|
|
396
|
+
{"name": "Notion", "desc": "All-in-one workspace", "category": "Productivity", "url": "https://notion.so"},
|
|
397
|
+
{"name": "Coda", "desc": "Doc collaboration", "category": "Productivity", "url": "https://coda.io"},
|
|
398
|
+
{"name": "Airtable", "desc": "Low-code database", "category": "Productivity", "url": "https://airtable.com"},
|
|
399
|
+
{"name": "ClickUp", "desc": "Project management", "category": "Productivity", "url": "https://clickup.com"},
|
|
400
|
+
{"name": "Monday.com", "desc": "Work OS", "category": "Productivity", "url": "https://monday.com"},
|
|
401
|
+
{"name": "Asana", "desc": "Work management", "category": "Productivity", "url": "https://asana.com"},
|
|
402
|
+
{"name": "Linear", "desc": "Issue tracking", "category": "Productivity", "url": "https://linear.app"},
|
|
403
|
+
{"name": "Jira", "desc": "Project tracking", "category": "Productivity", "url": "https://atlassian.com/jira"},
|
|
404
|
+
{"name": "Height", "desc": "Project management", "category": "Productivity", "url": "https://height.app"},
|
|
405
|
+
{"name": "Plane", "desc": "Open source Jira", "category": "Productivity", "url": "https://plane.so"},
|
|
406
|
+
{"name": "Shortcut", "desc": "Project management", "category": "Productivity", "url": "https://shortcut.com"},
|
|
407
|
+
{"name": "Basecamp", "desc": "Project management", "category": "Productivity", "url": "https://basecamp.com"},
|
|
408
|
+
{"name": "Trello", "desc": "Kanban boards", "category": "Productivity", "url": "https://trello.com"},
|
|
409
|
+
{"name": "Todoist", "desc": "Task management", "category": "Productivity", "url": "https://todoist.com"},
|
|
410
|
+
{"name": "Things", "desc": "Task manager", "category": "Productivity", "url": "https://culturedcode.com/things"},
|
|
411
|
+
{"name": "Slack", "desc": "Team messaging", "category": "Communication", "url": "https://slack.com"},
|
|
412
|
+
{"name": "Discord", "desc": "Community platform", "category": "Communication", "url": "https://discord.com"},
|
|
413
|
+
{"name": "Microsoft Teams", "desc": "Team collaboration", "category": "Communication", "url": "https://teams.microsoft.com"},
|
|
414
|
+
{"name": "Zoom", "desc": "Video conferencing", "category": "Communication", "url": "https://zoom.us"},
|
|
415
|
+
{"name": "Loom", "desc": "Async video", "category": "Communication", "url": "https://loom.com"},
|
|
416
|
+
{"name": "Krisp", "desc": "Noise cancellation", "category": "Communication", "url": "https://krisp.ai"},
|
|
417
|
+
{"name": "Grain", "desc": "Meeting recording", "category": "Communication", "url": "https://grain.com"},
|
|
418
|
+
{"name": "Fireflies", "desc": "Meeting transcription", "category": "Communication", "url": "https://fireflies.ai"},
|
|
419
|
+
{"name": "Otter", "desc": "Meeting notes", "category": "Communication", "url": "https://otter.ai"},
|
|
420
|
+
{"name": "Fathom", "desc": "Meeting assistant", "category": "Communication", "url": "https://fathom.video"},
|
|
421
|
+
{"name": "Calendly", "desc": "Scheduling", "category": "Scheduling", "url": "https://calendly.com"},
|
|
422
|
+
{"name": "Cal.com", "desc": "Open scheduling", "category": "Scheduling", "url": "https://cal.com"},
|
|
423
|
+
{"name": "Doodle", "desc": "Scheduling", "category": "Scheduling", "url": "https://doodle.com"},
|
|
424
|
+
{"name": "SavvyCal", "desc": "Scheduling", "category": "Scheduling", "url": "https://savvycal.com"},
|
|
425
|
+
{"name": "Reclaim", "desc": "AI scheduling", "category": "Scheduling", "url": "https://reclaim.ai"},
|
|
426
|
+
{"name": "Clockwise", "desc": "Calendar optimization", "category": "Scheduling", "url": "https://clockwise.com"},
|
|
427
|
+
{"name": "Motion", "desc": "AI calendar", "category": "Scheduling", "url": "https://usemotion.com"},
|
|
428
|
+
{"name": "Akiflow", "desc": "Time blocking", "category": "Scheduling", "url": "https://akiflow.com"},
|
|
429
|
+
{"name": "Sunsama", "desc": "Daily planner", "category": "Scheduling", "url": "https://sunsama.com"},
|
|
430
|
+
{"name": "Figma", "desc": "Design collaboration", "category": "Design", "url": "https://figma.com"},
|
|
431
|
+
{"name": "Canva", "desc": "Design platform", "category": "Design", "url": "https://canva.com"},
|
|
432
|
+
{"name": "Framer", "desc": "Website builder", "category": "Design", "url": "https://framer.com"},
|
|
433
|
+
{"name": "Webflow", "desc": "No-code builder", "category": "Design", "url": "https://webflow.com"},
|
|
434
|
+
{"name": "Miro", "desc": "Visual collaboration", "category": "Design", "url": "https://miro.com"},
|
|
435
|
+
{"name": "FigJam", "desc": "Whiteboarding", "category": "Design", "url": "https://figma.com/figjam"},
|
|
436
|
+
{"name": "Whimsical", "desc": "Visual workspace", "category": "Design", "url": "https://whimsical.com"},
|
|
437
|
+
{"name": "Excalidraw", "desc": "Sketching tool", "category": "Design", "url": "https://excalidraw.com"},
|
|
438
|
+
{"name": "tldraw", "desc": "Drawing tool", "category": "Design", "url": "https://tldraw.com"},
|
|
439
|
+
{"name": "Lottie", "desc": "Animation library", "category": "Design", "url": "https://lottiefiles.com"},
|
|
440
|
+
{"name": "Rive", "desc": "Interactive design", "category": "Design", "url": "https://rive.app"},
|
|
441
|
+
{"name": "Spline", "desc": "3D design", "category": "Design", "url": "https://spline.design"},
|
|
442
|
+
{"name": "Readymag", "desc": "Web design", "category": "Design", "url": "https://readymag.com"},
|
|
443
|
+
{"name": "Supa", "desc": "Video editing", "category": "Design", "url": "https://supa.so"},
|
|
444
|
+
{"name": "Descript", "desc": "Video/audio editing", "category": "Design", "url": "https://descript.com"},
|
|
445
|
+
{"name": "Kapwing", "desc": "Video creation", "category": "Design", "url": "https://kapwing.com"},
|
|
446
|
+
|
|
447
|
+
# Testing & QA (50)
|
|
448
|
+
{"name": "Playwright", "desc": "Browser automation", "category": "Testing", "url": "https://playwright.dev"},
|
|
449
|
+
{"name": "Cypress", "desc": "E2E testing", "category": "Testing", "url": "https://cypress.io"},
|
|
450
|
+
{"name": "Selenium", "desc": "Browser automation", "category": "Testing", "url": "https://selenium.dev"},
|
|
451
|
+
{"name": "Puppeteer", "desc": "Chrome automation", "category": "Testing", "url": "https://pptr.dev"},
|
|
452
|
+
{"name": "WebdriverIO", "desc": "Test automation", "category": "Testing", "url": "https://webdriver.io"},
|
|
453
|
+
{"name": "Appium", "desc": "Mobile testing", "category": "Testing", "url": "https://appium.io"},
|
|
454
|
+
{"name": "Detox", "desc": "Mobile E2E testing", "category": "Testing", "url": "https://wix.github.io/Detox"},
|
|
455
|
+
{"name": "Maestro", "desc": "Mobile UI testing", "category": "Testing", "url": "https://maestro.mobile.dev"},
|
|
456
|
+
{"name": "Katalon", "desc": "Test automation", "category": "Testing", "url": "https://katalon.com"},
|
|
457
|
+
{"name": "TestComplete", "desc": "UI testing", "category": "Testing", "url": "https://smartbear.com/product/testcomplete"},
|
|
458
|
+
{"name": "Ranorex", "desc": "Test automation", "category": "Testing", "url": "https://ranorex.com"},
|
|
459
|
+
{"name": "Sauce Labs", "desc": "Cloud testing", "category": "Testing", "url": "https://saucelabs.com"},
|
|
460
|
+
{"name": "BrowserStack", "desc": "Cross-browser testing", "category": "Testing", "url": "https://browserstack.com"},
|
|
461
|
+
{"name": "LambdaTest", "desc": "Cross-browser testing", "category": "Testing", "url": "https://lambdatest.com"},
|
|
462
|
+
{"name": "Percy", "desc": "Visual testing", "category": "Testing", "url": "https://percy.io"},
|
|
463
|
+
{"name": "Chromatic", "desc": "Visual testing", "category": "Testing", "url": "https://chromatic.com"},
|
|
464
|
+
{"name": "Applitools", "desc": "Visual AI testing", "category": "Testing", "url": "https://applitools.com"},
|
|
465
|
+
{"name": "Testim", "desc": "AI testing", "category": "Testing", "url": "https://testim.io"},
|
|
466
|
+
{"name": "Mabl", "desc": "ML testing", "category": "Testing", "url": "https://mabl.com"},
|
|
467
|
+
{"name": "Functionize", "desc": "AI testing", "category": "Testing", "url": "https://functionize.com"},
|
|
468
|
+
{"name": "Jest", "desc": "JavaScript testing", "category": "Testing", "url": "https://jestjs.io"},
|
|
469
|
+
{"name": "Vitest", "desc": "Vite-native testing", "category": "Testing", "url": "https://vitest.dev"},
|
|
470
|
+
{"name": "Testing Library", "desc": "UI testing utils", "category": "Testing", "url": "https://testing-library.com"},
|
|
471
|
+
{"name": "Mocha", "desc": "JavaScript testing", "category": "Testing", "url": "https://mochajs.org"},
|
|
472
|
+
{"name": "Jasmine", "desc": "BDD testing", "category": "Testing", "url": "https://jasmine.github.io"},
|
|
473
|
+
{"name": "AVA", "desc": "Test runner", "category": "Testing", "url": "https://avajs.dev"},
|
|
474
|
+
{"name": "Tap", "desc": "Test framework", "category": "Testing", "url": "https://node-tap.org"},
|
|
475
|
+
{"name": "Pytest", "desc": "Python testing", "category": "Testing", "url": "https://pytest.org"},
|
|
476
|
+
{"name": "PHPUnit", "desc": "PHP testing", "category": "Testing", "url": "https://phpunit.de"},
|
|
477
|
+
{"name": "RSpec", "desc": "Ruby testing", "category": "Testing", "url": "https://rspec.info"},
|
|
478
|
+
{"name": "JUnit", "desc": "Java testing", "category": "Testing", "url": "https://junit.org"},
|
|
479
|
+
{"name": "TestNG", "desc": "Java testing", "category": "Testing", "url": "https://testng.org"},
|
|
480
|
+
{"name": "GoTest", "desc": "Go testing", "category": "Testing", "url": "https://golang.org/pkg/testing"},
|
|
481
|
+
{"name": "Storybook", "desc": "UI development", "category": "Testing", "url": "https://storybook.js.org"},
|
|
482
|
+
{"name": "Ladle", "desc": "Storybook alternative", "category": "Testing", "url": "https://ladle.dev"},
|
|
483
|
+
{"name": "Histoire", "desc": "Vue stories", "category": "Testing", "url": "https://histoire.dev"},
|
|
484
|
+
{"name": "Mock Service Worker", "desc": "API mocking", "category": "Testing", "url": "https://mswjs.io"},
|
|
485
|
+
{"name": "Mirage", "desc": "API mocking", "category": "Testing", "url": "https://miragejs.com"},
|
|
486
|
+
{"name": "Nock", "desc": "HTTP mocking", "category": "Testing", "url": "https://github.com/nock/nock"},
|
|
487
|
+
{"name": "WireMock", "desc": "API simulation", "category": "Testing", "url": "https://wiremock.org"},
|
|
488
|
+
{"name": "Postman", "desc": "API platform", "category": "Testing", "url": "https://postman.com"},
|
|
489
|
+
{"name": "Insomnia", "desc": "API client", "category": "Testing", "url": "https://insomnia.rest"},
|
|
490
|
+
{"name": "Hoppscotch", "desc": "Open API client", "category": "Testing", "url": "https://hoppscotch.io"},
|
|
491
|
+
{"name": "Bruno", "desc": "API client", "category": "Testing", "url": "https://usebruno.com"},
|
|
492
|
+
{"name": "Paw", "desc": "API client", "category": "Testing", "url": "https://paw.cloud"},
|
|
493
|
+
{"name": "Swagger", "desc": "API documentation", "category": "Testing", "url": "https://swagger.io"},
|
|
494
|
+
{"name": "Stoplight", "desc": "API design", "category": "Testing", "url": "https://stoplight.io"},
|
|
495
|
+
{"name": "ReadMe", "desc": "API documentation", "category": "Testing", "url": "https://readme.com"},
|
|
496
|
+
{"name": "Docusaurus", "desc": "Documentation", "category": "Testing", "url": "https://docusaurus.io"},
|
|
497
|
+
{"name": "Mintlify", "desc": "Documentation", "category": "Testing", "url": "https://mintlify.com"},
|
|
498
|
+
]
|
|
499
|
+
|
|
500
|
+
def main():
|
|
501
|
+
print("🦞 APIClaw Night Expansion - 05:00 Feb 23, 2026")
|
|
502
|
+
print("=" * 50)
|
|
503
|
+
|
|
504
|
+
registry = load_registry()
|
|
505
|
+
existing_ids = get_existing_ids(registry)
|
|
506
|
+
|
|
507
|
+
print(f"Current APIs: {len(registry['apis'])}")
|
|
508
|
+
|
|
509
|
+
added = 0
|
|
510
|
+
for api in NEW_APIS:
|
|
511
|
+
api_id = generate_id(api['name'])
|
|
512
|
+
|
|
513
|
+
# Skip duplicates
|
|
514
|
+
if api_id in existing_ids:
|
|
515
|
+
continue
|
|
516
|
+
|
|
517
|
+
new_api = {
|
|
518
|
+
"id": api_id,
|
|
519
|
+
"name": api['name'],
|
|
520
|
+
"description": api['desc'],
|
|
521
|
+
"category": api['category'],
|
|
522
|
+
"authType": "apiKey",
|
|
523
|
+
"baseUrl": api['url'],
|
|
524
|
+
"docsUrl": api['url'],
|
|
525
|
+
"addedAt": datetime.now().isoformat()
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
registry['apis'].append(new_api)
|
|
529
|
+
existing_ids.add(api_id)
|
|
530
|
+
added += 1
|
|
531
|
+
|
|
532
|
+
save_registry(registry)
|
|
533
|
+
|
|
534
|
+
print(f"Added: +{added} APIs")
|
|
535
|
+
print(f"Total: {len(registry['apis'])}")
|
|
536
|
+
|
|
537
|
+
return added
|
|
538
|
+
|
|
539
|
+
if __name__ == "__main__":
|
|
540
|
+
main()
|