@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,387 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ APIClaw Night Expansion - 2026-02-24 03:00 Batch 2
4
+ Mål: +1000 APIs från TonnyL/Awesome_APIs + more sources
5
+ """
6
+
7
+ import json
8
+ import os
9
+ from datetime import datetime
10
+
11
+ # More APIs from various sources
12
+ NEW_APIS_BATCH2 = [
13
+ # === FROM TONNY'S AWESOME APIS ===
14
+ # BLOGGING
15
+ {"name": "Blogger API", "description": "Create new blog posts, edit or delete existing posts", "category": "Blogging", "authType": "oauth", "baseUrl": "https://developers.google.com/blogger/"},
16
+ {"name": "Medium API", "description": "Access to Medium.com data", "category": "Blogging", "authType": "oauth", "baseUrl": "https://github.com/Medium/medium-api-docs"},
17
+ {"name": "Weebly Cloud", "description": "Website builder API", "category": "Blogging", "authType": "apiKey", "baseUrl": "https://cloud-developer.weebly.com/"},
18
+ {"name": "WordPress APIs", "description": "WordPress platform APIs", "category": "Blogging", "authType": "oauth", "baseUrl": "https://codex.wordpress.org/WordPress_APIs"},
19
+ {"name": "Telegraph API", "description": "Telegram's publishing service", "category": "Blogging", "authType": "none", "baseUrl": "http://telegra.ph/api"},
20
+
21
+ # BOOKS
22
+ {"name": "An API of Ice and Fire", "description": "Game of Thrones book data", "category": "Books", "authType": "none", "baseUrl": "https://anapioficeandfire.com/"},
23
+ {"name": "NYPL Digital Collections", "description": "NY Public Library digital archive", "category": "Books", "authType": "apiKey", "baseUrl": "http://api.repo.nypl.org/"},
24
+ {"name": "Bookshare", "description": "Book access for print disabilities", "category": "Books", "authType": "apiKey", "baseUrl": "http://developer.bookshare.org/"},
25
+
26
+ # BUSINESS
27
+ {"name": "Airtable API", "description": "Spreadsheet database API", "category": "Business", "authType": "apiKey", "baseUrl": "https://airtable.com/api"},
28
+ {"name": "Buffer", "description": "Social media management API", "category": "Business", "authType": "oauth", "baseUrl": "https://buffer.com/developers/api"},
29
+ {"name": "Concur Labs", "description": "Expense and travel management", "category": "Business", "authType": "oauth", "baseUrl": "https://developer.concur.com/api-reference/"},
30
+ {"name": "Envoy API", "description": "Visitor management", "category": "Business", "authType": "apiKey", "baseUrl": "https://developers.envoy.com/"},
31
+ {"name": "JotForm", "description": "Form builder API", "category": "Business", "authType": "apiKey", "baseUrl": "http://api.jotform.com/docs/"},
32
+ {"name": "Pruvan", "description": "Field service management", "category": "Business", "authType": "apiKey", "baseUrl": "https://pruvan.com/resources/pruvan-api/"},
33
+ {"name": "Quip API", "description": "Collaborative documents API", "category": "Business", "authType": "oauth", "baseUrl": "https://quip.com/api/"},
34
+ {"name": "Wolfram Data Drop", "description": "Data storage and analysis", "category": "Business", "authType": "apiKey", "baseUrl": "https://www.wolfram.com/datadrop/quick-reference/web-api/"},
35
+
36
+ # CARSHARING
37
+ {"name": "Lyft API", "description": "Rideshare ETAs and pricing", "category": "Transportation", "authType": "oauth", "baseUrl": "https://www.lyft.com/developers"},
38
+ {"name": "Uber API", "description": "Rideshare trips and logistics", "category": "Transportation", "authType": "oauth", "baseUrl": "https://developer.uber.com/"},
39
+
40
+ # CLOUD
41
+ {"name": "Google Cloud Platform", "description": "Google cloud services APIs", "category": "Cloud", "authType": "apiKey", "baseUrl": "https://cloud.google.com/apis/docs/overview"},
42
+ {"name": "Oracle Cloud", "description": "Oracle cloud services", "category": "Cloud", "authType": "apiKey", "baseUrl": "https://cloud.oracle.com/home"},
43
+ {"name": "Tencent Cloud", "description": "Tencent cloud services", "category": "Cloud", "authType": "apiKey", "baseUrl": "https://cloud.tencent.com/document/api"},
44
+ {"name": "Alibaba Cloud", "description": "Alibaba cloud services", "category": "Cloud", "authType": "apiKey", "baseUrl": "https://develop.aliyun.com/api/"},
45
+ {"name": "Baidu Cloud", "description": "Baidu cloud services", "category": "Cloud", "authType": "apiKey", "baseUrl": "https://cloud.baidu.com/doc/index.html"},
46
+ {"name": "LeanCloud", "description": "Backend as a service", "category": "Cloud", "authType": "apiKey", "baseUrl": "https://leancloud.cn/"},
47
+ {"name": "Wilddog", "description": "Real-time backend service", "category": "Cloud", "authType": "apiKey", "baseUrl": "https://www.wilddog.com/"},
48
+ {"name": "Qiniu Cloud", "description": "Cloud storage service", "category": "Cloud", "authType": "apiKey", "baseUrl": "http://www.qiniu.com/"},
49
+ {"name": "Upyun", "description": "CDN and cloud storage", "category": "Cloud", "authType": "apiKey", "baseUrl": "https://www.upyun.com/"},
50
+ {"name": "Bmob", "description": "Backend as a service", "category": "Cloud", "authType": "apiKey", "baseUrl": "http://www.bmob.cn/"},
51
+
52
+ # CLOUD STORAGE
53
+ {"name": "Amazon Cloud Drive", "description": "Amazon cloud file storage", "category": "Cloud Storage", "authType": "oauth", "baseUrl": "https://developer.amazon.com/amazon-drive"},
54
+ {"name": "DocumentCloud", "description": "Document analysis and storage", "category": "Cloud Storage", "authType": "apiKey", "baseUrl": "http://www.documentcloud.org/help/api"},
55
+ {"name": "QNAP API", "description": "NAS device management", "category": "Cloud Storage", "authType": "apiKey", "baseUrl": "https://www.qnap.com/event/dev/useng/p_about.php"},
56
+ {"name": "Verizon Cloud", "description": "Enterprise cloud storage", "category": "Cloud Storage", "authType": "apiKey", "baseUrl": "http://www.verizonenterprise.com/cloud/documentation/StorageAPIReference.htm"},
57
+
58
+ # DELIVERY TRACKING
59
+ {"name": "AfterShip", "description": "Shipment tracking 200+ couriers", "category": "Logistics", "authType": "apiKey", "baseUrl": "https://docs.aftership.com/api/"},
60
+ {"name": "Aramex", "description": "Global shipping delivery", "category": "Logistics", "authType": "apiKey", "baseUrl": "https://www.aramex.com/developers/aramex-apis"},
61
+ {"name": "Canada Post", "description": "Canadian shipping API", "category": "Logistics", "authType": "apiKey", "baseUrl": "http://www.canadapost.ca/cpo/mc/business/productsservices/developers/services/fundamentals.jsf"},
62
+ {"name": "DHL API", "description": "Global shipping services", "category": "Logistics", "authType": "apiKey", "baseUrl": "http://www.dhl-usa.com/en/express/resource_center/integrated_shipping_solutions.html"},
63
+ {"name": "FedEx API", "description": "FedEx shipping integration", "category": "Logistics", "authType": "apiKey", "baseUrl": "https://www.fedex.com/us/developer/web-services/index.html"},
64
+ {"name": "UPS API", "description": "UPS shipping services", "category": "Logistics", "authType": "apiKey", "baseUrl": "http://www.ups.com/content/us/en/resources/techsupport/developercenter.html"},
65
+ {"name": "Kuaidi100", "description": "China courier tracking", "category": "Logistics", "authType": "apiKey", "baseUrl": "http://www.kuaidi100.com/openapi/"},
66
+ {"name": "Kdniao", "description": "China logistics API", "category": "Logistics", "authType": "apiKey", "baseUrl": "http://www.kdniao.com/"},
67
+
68
+ # DESIGN
69
+ {"name": "Behance API", "description": "Creative portfolio platform", "category": "Design", "authType": "apiKey", "baseUrl": "https://www.behance.net/dev/api/endpoints/"},
70
+ {"name": "DeviantART API", "description": "Art community platform", "category": "Design", "authType": "oauth", "baseUrl": "https://www.deviantart.com/developers/"},
71
+
72
+ # DEVELOPMENT
73
+ {"name": "ARTIK Cloud", "description": "Samsung IoT platform", "category": "IoT", "authType": "apiKey", "baseUrl": "https://developer.artik.cloud/documentation/api-reference/"},
74
+ {"name": "AT&T M2X", "description": "IoT time series data", "category": "IoT", "authType": "apiKey", "baseUrl": "https://m2x.att.com/developer/documentation/v2/overview"},
75
+ {"name": "Bitbucket API", "description": "Git hosting platform", "category": "Development", "authType": "oauth", "baseUrl": "https://developer.atlassian.com/cloud/bitbucket/"},
76
+ {"name": "Bitly API", "description": "URL shortening service", "category": "Development", "authType": "oauth", "baseUrl": "https://dev.bitly.com/"},
77
+ {"name": "Buddy CI", "description": "Continuous integration platform", "category": "Development", "authType": "oauth", "baseUrl": "https://buddy.works/api/reference/getting-started/overview"},
78
+ {"name": "Bugzilla API", "description": "Bug tracking system", "category": "Development", "authType": "apiKey", "baseUrl": "https://wiki.mozilla.org/Bugzilla:REST_API"},
79
+ {"name": "Dataflow Kit", "description": "Web scraping framework", "category": "Development", "authType": "apiKey", "baseUrl": "https://github.com/slotix/dataflowkit"},
80
+ {"name": "Gitter API", "description": "Chat for developers", "category": "Development", "authType": "oauth", "baseUrl": "https://developer.gitter.im/docs/welcome"},
81
+ {"name": "Google Play Developer", "description": "App publishing API", "category": "Development", "authType": "oauth", "baseUrl": "https://developers.google.com/android-publisher/"},
82
+ {"name": "IPInfo.io", "description": "IP geolocation API", "category": "Development", "authType": "apiKey", "baseUrl": "https://ipinfo.io/developers"},
83
+ {"name": "MAC Address Lookup", "description": "MAC vendor lookup", "category": "Development", "authType": "apiKey", "baseUrl": "https://macaddress.io/api-documentation"},
84
+ {"name": "openHAB", "description": "Home automation REST API", "category": "IoT", "authType": "none", "baseUrl": "https://github.com/openhab/openhab1-addons/wiki/REST-API"},
85
+ {"name": "Particle Cloud", "description": "IoT device cloud", "category": "IoT", "authType": "apiKey", "baseUrl": "https://docs.particle.io/reference/api/"},
86
+ {"name": "QR Server API", "description": "QR code generator", "category": "Development", "authType": "none", "baseUrl": "http://goqr.me/api/"},
87
+ {"name": "Scraper API", "description": "Web scraping proxy", "category": "Development", "authType": "apiKey", "baseUrl": "https://www.scraperapi.com/documentation"},
88
+ {"name": "StackExchange API", "description": "Stack Overflow data", "category": "Development", "authType": "apiKey", "baseUrl": "https://api.stackexchange.com/docs"},
89
+ {"name": "SVN API", "description": "Subversion libraries", "category": "Development", "authType": "none", "baseUrl": "https://subversion.apache.org/docs/api/1.8/"},
90
+ {"name": "W3C API", "description": "W3C specifications data", "category": "Development", "authType": "none", "baseUrl": "https://github.com/w3c/w3c-api"},
91
+ {"name": "ZenHub API", "description": "GitHub project management", "category": "Development", "authType": "apiKey", "baseUrl": "https://github.com/ZenHubIO/API"},
92
+ {"name": "V2EX API", "description": "Developer community forum", "category": "Development", "authType": "none", "baseUrl": "https://www.v2ex.com/p/7v9TEc53"},
93
+ {"name": "Coding.net", "description": "Code hosting platform", "category": "Development", "authType": "oauth", "baseUrl": "https://open.coding.net/"},
94
+ {"name": "Diycode", "description": "Developer community", "category": "Development", "authType": "apiKey", "baseUrl": "https://www.diycode.cc/api"},
95
+ {"name": "Gank.io", "description": "Developer resources API", "category": "Development", "authType": "none", "baseUrl": "http://gank.io/api"},
96
+ {"name": "Laravel China", "description": "Laravel community API", "category": "Development", "authType": "apiKey", "baseUrl": "https://laravel-china.org/topics/3097"},
97
+ {"name": "Oschina API", "description": "Chinese dev community", "category": "Development", "authType": "oauth", "baseUrl": "http://www.oschina.net/openapi"},
98
+ {"name": "Ruby China", "description": "Ruby community API", "category": "Development", "authType": "apiKey", "baseUrl": "https://ruby-china.org/api-doc/"},
99
+
100
+ # EMAIL
101
+ {"name": "Context.IO", "description": "Email API for developers", "category": "Email", "authType": "oauth", "baseUrl": "http://context.io/"},
102
+ {"name": "Inbox by Nylas", "description": "Modern email API", "category": "Email", "authType": "oauth", "baseUrl": "https://www.inboxapp.com/docs"},
103
+ {"name": "Mandrill", "description": "Transactional email API", "category": "Email", "authType": "apiKey", "baseUrl": "https://mandrillapp.com/api/docs/"},
104
+ {"name": "Outlook Mail API", "description": "Microsoft email API", "category": "Email", "authType": "oauth", "baseUrl": "https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations"},
105
+
106
+ # FITNESS & WEARABLES
107
+ {"name": "Adidas API", "description": "Adidas services API", "category": "Fitness", "authType": "apiKey", "baseUrl": "https://developers.adidas.com/services"},
108
+ {"name": "Fitbit API", "description": "Fitness tracker data", "category": "Fitness", "authType": "oauth", "baseUrl": "https://dev.fitbit.com/"},
109
+ {"name": "Jawbone UP", "description": "Activity tracking API", "category": "Fitness", "authType": "oauth", "baseUrl": "https://jawbone.com/up/developer"},
110
+ {"name": "Sony Lifelog", "description": "Sony wearable data", "category": "Fitness", "authType": "oauth", "baseUrl": "https://developer.sony.com/develop/services/lifelog-api/"},
111
+ {"name": "Misfit API", "description": "Activity tracker API", "category": "Fitness", "authType": "oauth", "baseUrl": "https://build.misfit.com/"},
112
+ {"name": "Nike+ API", "description": "Nike fitness data", "category": "Fitness", "authType": "oauth", "baseUrl": "https://developer.nike.com/content/nike-developer-cq/us/en_us/index/documentation/api-docs.html"},
113
+ {"name": "Recon API", "description": "Sports instruments data", "category": "Fitness", "authType": "apiKey", "baseUrl": "http://www.reconinstruments.com/developers/develop/for-recon-engage/api-documentation/"},
114
+ {"name": "Strava API", "description": "Athletic activity API", "category": "Fitness", "authType": "oauth", "baseUrl": "https://strava.github.io/api/"},
115
+ {"name": "Withings API", "description": "Health device data", "category": "Fitness", "authType": "oauth", "baseUrl": "http://www.withings.com/us/en/developers"},
116
+
117
+ # FOOD
118
+ {"name": "Pizza Order API", "description": "Restaurant ordering API", "category": "Food", "authType": "none", "baseUrl": "https://order-pizza-api.herokuapp.com/api/ui"},
119
+
120
+ # FOREX
121
+ {"name": "1Forge Forex", "description": "Real-time forex quotes", "category": "Finance", "authType": "apiKey", "baseUrl": "https://1forge.com/"},
122
+ {"name": "CurrencyScoop", "description": "Currency rates API", "category": "Finance", "authType": "apiKey", "baseUrl": "https://currencyscoop.com/"},
123
+
124
+ # GAMES
125
+ {"name": "Battle.net", "description": "Blizzard games API", "category": "Games", "authType": "apiKey", "baseUrl": "https://dev.battle.net/"},
126
+ {"name": "Clash of Clans API", "description": "Game data API", "category": "Games", "authType": "apiKey", "baseUrl": "https://developer.clashofclans.com/"},
127
+ {"name": "EVE Online API", "description": "Space MMORPG API", "category": "Games", "authType": "apiKey", "baseUrl": "https://developers.eveonline.com/"},
128
+ {"name": "Facebook Games", "description": "Facebook gaming APIs", "category": "Games", "authType": "oauth", "baseUrl": "https://developers.facebook.com/docs/games"},
129
+ {"name": "Google Play Games", "description": "Google gaming services", "category": "Games", "authType": "oauth", "baseUrl": "https://developers.google.com/games/"},
130
+ {"name": "Riot Games API", "description": "League of Legends data", "category": "Games", "authType": "apiKey", "baseUrl": "https://developer.riotgames.com/"},
131
+ {"name": "Steam Web API", "description": "Steam gaming platform", "category": "Games", "authType": "apiKey", "baseUrl": "https://steamcommunity.com/dev"},
132
+ {"name": "Giant Bomb API", "description": "Video game database", "category": "Games", "authType": "apiKey", "baseUrl": "http://www.giantbomb.com/api/"},
133
+ {"name": "Guild Wars 2 API", "description": "Guild Wars 2 game data", "category": "Games", "authType": "apiKey", "baseUrl": "https://wiki.guildwars2.com/wiki/API:Main"},
134
+
135
+ # IOT
136
+ {"name": "Automatic API", "description": "Connected car data", "category": "IoT", "authType": "oauth", "baseUrl": "https://developer.automatic.com/"},
137
+ {"name": "Amazon Alexa API", "description": "Voice assistant API", "category": "IoT", "authType": "oauth", "baseUrl": "https://developer.amazon.com/public/solutions/alexa/alexa-voice-service/content/avs-api-overview"},
138
+ {"name": "Google Assistant", "description": "Google voice assistant", "category": "IoT", "authType": "oauth", "baseUrl": "https://developers.google.com/actions/"},
139
+ {"name": "Home8 API", "description": "IoT alarm system", "category": "IoT", "authType": "apiKey", "baseUrl": "https://developer.home8systems.com/"},
140
+ {"name": "Homey API", "description": "Smart home platform", "category": "IoT", "authType": "oauth", "baseUrl": "https://developers.athom.com/api/"},
141
+ {"name": "HP Print API", "description": "Printer services", "category": "IoT", "authType": "apiKey", "baseUrl": "https://developers.hp.com/printos/printos"},
142
+ {"name": "LIFX API", "description": "Smart lightbulb control", "category": "IoT", "authType": "apiKey", "baseUrl": "https://api.developer.lifx.com/"},
143
+ {"name": "LightwaveRF API", "description": "Smart home lighting", "category": "IoT", "authType": "apiKey", "baseUrl": "https://api.lightwaverf.com/"},
144
+ {"name": "MicroBees API", "description": "IoT messaging platform", "category": "IoT", "authType": "apiKey", "baseUrl": "http://developers.microbees.com/documentation/"},
145
+ {"name": "Mojio API", "description": "Connected car platform", "category": "IoT", "authType": "oauth", "baseUrl": "https://www.moj.io/developer/"},
146
+ {"name": "MyStrom API", "description": "Smart plug control", "category": "IoT", "authType": "none", "baseUrl": "https://mystrom.ch/de/mystrom-api"},
147
+ {"name": "Neurio API", "description": "Energy monitoring", "category": "IoT", "authType": "oauth", "baseUrl": "http://neur.io/developers/"},
148
+ {"name": "Philips Hue API", "description": "Smart lighting control", "category": "IoT", "authType": "apiKey", "baseUrl": "https://developers.meethue.com/"},
149
+ {"name": "Smappee API", "description": "Energy monitoring", "category": "IoT", "authType": "oauth", "baseUrl": "https://smappee.atlassian.net/wiki/display/DEVAPI/SmappeeDevAPI+Home"},
150
+ {"name": "SmartThings API", "description": "Samsung smart home", "category": "IoT", "authType": "oauth", "baseUrl": "https://developers.athom.com/api/"},
151
+ {"name": "Stack Lighting API", "description": "Responsive lighting", "category": "IoT", "authType": "apiKey", "baseUrl": "http://developers.stacklighting.com/"},
152
+ {"name": "Vinli API", "description": "Connected car apps", "category": "IoT", "authType": "oauth", "baseUrl": "https://dev.vin.li/"},
153
+ {"name": "Yeelight API", "description": "Smart LED control", "category": "IoT", "authType": "none", "baseUrl": "http://www.yeelight.com/en_US/developer"},
154
+
155
+ # MACHINE LEARNING
156
+ {"name": "Amazon ML API", "description": "AWS machine learning", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://aws.amazon.com/cn/documentation/machine-learning/"},
157
+ {"name": "BigML API", "description": "ML platform API", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://bigml.com/api"},
158
+ {"name": "Diffbot API", "description": "AI web extraction", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://www.diffbot.com/dev/docs/"},
159
+ {"name": "Google Cloud Prediction", "description": "Google ML API", "category": "AI/ML", "authType": "oauth", "baseUrl": "https://cloud.google.com/prediction/docs/"},
160
+ {"name": "IBM Watson", "description": "Watson AI services", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://developer.ibm.com/watson/"},
161
+ {"name": "Azure ML", "description": "Microsoft ML services", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://azure.microsoft.com/en-us/services/cognitive-services/"},
162
+
163
+ # MAPS
164
+ {"name": "Amap API", "description": "Chinese mapping service", "category": "Maps", "authType": "apiKey", "baseUrl": "http://lbs.amap.com/"},
165
+ {"name": "Baidu Map API", "description": "Baidu mapping service", "category": "Maps", "authType": "apiKey", "baseUrl": "http://lbsyun.baidu.com/index.php"},
166
+ {"name": "Bing Maps", "description": "Microsoft mapping", "category": "Maps", "authType": "apiKey", "baseUrl": "https://www.microsoft.com/maps/choose-your-bing-maps-API.aspx"},
167
+ {"name": "Google Maps API", "description": "Google mapping service", "category": "Maps", "authType": "apiKey", "baseUrl": "https://developers.google.com/maps/web-services/"},
168
+ {"name": "HERE Maps API", "description": "HERE mapping services", "category": "Maps", "authType": "apiKey", "baseUrl": "https://developer.here.com/develop/rest-apis"},
169
+ {"name": "Tencent Map API", "description": "Tencent mapping", "category": "Maps", "authType": "apiKey", "baseUrl": "http://lbs.qq.com/webservice_v1/index.html"},
170
+
171
+ # MESSAGING
172
+ {"name": "Cisco Spark API", "description": "Team collaboration", "category": "Messaging", "authType": "oauth", "baseUrl": "https://developer.ciscospark.com/"},
173
+ {"name": "DingTalk API", "description": "Business messaging", "category": "Messaging", "authType": "apiKey", "baseUrl": "https://open-doc.dingtalk.com/"},
174
+ {"name": "dondeEsta API", "description": "Family tracking", "category": "Messaging", "authType": "apiKey", "baseUrl": "http://docs.dondeesta.apiary.io/"},
175
+ {"name": "Fleep API", "description": "Team messenger", "category": "Messaging", "authType": "apiKey", "baseUrl": "https://fleep.io/fleepapi/"},
176
+ {"name": "GroupMe API", "description": "Group messaging", "category": "Messaging", "authType": "oauth", "baseUrl": "https://dev.groupme.com/docs/v3"},
177
+ {"name": "Indoona API", "description": "Messaging platform", "category": "Messaging", "authType": "apiKey", "baseUrl": "https://developer.indoona.com/"},
178
+ {"name": "LINE API", "description": "LINE messaging platform", "category": "Messaging", "authType": "oauth", "baseUrl": "https://developers.line.me/"},
179
+ {"name": "MessageBird API", "description": "SMS and voice API", "category": "Messaging", "authType": "apiKey", "baseUrl": "https://developers.messagebird.com/"},
180
+ {"name": "Slack API", "description": "Team collaboration API", "category": "Messaging", "authType": "oauth", "baseUrl": "https://api.slack.com/"},
181
+ {"name": "Telegram Bot API", "description": "Telegram messaging", "category": "Messaging", "authType": "apiKey", "baseUrl": "https://core.telegram.org/api"},
182
+ {"name": "Yo API", "description": "Simple notifications", "category": "Messaging", "authType": "apiKey", "baseUrl": "http://docs.justyo.co/"},
183
+
184
+ # MUSIC
185
+ {"name": "Deezer API", "description": "Music streaming", "category": "Music", "authType": "oauth", "baseUrl": "https://developers.deezer.com/"},
186
+ {"name": "Last.fm API", "description": "Music data and scrobbling", "category": "Music", "authType": "apiKey", "baseUrl": "http://www.last.fm/zh/api"},
187
+ {"name": "MusicGraph API", "description": "Music knowledge engine", "category": "Music", "authType": "apiKey", "baseUrl": "https://developer.musicgraph.com/"},
188
+ {"name": "Musixmatch API", "description": "Lyrics database", "category": "Music", "authType": "apiKey", "baseUrl": "https://developer.musixmatch.com/"},
189
+ {"name": "OneMusicAPI", "description": "Music metadata", "category": "Music", "authType": "apiKey", "baseUrl": "http://www.onemusicapi.com/"},
190
+ {"name": "SearchLy", "description": "Song lyrics search", "category": "Music", "authType": "none", "baseUrl": "https://github.com/AlbertSuarez/searchly"},
191
+ {"name": "SoundCloud API", "description": "Audio sharing platform", "category": "Music", "authType": "oauth", "baseUrl": "https://developers.soundcloud.com/"},
192
+ {"name": "Spotify Web API", "description": "Music streaming API", "category": "Music", "authType": "oauth", "baseUrl": "https://developer.spotify.com/web-api/"},
193
+
194
+ # NEWS
195
+ {"name": "Aztro API", "description": "Horoscope information", "category": "News", "authType": "none", "baseUrl": "https://aztro.sameerkumar.website"},
196
+ {"name": "BreweryDB", "description": "Brewery database", "category": "News", "authType": "apiKey", "baseUrl": "http://www.brewerydb.com/developers"},
197
+ {"name": "Diigo API", "description": "Bookmark manager", "category": "News", "authType": "apiKey", "baseUrl": "https://www.diigo.com/api_dev"},
198
+ {"name": "Feedly API", "description": "News aggregator", "category": "News", "authType": "oauth", "baseUrl": "https://developer.feedly.com/"},
199
+ {"name": "Genius API", "description": "Music and lyrics knowledge", "category": "News", "authType": "oauth", "baseUrl": "https://docs.genius.com/"},
200
+ {"name": "Goodreads API", "description": "Book recommendations", "category": "News", "authType": "apiKey", "baseUrl": "https://www.goodreads.com/api"},
201
+ {"name": "HackerNews API", "description": "Tech news and discussions", "category": "News", "authType": "none", "baseUrl": "https://github.com/HackerNews/API"},
202
+ {"name": "Inoreader API", "description": "RSS reader", "category": "News", "authType": "oauth", "baseUrl": "https://www.inoreader.com/developers/"},
203
+ {"name": "Instapaper API", "description": "Read later service", "category": "News", "authType": "oauth", "baseUrl": "https://www.instapaper.com/api"},
204
+ {"name": "Narro API", "description": "Audio articles", "category": "News", "authType": "apiKey", "baseUrl": "https://docs.narro.co/"},
205
+ {"name": "NewsBlur API", "description": "RSS reader", "category": "News", "authType": "apiKey", "baseUrl": "https://newsblur.com/api"},
206
+ {"name": "NPR API", "description": "NPR content access", "category": "News", "authType": "apiKey", "baseUrl": "http://www.npr.org/api/index"},
207
+ {"name": "Pinboard API", "description": "Bookmarking service", "category": "News", "authType": "apiKey", "baseUrl": "https://pinboard.in/api"},
208
+ {"name": "Pocket API", "description": "Save for later", "category": "News", "authType": "oauth", "baseUrl": "https://getpocket.com/developer/"},
209
+ {"name": "Product Hunt API", "description": "Product discovery", "category": "News", "authType": "oauth", "baseUrl": "https://api.producthunt.com/v1/docs"},
210
+ {"name": "NY Times API", "description": "NY Times content", "category": "News", "authType": "apiKey", "baseUrl": "https://developer.nytimes.com/"},
211
+ {"name": "USA Today API", "description": "USA Today content", "category": "News", "authType": "apiKey", "baseUrl": "https://developer.usatoday.com/docs/"},
212
+
213
+ # NOTES
214
+ {"name": "Evernote API", "description": "Note-taking platform", "category": "Productivity", "authType": "oauth", "baseUrl": "https://dev.evernote.com/doc/"},
215
+ {"name": "OneNote API", "description": "Microsoft notes", "category": "Productivity", "authType": "oauth", "baseUrl": "https://msdn.microsoft.com/en-us/office/office365/howto/onenote-supported-ops"},
216
+ {"name": "Youdao Note API", "description": "Chinese note service", "category": "Productivity", "authType": "apiKey", "baseUrl": "http://note.youdao.com/open/"},
217
+
218
+ # PAYMENT
219
+ {"name": "PayPal API", "description": "Payment processing", "category": "Payment", "authType": "oauth", "baseUrl": "https://developer.paypal.com/docs/api/"},
220
+ {"name": "Paymill API", "description": "Payment gateway", "category": "Payment", "authType": "apiKey", "baseUrl": "https://developers.paymill.com/index"},
221
+ {"name": "Paytm API", "description": "Indian payment gateway", "category": "Payment", "authType": "apiKey", "baseUrl": "https://paytm.com/business/payments/developers"},
222
+ {"name": "WePay API", "description": "Payment platform", "category": "Payment", "authType": "oauth", "baseUrl": "https://www.wepay.com/"},
223
+ {"name": "PhonePe API", "description": "Indian UPI payments", "category": "Payment", "authType": "apiKey", "baseUrl": "https://developer.phonepe.com/docs"},
224
+
225
+ # PHOTOGRAPHY
226
+ {"name": "500px API", "description": "Photography community", "category": "Photography", "authType": "oauth", "baseUrl": "https://github.com/500px/api-documentation"},
227
+ {"name": "Giphy API", "description": "GIF library", "category": "Photography", "authType": "apiKey", "baseUrl": "https://developers.giphy.com/docs/"},
228
+ {"name": "Imgur API", "description": "Image hosting", "category": "Photography", "authType": "oauth", "baseUrl": "https://api.imgur.com/"},
229
+ {"name": "Pixabay API", "description": "Free stock photos", "category": "Photography", "authType": "apiKey", "baseUrl": "https://pixabay.com/api/docs/"},
230
+ {"name": "Unsplash API", "description": "Free high-res photos", "category": "Photography", "authType": "apiKey", "baseUrl": "https://unsplash.com/documentation"},
231
+ {"name": "Unsplash Source", "description": "Random photo embeds", "category": "Photography", "authType": "none", "baseUrl": "https://source.unsplash.com/"},
232
+
233
+ # PLACES
234
+ {"name": "Yelp API", "description": "Local business reviews", "category": "Places", "authType": "apiKey", "baseUrl": "https://www.yelp.com/developers/documentation/v2/overview"},
235
+ {"name": "Zomato API", "description": "Restaurant database", "category": "Places", "authType": "apiKey", "baseUrl": "https://developers.zomato.com/api"},
236
+
237
+ # SOCIAL
238
+ {"name": "Disqus API", "description": "Comments platform", "category": "Social", "authType": "oauth", "baseUrl": "https://disqus.com/api/docs/"},
239
+ {"name": "Facebook API", "description": "Social networking", "category": "Social", "authType": "oauth", "baseUrl": "https://developers.facebook.com/docs/"},
240
+ {"name": "Flickr API", "description": "Photo sharing", "category": "Social", "authType": "apiKey", "baseUrl": "https://www.flickr.com/services/api/"},
241
+ {"name": "Foursquare API", "description": "Location-based social", "category": "Social", "authType": "oauth", "baseUrl": "https://developer.foursquare.com/"},
242
+ {"name": "Instagram API", "description": "Photo sharing social", "category": "Social", "authType": "oauth", "baseUrl": "https://www.instagram.com/developer/"},
243
+ {"name": "LinkedIn API", "description": "Professional network", "category": "Social", "authType": "oauth", "baseUrl": "https://developer.linkedin.com/"},
244
+ {"name": "Pinterest API", "description": "Visual discovery", "category": "Social", "authType": "oauth", "baseUrl": "https://developers.pinterest.com/"},
245
+ {"name": "Reddit API", "description": "Social news aggregation", "category": "Social", "authType": "oauth", "baseUrl": "https://www.reddit.com/dev/api/"},
246
+ {"name": "Tumblr API", "description": "Microblogging platform", "category": "Social", "authType": "oauth", "baseUrl": "https://www.tumblr.com/docs/en/api/v2"},
247
+ {"name": "Twitter API", "description": "Social media platform", "category": "Social", "authType": "oauth", "baseUrl": "https://dev.twitter.com/"},
248
+ {"name": "Weibo API", "description": "Chinese social media", "category": "Social", "authType": "oauth", "baseUrl": "http://open.weibo.com/wiki/API"},
249
+
250
+ # SHOPPING
251
+ {"name": "Amazon Developer", "description": "Amazon services API", "category": "Shopping", "authType": "oauth", "baseUrl": "https://developer.amazon.com/services-and-apis"},
252
+ {"name": "Best Buy API", "description": "Retail products", "category": "Shopping", "authType": "apiKey", "baseUrl": "https://developer.bestbuy.com/"},
253
+ {"name": "eBay API", "description": "Online marketplace", "category": "Shopping", "authType": "oauth", "baseUrl": "https://go.developer.ebay.com/"},
254
+ {"name": "Home Depot API", "description": "Home improvement retail", "category": "Shopping", "authType": "apiKey", "baseUrl": "https://developer.homedepot.com/"},
255
+ {"name": "Semantics3 API", "description": "Product data", "category": "Shopping", "authType": "apiKey", "baseUrl": "http://docs.semantics3.com/reference"},
256
+ {"name": "Slice API", "description": "Purchase data", "category": "Shopping", "authType": "apiKey", "baseUrl": "https://developer.slice.com/"},
257
+
258
+ # TEAMWORK
259
+ {"name": "Asana API", "description": "Project management", "category": "Productivity", "authType": "oauth", "baseUrl": "https://asana.com/guide/help/api/api"},
260
+ {"name": "Join.me API", "description": "Online meetings", "category": "Productivity", "authType": "oauth", "baseUrl": "https://developer.join.me/"},
261
+ {"name": "Teambition API", "description": "Project collaboration", "category": "Productivity", "authType": "oauth", "baseUrl": "https://www.teambition.com/developer/open-platform"},
262
+ {"name": "TeamSnap API", "description": "Team management", "category": "Productivity", "authType": "oauth", "baseUrl": "http://developer.teamsnap.com/"},
263
+ {"name": "Trello API", "description": "Kanban board", "category": "Productivity", "authType": "oauth", "baseUrl": "https://developers.trello.com/"},
264
+ {"name": "Worktile API", "description": "Project collaboration", "category": "Productivity", "authType": "apiKey", "baseUrl": "https://dev.worktile.com/document/overview"},
265
+
266
+ # TEXT ANALYSIS
267
+ {"name": "BosonNLP", "description": "Chinese NLP", "category": "AI/ML", "authType": "apiKey", "baseUrl": "http://docs.bosonnlp.com/"},
268
+ {"name": "Detect Language API", "description": "Language detection", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://rapidapi.com/BigLobster/api/language-identification-prediction"},
269
+ {"name": "Tencent NLP", "description": "Chinese NLP", "category": "AI/ML", "authType": "apiKey", "baseUrl": "http://nlp.qq.com/help.cgi"},
270
+ {"name": "Azure Text Analytics", "description": "Microsoft NLP", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/"},
271
+ {"name": "Watson NLU", "description": "IBM NLP", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://www.ibm.com/watson/developercloud/natural-language-understanding/api/v1/"},
272
+
273
+ # TO-DOS
274
+ {"name": "Beeminder API", "description": "Goal tracking", "category": "Productivity", "authType": "apiKey", "baseUrl": "https://www.beeminder.com/api"},
275
+ {"name": "FollowUp.cc API", "description": "Email follow-ups", "category": "Productivity", "authType": "apiKey", "baseUrl": "http://docs.followup.cc/"},
276
+ {"name": "Todoist API", "description": "Task management", "category": "Productivity", "authType": "oauth", "baseUrl": "https://developer.todoist.com/"},
277
+ {"name": "Toodledo API", "description": "Tasks and notes", "category": "Productivity", "authType": "apiKey", "baseUrl": "https://api.toodledo.com/3/"},
278
+
279
+ # TRANSLATION
280
+ {"name": "Baidu Translate", "description": "Chinese translation", "category": "Translation", "authType": "apiKey", "baseUrl": "http://api.fanyi.baidu.com/api/trans/product/index"},
281
+ {"name": "Google Translate", "description": "Machine translation", "category": "Translation", "authType": "apiKey", "baseUrl": "https://cloud.google.com/translate/docs/"},
282
+ {"name": "Microsoft Translator", "description": "Microsoft translation", "category": "Translation", "authType": "apiKey", "baseUrl": "https://www.microsoft.com/en-us/translator/translatorapi.aspx"},
283
+ {"name": "Oxford Dictionaries API", "description": "Dictionary and thesaurus", "category": "Translation", "authType": "apiKey", "baseUrl": "https://developer.oxforddictionaries.com/"},
284
+ {"name": "Yandex Translate", "description": "Russian translation", "category": "Translation", "authType": "apiKey", "baseUrl": "https://tech.yandex.com/translate/"},
285
+
286
+ # VIDEO
287
+ {"name": "Dailymotion API", "description": "Video hosting", "category": "Video", "authType": "oauth", "baseUrl": "https://developer.dailymotion.com/api"},
288
+ {"name": "Narrative API", "description": "Video clips", "category": "Video", "authType": "apiKey", "baseUrl": "http://open.getnarrative.com/"},
289
+ {"name": "Rotten Tomatoes API", "description": "Movie ratings", "category": "Video", "authType": "apiKey", "baseUrl": "https://developer.fandango.com/Rotten_Tomatoes"},
290
+ {"name": "TMDb API", "description": "Movie database", "category": "Video", "authType": "apiKey", "baseUrl": "https://developers.themoviedb.org"},
291
+ {"name": "TVmaze API", "description": "TV show database", "category": "Video", "authType": "none", "baseUrl": "https://www.tvmaze.com/api"},
292
+ {"name": "Vimeo API", "description": "Video hosting HD", "category": "Video", "authType": "oauth", "baseUrl": "https://developer.vimeo.com/"},
293
+ {"name": "YouTube API", "description": "Video platform", "category": "Video", "authType": "oauth", "baseUrl": "https://developers.google.com/youtube/documentation/"},
294
+
295
+ # VOICE ANALYSIS
296
+ {"name": "Baidu Yuyin", "description": "Chinese speech API", "category": "AI/ML", "authType": "apiKey", "baseUrl": "http://yuyin.baidu.com/docs"},
297
+ {"name": "Google Cloud Speech", "description": "Speech to text", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://cloud.google.com/speech/"},
298
+
299
+ # VISION
300
+ {"name": "CamScanner API", "description": "Document scanning", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://dev.camscanner.com/"},
301
+ {"name": "Clarifai API", "description": "Image recognition", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://clarifai.com/developer/guide/"},
302
+ {"name": "Google Cloud Vision", "description": "Image analysis", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://cloud.google.com/vision/"},
303
+ {"name": "Azure Computer Vision", "description": "Microsoft image AI", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://azure.microsoft.com/en-us/services/cognitive-services/computer-vision/"},
304
+ {"name": "Face++ API", "description": "Face recognition", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://console.faceplusplus.com/documents/5678948"},
305
+ {"name": "Watson Visual Recognition", "description": "IBM image AI", "category": "AI/ML", "authType": "apiKey", "baseUrl": "https://www.ibm.com/watson/developercloud/visual-recognition/api/v3/"},
306
+
307
+ # WEATHER
308
+ {"name": "AccuWeather API", "description": "Weather forecasts", "category": "Weather", "authType": "apiKey", "baseUrl": "http://apidev.accuweather.com/developers/"},
309
+ {"name": "Aeris Weather", "description": "Weather data API", "category": "Weather", "authType": "apiKey", "baseUrl": "http://www.aerisweather.com/develop/"},
310
+ {"name": "OpenWeatherMap", "description": "Weather data API", "category": "Weather", "authType": "apiKey", "baseUrl": "https://openweathermap.org/api"},
311
+ {"name": "Weather Underground", "description": "Weather data API", "category": "Weather", "authType": "apiKey", "baseUrl": "https://www.wunderground.com/weather/api/"},
312
+ {"name": "Weather Unlocked", "description": "Weather for advertising", "category": "Weather", "authType": "apiKey", "baseUrl": "https://developer.weatherunlocked.com/documentation"},
313
+ {"name": "Yandex Weather", "description": "Russian weather API", "category": "Weather", "authType": "apiKey", "baseUrl": "https://tech.yandex.com/weather/"},
314
+ {"name": "Yahoo Weather", "description": "Weather forecasts", "category": "Weather", "authType": "none", "baseUrl": "https://developer.yahoo.com/weather/"},
315
+
316
+ # MORE UNIQUE APIs
317
+ {"name": "iTunes Search API", "description": "Search iTunes content", "category": "Media", "authType": "none", "baseUrl": "https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/"},
318
+ {"name": "ProgrammableWeb", "description": "API directory", "category": "Development", "authType": "none", "baseUrl": "https://www.programmableweb.com/"},
319
+ {"name": "Yahoo Developer", "description": "Yahoo services API", "category": "Development", "authType": "oauth", "baseUrl": "https://developer.yahoo.com/everything.html"},
320
+ ]
321
+
322
+ def get_current_count():
323
+ """Get current API count from registry"""
324
+ registry_file = os.path.expanduser("~/Projects/apiclaw/src/registry/apis.json")
325
+ try:
326
+ with open(registry_file, 'r') as f:
327
+ registry = json.load(f)
328
+ return registry.get('count', len(registry.get('apis', [])))
329
+ except:
330
+ return 0
331
+
332
+ def add_apis_to_registry(apis):
333
+ """Add APIs to the registry"""
334
+ registry_file = os.path.expanduser("~/Projects/apiclaw/src/registry/apis.json")
335
+
336
+ try:
337
+ with open(registry_file, 'r') as f:
338
+ registry = json.load(f)
339
+ except:
340
+ registry = {"version": "3.2.3", "source": "APIClaw aggregated registry", "apis": [], "count": 0}
341
+
342
+ existing_names = {api.get('name', '').lower() for api in registry.get('apis', [])}
343
+ existing_ids = {api.get('id', '').lower() for api in registry.get('apis', [])}
344
+
345
+ added = 0
346
+ for api in apis:
347
+ api_id = api['name'].lower().replace(' ', '-').replace('_', '-')
348
+ api_id = ''.join(c for c in api_id if c.isalnum() or c == '-')
349
+
350
+ name_lower = api['name'].lower()
351
+
352
+ if name_lower not in existing_names and api_id not in existing_ids:
353
+ new_api = {
354
+ "id": api_id,
355
+ "name": api['name'],
356
+ "description": api['description'],
357
+ "category": api['category'],
358
+ "auth": api.get('authType', 'None'),
359
+ "https": True,
360
+ "cors": "unknown",
361
+ "link": api.get('baseUrl', ''),
362
+ "pricing": "unknown",
363
+ "keywords": []
364
+ }
365
+ registry['apis'].append(new_api)
366
+ existing_names.add(name_lower)
367
+ existing_ids.add(api_id)
368
+ added += 1
369
+
370
+ registry['lastUpdated'] = datetime.now().isoformat()
371
+ registry['count'] = len(registry['apis'])
372
+
373
+ with open(registry_file, 'w') as f:
374
+ json.dump(registry, f, indent=2)
375
+
376
+ return added, len(registry['apis'])
377
+
378
+ if __name__ == "__main__":
379
+ before = get_current_count()
380
+ print(f"🦞 APIClaw Night Expansion - 2026-02-24 03:00 Batch 2")
381
+ print(f"Before: {before} APIs")
382
+
383
+ added, total = add_apis_to_registry(NEW_APIS_BATCH2)
384
+
385
+ print(f"Added: {added} new APIs")
386
+ print(f"Total: {total} APIs")
387
+ print(f"✅ Done!")