@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.
Files changed (65) hide show
  1. package/EARN-CREDITS-SPEC.md +197 -0
  2. package/README.md +11 -7
  3. package/STATUS.md +16 -15
  4. package/VISION.md +123 -0
  5. package/dist/credentials.d.ts.map +1 -1
  6. package/dist/credentials.js +11 -0
  7. package/dist/credentials.js.map +1 -1
  8. package/dist/execute.d.ts.map +1 -1
  9. package/dist/execute.js +75 -0
  10. package/dist/execute.js.map +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/proxy.d.ts.map +1 -1
  13. package/dist/proxy.js +1 -1
  14. package/dist/proxy.js.map +1 -1
  15. package/dist/registry/apis.json +93516 -7139
  16. package/dist/registry/apis_expanded.json +3123 -3
  17. package/landing/public/book/index.html +339 -0
  18. package/landing/src/app/docs/page.tsx +142 -115
  19. package/landing/src/app/earn/page.tsx +305 -0
  20. package/landing/src/app/page.tsx +16 -11
  21. package/landing/src/lib/apis.json +1 -116054
  22. package/landing/src/lib/stats.json +5 -5
  23. package/package.json +4 -1
  24. package/scripts/add-public-apis.py +625 -0
  25. package/scripts/apisguru-data.json +158837 -0
  26. package/scripts/bonus-batch.py +250 -0
  27. package/scripts/bulk-add-apisguru.js +122 -0
  28. package/scripts/expand-2026-batch.py +335 -0
  29. package/scripts/expand-from-github.py +460 -0
  30. package/scripts/expand-n4ze3m.py +198 -0
  31. package/scripts/expand-niche-batch.py +269 -0
  32. package/scripts/expand-nordic-niche.py +189 -0
  33. package/scripts/expand-tonnyL.py +343 -0
  34. package/scripts/final-batch.py +315 -0
  35. package/scripts/final-push-06.py +242 -0
  36. package/scripts/mega-expansion.py +495 -0
  37. package/scripts/mega-final-06.py +512 -0
  38. package/scripts/more-apis.py +353 -0
  39. package/scripts/night-batch-05.py +546 -0
  40. package/scripts/night-batch-05b.py +427 -0
  41. package/scripts/night-expansion-02-23-batch2.py +284 -0
  42. package/scripts/night-expansion-02-23.py +383 -0
  43. package/scripts/night-expansion-03-batch2.py +336 -0
  44. package/scripts/night-expansion-03-batch3.py +392 -0
  45. package/scripts/night-expansion-03.py +573 -0
  46. package/scripts/night-expansion-04-23.py +461 -0
  47. package/scripts/night-expansion-05-23-batch2.py +431 -0
  48. package/scripts/night-expansion-05-23-batch3.py +366 -0
  49. package/scripts/night-expansion-05-23-final.py +349 -0
  50. package/scripts/night-expansion-05-23.py +540 -0
  51. package/scripts/night-expansion-06-23-batch2.py +261 -0
  52. package/scripts/night-expansion-06-23-batch3.py +213 -0
  53. package/scripts/night-expansion-06-23-batch4.py +261 -0
  54. package/scripts/night-expansion-06-23.py +309 -0
  55. package/scripts/night-expansion-06.py +325 -0
  56. package/scripts/night-expansion.py +441 -0
  57. package/scripts/night-final-batch-04-23.py +547 -0
  58. package/scripts/night-mega-batch-04-23.py +874 -0
  59. package/scripts/super-final-06.py +341 -0
  60. package/src/credentials.ts +12 -0
  61. package/src/execute.ts +93 -0
  62. package/src/index.ts +1 -1
  63. package/src/proxy.ts +1 -1
  64. package/src/registry/apis.json +93516 -7139
  65. package/src/registry/apis_expanded.json +3123 -3
@@ -0,0 +1,547 @@
1
+ #!/usr/bin/env python3
2
+ """APIClaw Night Final Batch - 2026-02-23 04:00 - Push to 1000+ new"""
3
+
4
+ import json
5
+ import re
6
+ from datetime import datetime
7
+
8
+ # Load current registry
9
+ with open('/Users/gustavhemmingsson/Projects/apiclaw/src/registry/apis.json', 'r') as f:
10
+ registry = json.load(f)
11
+
12
+ existing_ids = {api['id'] for api in registry['apis']}
13
+ initial_count = len(existing_ids)
14
+ new_apis = []
15
+
16
+ def add_api(name, desc, category, url, auth="unknown"):
17
+ api_id = re.sub(r'[^a-z0-9]', '-', name.lower()).strip('-')
18
+ api_id = re.sub(r'-+', '-', api_id)
19
+ if api_id not in existing_ids and api_id and len(api_id) > 2:
20
+ existing_ids.add(api_id)
21
+ new_apis.append({
22
+ "id": api_id,
23
+ "name": name,
24
+ "description": desc[:200] if len(desc) > 200 else desc,
25
+ "category": category,
26
+ "auth": auth,
27
+ "https": True,
28
+ "cors": "unknown",
29
+ "link": url,
30
+ "pricing": "unknown",
31
+ "keywords": []
32
+ })
33
+ return True
34
+ return False
35
+
36
+ # ===== MORE UNIQUE APIs =====
37
+
38
+ # Government & Public Data APIs (Global)
39
+ gov_apis = [
40
+ ("Data.gov.uk", "UK government data", "Government", "https://data.gov.uk/"),
41
+ ("Data.gouv.fr", "French government data", "Government", "https://doc.data.gouv.fr/api/"),
42
+ ("OpenData Germany", "German government data", "Government", "https://www.govdata.de/"),
43
+ ("Data.gov.au", "Australian government data", "Government", "https://data.gov.au/"),
44
+ ("Data.gc.ca", "Canadian government data", "Government", "https://open.canada.ca/en/access-our-application-programming-interface-api"),
45
+ ("Data.gov.in", "Indian government data", "Government", "https://data.gov.in/"),
46
+ ("Data.gov.sg", "Singapore government data", "Government", "https://data.gov.sg/"),
47
+ ("OpenData Japan", "Japanese government data", "Government", "https://www.data.go.jp/"),
48
+ ("OpenData Korea", "Korean government data", "Government", "https://www.data.go.kr/"),
49
+ ("OpenData Brazil", "Brazilian government data", "Government", "https://dados.gov.br/"),
50
+ ("OpenData Mexico", "Mexican government data", "Government", "https://datos.gob.mx/"),
51
+ ("OpenData Italy", "Italian government data", "Government", "https://dati.gov.it/"),
52
+ ("OpenData Spain", "Spanish government data", "Government", "https://datos.gob.es/"),
53
+ ("OpenData Netherlands", "Dutch government data", "Government", "https://data.overheid.nl/"),
54
+ ("OpenData Belgium", "Belgian government data", "Government", "https://data.gov.be/"),
55
+ ("OpenData Switzerland", "Swiss government data", "Government", "https://opendata.swiss/"),
56
+ ("OpenData Austria", "Austrian government data", "Government", "https://www.data.gv.at/"),
57
+ ("OpenData Ireland", "Irish government data", "Government", "https://data.gov.ie/"),
58
+ ("OpenData New Zealand", "NZ government data", "Government", "https://data.govt.nz/"),
59
+ ("UN Data", "United Nations data", "Government", "https://data.un.org/"),
60
+ ("OECD Data", "OECD statistics", "Government", "https://data.oecd.org/"),
61
+ ("IMF Data", "IMF economic data", "Government", "https://data.imf.org/"),
62
+ ("World Bank Open Data", "Development data", "Government", "https://data.worldbank.org/"),
63
+ ("Eurostat", "EU statistics", "Government", "https://ec.europa.eu/eurostat/web/main/data/database"),
64
+ ("Federal Reserve FRED", "US economic data", "Government", "https://fred.stlouisfed.org/docs/api/"),
65
+ ("Census Bureau", "US census data", "Government", "https://www.census.gov/data/developers.html"),
66
+ ("BLS", "US labor statistics", "Government", "https://www.bls.gov/developers/"),
67
+ ("SEC EDGAR", "Financial filings", "Government", "https://www.sec.gov/edgar/sec-api-documentation"),
68
+ ("USPTO", "Patent data", "Government", "https://developer.uspto.gov/"),
69
+ ("NASA Open APIs", "Space data", "Government", "https://api.nasa.gov/"),
70
+ ("NOAA", "Weather climate data", "Government", "https://www.ncdc.noaa.gov/cdo-web/webservices/"),
71
+ ("EPA", "Environmental data", "Government", "https://www.epa.gov/enviro/web-services"),
72
+ ("USGS", "Geological data", "Government", "https://www.usgs.gov/products/data-and-tools/apis"),
73
+ ("NIH", "Health research data", "Government", "https://ncbi.nlm.nih.gov/home/develop/api/"),
74
+ ("CDC", "Disease data", "Government", "https://data.cdc.gov/"),
75
+ ("FAA", "Aviation data", "Government", "https://www.faa.gov/data_research/"),
76
+ ("DOT", "Transportation data", "Government", "https://www.bts.gov/"),
77
+ ("DOE", "Energy data", "Government", "https://www.eia.gov/opendata/"),
78
+ ("USDA", "Agriculture data", "Government", "https://quickstats.nass.usda.gov/api"),
79
+ ]
80
+
81
+ for name, desc, cat, url in gov_apis:
82
+ add_api(name, desc, cat, url)
83
+
84
+ # Niche & Specialized APIs
85
+ niche_apis = [
86
+ ("OpenWeatherMap", "Weather data API", "Weather", "https://openweathermap.org/api"),
87
+ ("WeatherAPI", "Weather forecasts", "Weather", "https://www.weatherapi.com/docs/"),
88
+ ("Tomorrow.io", "Weather intelligence", "Weather", "https://docs.tomorrow.io/"),
89
+ ("Climacell", "Weather data", "Weather", "https://www.tomorrow.io/"),
90
+ ("AccuWeather", "Weather forecasts", "Weather", "https://developer.accuweather.com/"),
91
+ ("Weather.gov", "US weather data", "Weather", "https://www.weather.gov/documentation/services-web-api"),
92
+ ("AerisWeather", "Weather API", "Weather", "https://www.aerisweather.com/develop/"),
93
+ ("Visual Crossing Weather", "Historical weather", "Weather", "https://www.visualcrossing.com/resources/documentation/"),
94
+ ("Weatherbit", "Weather data", "Weather", "https://www.weatherbit.io/api"),
95
+ ("OpenUV", "UV index API", "Weather", "https://www.openuv.io/"),
96
+ ("AirVisual", "Air quality data", "Weather", "https://api-docs.iqair.com/"),
97
+ ("Breezometer", "Air quality", "Weather", "https://docs.breezometer.com/"),
98
+ ("PurpleAir", "Air quality sensors", "Weather", "https://api.purpleair.com/"),
99
+ ("Pollen.com", "Pollen data", "Weather", "https://www.pollen.com/"),
100
+ ("Sunrise Sunset", "Sun times API", "Weather", "https://sunrise-sunset.org/api"),
101
+ ("WorldTides", "Tide predictions", "Weather", "https://www.worldtides.info/"),
102
+ ("StormGlass", "Marine weather", "Weather", "https://stormglass.io/"),
103
+ ("Windy", "Weather visualization", "Weather", "https://api.windy.com/"),
104
+ ]
105
+
106
+ for name, desc, cat, url in niche_apis:
107
+ add_api(name, desc, cat, url, "apiKey")
108
+
109
+ # Food & Beverage APIs
110
+ food_apis = [
111
+ ("Spoonacular", "Food recipes", "Food", "https://spoonacular.com/food-api"),
112
+ ("Edamam Nutrition", "Nutrition analysis", "Food", "https://developer.edamam.com/"),
113
+ ("Edamam Recipe", "Recipe search", "Food", "https://developer.edamam.com/"),
114
+ ("TheMealDB", "Meal recipes", "Food", "https://www.themealdb.com/api.php"),
115
+ ("TheCocktailDB", "Cocktail recipes", "Food", "https://www.thecocktaildb.com/api.php"),
116
+ ("Open Food Facts", "Food database", "Food", "https://world.openfoodfacts.org/data"),
117
+ ("Open Beauty Facts", "Cosmetics database", "Food", "https://world.openbeautyfacts.org/data"),
118
+ ("Open Pet Food Facts", "Pet food database", "Food", "https://world.openpetfoodfacts.org/data"),
119
+ ("Nutritionix", "Nutrition data", "Food", "https://developer.nutritionix.com/"),
120
+ ("USDA FoodData", "Food composition", "Food", "https://fdc.nal.usda.gov/api-guide.html"),
121
+ ("Recipe Puppy", "Recipe search", "Food", "http://www.recipepuppy.com/about/api/"),
122
+ ("BigOven", "Recipe API", "Food", "https://api2.bigoven.com/"),
123
+ ("Yummly", "Recipe search", "Food", "https://developer.yummly.com/"),
124
+ ("Tasty", "Recipe videos", "Food", "https://rapidapi.com/apidojo/api/tasty/"),
125
+ ("Food2Fork", "Recipe search", "Food", "https://www.food2fork.com/about/api"),
126
+ ("Zestful", "Ingredient parser", "Food", "https://zestfuldata.com/"),
127
+ ("Chomp", "Food database", "Food", "https://chompthis.com/api/"),
128
+ ("CalorieNinjas", "Nutrition API", "Food", "https://calorieninjas.com/api"),
129
+ ("Open Brewery DB", "Brewery data", "Food", "https://www.openbrewerydb.org/"),
130
+ ("PunkAPI", "Beer recipes", "Food", "https://punkapi.com/"),
131
+ ("Wine.com", "Wine data", "Food", "https://api.wine.com/"),
132
+ ("Vivino", "Wine ratings", "Food", "https://vivino.com/"),
133
+ ("Untappd", "Beer social", "Food", "https://untappd.com/api/"),
134
+ ("Coffee API", "Coffee data", "Food", "https://coffee.alexflipnote.dev/"),
135
+ ]
136
+
137
+ for name, desc, cat, url in food_apis:
138
+ add_api(name, desc, cat, url, "apiKey")
139
+
140
+ # Language & Translation APIs
141
+ language_apis = [
142
+ ("Google Translate", "Translation API", "Language", "https://cloud.google.com/translate/docs"),
143
+ ("DeepL", "Translation API", "Language", "https://www.deepl.com/docs-api"),
144
+ ("Microsoft Translator", "Translation API", "Language", "https://docs.microsoft.com/azure/cognitive-services/translator/"),
145
+ ("Amazon Translate", "Translation API", "Language", "https://docs.aws.amazon.com/translate/"),
146
+ ("LibreTranslate", "Open translation", "Language", "https://libretranslate.com/"),
147
+ ("MyMemory", "Translation memory", "Language", "https://mymemory.translated.net/doc/"),
148
+ ("Yandex Translate", "Translation API", "Language", "https://yandex.com/dev/translate/"),
149
+ ("Papago", "Korean translation", "Language", "https://developers.naver.com/docs/papago/"),
150
+ ("Lingvanex", "Translation API", "Language", "https://lingvanex.com/translationapi/"),
151
+ ("Twinword", "Text analysis", "Language", "https://www.twinword.com/api/"),
152
+ ("Text Razor", "Text analysis", "Language", "https://www.textrazor.com/docs"),
153
+ ("Aylien", "Text analysis", "Language", "https://docs.aylien.com/textapi/"),
154
+ ("MonkeyLearn", "Text analysis", "Language", "https://monkeylearn.com/api/"),
155
+ ("MeaningCloud", "Text analytics", "Language", "https://www.meaningcloud.com/developer/"),
156
+ ("Dandelion", "Text analytics", "Language", "https://dandelion.eu/docs/"),
157
+ ("ParallelDots", "Text AI", "Language", "https://www.paralleldots.com/text-analysis-apis"),
158
+ ("Appen", "Language data", "Language", "https://appen.com/"),
159
+ ("Lexalytics", "Text analytics", "Language", "https://www.lexalytics.com/"),
160
+ ("Rosette", "Text analytics", "Language", "https://developer.rosette.com/"),
161
+ ("Expert.ai", "NLP platform", "Language", "https://developer.expert.ai/"),
162
+ ("Symspell", "Spell checking", "Language", "https://github.com/wolfgarbe/SymSpell"),
163
+ ("Grammarbot", "Grammar checking", "Language", "https://www.grammarbot.io/api"),
164
+ ("LanguageTool", "Grammar checking", "Language", "https://languagetool.org/http-api/"),
165
+ ("Sapling", "AI writing", "Language", "https://sapling.ai/docs"),
166
+ ("Writer", "AI writing", "Language", "https://writer.com/api/"),
167
+ ("ProWritingAid", "Writing assistant", "Language", "https://prowritingaid.com/en/"),
168
+ ("Grammarly", "Writing assistant", "Language", "https://developer.grammarly.com/"),
169
+ ("Hemingway", "Writing clarity", "Language", "https://hemingwayapp.com/"),
170
+ ("Wordnik", "Dictionary API", "Language", "https://developer.wordnik.com/"),
171
+ ("Merriam-Webster", "Dictionary API", "Language", "https://dictionaryapi.com/"),
172
+ ("Oxford Dictionary", "Dictionary API", "Language", "https://developer.oxforddictionaries.com/"),
173
+ ("Words API", "Dictionary API", "Language", "https://www.wordsapi.com/"),
174
+ ("Datamuse", "Word API", "Language", "https://www.datamuse.com/api/"),
175
+ ("Thesaurus API", "Synonyms API", "Language", "https://words.bighugelabs.com/api.php"),
176
+ ("Sentiment140", "Sentiment analysis", "Language", "http://www.sentiment140.com/api"),
177
+ ]
178
+
179
+ for name, desc, cat, url in language_apis:
180
+ add_api(name, desc, cat, url, "apiKey")
181
+
182
+ # Image & Vision APIs
183
+ vision_apis = [
184
+ ("Google Vision", "Image analysis", "Vision", "https://cloud.google.com/vision/docs"),
185
+ ("AWS Rekognition", "Image video analysis", "Vision", "https://docs.aws.amazon.com/rekognition/"),
186
+ ("Azure Computer Vision", "Image analysis", "Vision", "https://docs.microsoft.com/azure/cognitive-services/computer-vision/"),
187
+ ("Clarifai", "Visual AI", "Vision", "https://docs.clarifai.com/"),
188
+ ("Imagga", "Image recognition", "Vision", "https://docs.imagga.com/"),
189
+ ("Sightengine", "Image moderation", "Vision", "https://sightengine.com/docs/"),
190
+ ("Kairos", "Face recognition", "Vision", "https://www.kairos.com/docs/"),
191
+ ("Face++", "Face detection", "Vision", "https://www.faceplusplus.com/"),
192
+ ("Microsoft Face", "Face detection", "Vision", "https://docs.microsoft.com/azure/cognitive-services/face/"),
193
+ ("Amazon Rekognition Face", "Face analysis", "Vision", "https://docs.aws.amazon.com/rekognition/latest/dg/faces.html"),
194
+ ("DeepAI", "AI vision", "Vision", "https://deepai.org/machine-learning-model/"),
195
+ ("Remove.bg", "Background removal", "Vision", "https://www.remove.bg/api"),
196
+ ("Clipping Magic", "Background removal", "Vision", "https://clippingmagic.com/api"),
197
+ ("Photoroom", "Photo editing AI", "Vision", "https://www.photoroom.com/api"),
198
+ ("Picsart", "Photo editing", "Vision", "https://picsart.io/api-documentation"),
199
+ ("Cutout.pro", "Image editing AI", "Vision", "https://www.cutout.pro/api"),
200
+ ("Let's Enhance", "Image upscaling", "Vision", "https://letsenhance.io/api"),
201
+ ("Upscale.media", "Image upscaling", "Vision", "https://www.upscale.media/"),
202
+ ("BigJPG", "Image upscaling", "Vision", "https://bigjpg.com/api"),
203
+ ("Waifu2x", "Image upscaling", "Vision", "https://waifu2x.udp.jp/"),
204
+ ("TinyPNG", "Image compression", "Vision", "https://tinypng.com/developers"),
205
+ ("Kraken.io", "Image optimization", "Vision", "https://kraken.io/docs/"),
206
+ ("Cloudinary", "Media management", "Vision", "https://cloudinary.com/documentation/"),
207
+ ("Imgix", "Image processing", "Vision", "https://docs.imgix.com/apis"),
208
+ ("ImageKit", "Image CDN", "Vision", "https://docs.imagekit.io/"),
209
+ ("Sirv", "Image CDN", "Vision", "https://sirv.com/help/articles/sirv-rest-api/"),
210
+ ("Filestack", "File handling", "Vision", "https://www.filestack.com/docs/"),
211
+ ("Uploadcare", "File uploading", "Vision", "https://uploadcare.com/docs/"),
212
+ ("Transloadit", "File processing", "Vision", "https://transloadit.com/docs/"),
213
+ ("OCR.space", "OCR API", "Vision", "https://ocr.space/ocrapi"),
214
+ ("Google Cloud OCR", "OCR API", "Vision", "https://cloud.google.com/vision/docs/ocr"),
215
+ ("AWS Textract", "Document OCR", "Vision", "https://docs.aws.amazon.com/textract/"),
216
+ ("Azure Form Recognizer", "Document AI", "Vision", "https://docs.microsoft.com/azure/cognitive-services/form-recognizer/"),
217
+ ("Nanonets OCR", "OCR API", "Vision", "https://nanonets.com/ocr-api/"),
218
+ ("ABBYY", "OCR platform", "Vision", "https://www.abbyy.com/"),
219
+ ("PlateRecognizer", "License plate OCR", "Vision", "https://platerecognizer.com/"),
220
+ ("OpenALPR", "License plate recognition", "Vision", "https://www.openalpr.com/"),
221
+ ("QR Code API", "QR code generation", "Vision", "https://goqr.me/api/"),
222
+ ("Barcode Lookup", "Barcode database", "Vision", "https://www.barcodelookup.com/api"),
223
+ ("UPC Database", "Product barcodes", "Vision", "https://upcdatabase.org/api"),
224
+ ]
225
+
226
+ for name, desc, cat, url in vision_apis:
227
+ add_api(name, desc, cat, url, "apiKey")
228
+
229
+ # Audio & Speech APIs
230
+ audio_apis = [
231
+ ("Google Cloud Speech", "Speech to text", "Audio", "https://cloud.google.com/speech-to-text/docs"),
232
+ ("AWS Transcribe", "Speech to text", "Audio", "https://docs.aws.amazon.com/transcribe/"),
233
+ ("Azure Speech", "Speech services", "Audio", "https://docs.microsoft.com/azure/cognitive-services/speech-service/"),
234
+ ("AssemblyAI", "Speech to text", "Audio", "https://www.assemblyai.com/docs/"),
235
+ ("Deepgram", "Speech recognition", "Audio", "https://developers.deepgram.com/"),
236
+ ("Rev AI", "Speech to text", "Audio", "https://www.rev.ai/docs"),
237
+ ("Speechmatics", "Speech recognition", "Audio", "https://www.speechmatics.com/"),
238
+ ("Vosk", "Speech recognition", "Audio", "https://alphacephei.com/vosk/"),
239
+ ("Whisper API", "Speech to text", "Audio", "https://platform.openai.com/docs/guides/speech-to-text"),
240
+ ("ElevenLabs", "Voice synthesis", "Audio", "https://elevenlabs.io/docs/api-reference"),
241
+ ("Play.ht", "Voice synthesis", "Audio", "https://docs.play.ht/"),
242
+ ("Resemble AI", "Voice cloning", "Audio", "https://www.resemble.ai/docs/"),
243
+ ("Coqui", "Voice synthesis", "Audio", "https://coqui.ai/"),
244
+ ("Murf", "AI voice over", "Audio", "https://murf.ai/resources/api"),
245
+ ("WellSaid Labs", "Voice synthesis", "Audio", "https://wellsaidlabs.com/"),
246
+ ("Replica Studios", "AI voices", "Audio", "https://replicastudios.com/"),
247
+ ("Speechify", "Text to speech", "Audio", "https://speechify.com/api"),
248
+ ("Amazon Polly", "Text to speech", "Audio", "https://docs.aws.amazon.com/polly/"),
249
+ ("Google Cloud TTS", "Text to speech", "Audio", "https://cloud.google.com/text-to-speech/docs"),
250
+ ("Azure TTS", "Text to speech", "Audio", "https://docs.microsoft.com/azure/cognitive-services/speech-service/text-to-speech"),
251
+ ("iSpeech", "Speech API", "Audio", "https://www.ispeech.org/developers"),
252
+ ("ReadSpeaker", "Text to speech", "Audio", "https://www.readspeaker.com/"),
253
+ ("VoiceRSS", "Text to speech", "Audio", "https://www.voicerss.org/api/"),
254
+ ("Suno AI", "Music generation", "Audio", "https://suno.ai/"),
255
+ ("Udio", "Music generation", "Audio", "https://udio.com/"),
256
+ ("Mubert", "AI music", "Audio", "https://mubert.com/api"),
257
+ ("AIVA", "AI composition", "Audio", "https://www.aiva.ai/"),
258
+ ("Amper Music", "AI music", "Audio", "https://www.shutterstock.com/music"),
259
+ ("Soundraw", "AI music", "Audio", "https://soundraw.io/"),
260
+ ("Beatoven", "AI music", "Audio", "https://www.beatoven.ai/"),
261
+ ("Boomy", "AI music", "Audio", "https://boomy.com/"),
262
+ ("Loudly", "AI music", "Audio", "https://www.loudly.com/"),
263
+ ("AudioShake", "Stem separation", "Audio", "https://www.audioshake.ai/"),
264
+ ("Lalal.ai", "Stem separation", "Audio", "https://www.lalal.ai/"),
265
+ ("Splitter", "Stem separation", "Audio", "https://splitter.ai/"),
266
+ ("Descript", "Audio editing", "Audio", "https://www.descript.com/"),
267
+ ("Adobe Podcast", "Audio editing", "Audio", "https://podcast.adobe.com/"),
268
+ ("Cleanvoice", "Audio cleaning", "Audio", "https://cleanvoice.ai/"),
269
+ ("Auphonic", "Audio processing", "Audio", "https://auphonic.com/api"),
270
+ ("Dolby.io", "Media APIs", "Audio", "https://docs.dolby.io/"),
271
+ ]
272
+
273
+ for name, desc, cat, url in audio_apis:
274
+ add_api(name, desc, cat, url, "apiKey")
275
+
276
+ # Document & PDF APIs
277
+ document_apis = [
278
+ ("DocuSign", "E-signatures", "Documents", "https://developers.docusign.com/"),
279
+ ("HelloSign", "E-signatures", "Documents", "https://developers.hellosign.com/"),
280
+ ("SignNow", "E-signatures", "Documents", "https://signnow.com/api"),
281
+ ("PandaDoc", "Document workflow", "Documents", "https://developers.pandadoc.com/"),
282
+ ("Proposify", "Proposals", "Documents", "https://developers.proposify.com/"),
283
+ ("Qwilr", "Proposals", "Documents", "https://qwilr.com/"),
284
+ ("Better Proposals", "Proposals", "Documents", "https://betterproposals.io/"),
285
+ ("PDF.co", "PDF processing", "Documents", "https://pdf.co/documentation/api"),
286
+ ("PDFShift", "HTML to PDF", "Documents", "https://pdfshift.io/documentation"),
287
+ ("CloudConvert", "File conversion", "Documents", "https://cloudconvert.com/api/"),
288
+ ("Zamzar", "File conversion", "Documents", "https://developers.zamzar.com/"),
289
+ ("ConvertAPI", "File conversion", "Documents", "https://www.convertapi.com/doc"),
290
+ ("DocParser", "Document parsing", "Documents", "https://docparser.com/"),
291
+ ("Parseur", "Email parsing", "Documents", "https://parseur.com/"),
292
+ ("Mailparser", "Email parsing", "Documents", "https://mailparser.io/"),
293
+ ("Docsumo", "Document AI", "Documents", "https://www.docsumo.com/"),
294
+ ("Veryfi", "Receipt OCR", "Documents", "https://www.veryfi.com/"),
295
+ ("Rossum", "Document AI", "Documents", "https://rossum.ai/"),
296
+ ("Base64.ai", "Document AI", "Documents", "https://base64.ai/"),
297
+ ("Hypatos", "Document AI", "Documents", "https://hypatos.ai/"),
298
+ ("Instabase", "Document AI", "Documents", "https://www.instabase.com/"),
299
+ ("Docugami", "Document AI", "Documents", "https://docugami.com/"),
300
+ ("LlamaParse", "Document parsing", "Documents", "https://docs.llamaindex.ai/"),
301
+ ("Unstructured", "Document parsing", "Documents", "https://unstructured.io/"),
302
+ ("Textract", "Document analysis", "Documents", "https://docs.aws.amazon.com/textract/"),
303
+ ("Form Recognizer", "Document AI", "Documents", "https://docs.microsoft.com/azure/cognitive-services/form-recognizer/"),
304
+ ("Document AI", "Google document AI", "Documents", "https://cloud.google.com/document-ai/docs"),
305
+ ("Mindee", "Document parsing", "Documents", "https://developers.mindee.com/"),
306
+ ("Typless", "Document extraction", "Documents", "https://docs.typless.com/"),
307
+ ("Affinda", "Document AI", "Documents", "https://docs.affinda.com/"),
308
+ ]
309
+
310
+ for name, desc, cat, url in document_apis:
311
+ add_api(name, desc, cat, url, "apiKey")
312
+
313
+ # Compliance & Legal APIs
314
+ legal_apis = [
315
+ ("LexisNexis", "Legal research", "Legal", "https://developer.lexisnexis.com/"),
316
+ ("Thomson Reuters", "Legal data", "Legal", "https://developers.thomsonreuters.com/"),
317
+ ("Casetext", "Legal research", "Legal", "https://casetext.com/"),
318
+ ("Westlaw", "Legal research", "Legal", "https://www.westlaw.com/"),
319
+ ("Fastcase", "Legal research", "Legal", "https://www.fastcase.com/"),
320
+ ("Ravel Law", "Legal analytics", "Legal", "https://www.ravellaw.com/"),
321
+ ("Clio", "Legal practice", "Legal", "https://app.clio.com/api/"),
322
+ ("MyCase", "Legal practice", "Legal", "https://www.mycase.com/"),
323
+ ("PracticePanther", "Legal software", "Legal", "https://www.practicepanther.com/"),
324
+ ("Rocket Lawyer", "Legal services", "Legal", "https://www.rocketlawyer.com/"),
325
+ ("LegalZoom", "Legal services", "Legal", "https://www.legalzoom.com/"),
326
+ ("Avvo", "Legal marketplace", "Legal", "https://www.avvo.com/"),
327
+ ("Justia", "Legal information", "Legal", "https://law.justia.com/"),
328
+ ("FindLaw", "Legal resources", "Legal", "https://www.findlaw.com/"),
329
+ ("CourtListener", "Court data", "Legal", "https://www.courtlistener.com/api/"),
330
+ ("Pacer", "Court records", "Legal", "https://pacer.uscourts.gov/"),
331
+ ("OpenCorporates", "Company data", "Legal", "https://api.opencorporates.com/"),
332
+ ("Enigma", "Business data", "Legal", "https://www.enigma.com/"),
333
+ ("Dun & Bradstreet", "Business data", "Legal", "https://www.dnb.com/"),
334
+ ("Experian", "Credit data", "Legal", "https://www.experian.com/"),
335
+ ("Equifax", "Credit data", "Legal", "https://www.equifax.com/"),
336
+ ("TransUnion", "Credit data", "Legal", "https://www.transunion.com/"),
337
+ ("FICO", "Credit scoring", "Legal", "https://www.fico.com/"),
338
+ ("Veriff", "Identity verification", "Legal", "https://developers.veriff.com/"),
339
+ ("Onfido", "Identity verification", "Legal", "https://documentation.onfido.com/"),
340
+ ("Jumio", "Identity verification", "Legal", "https://www.jumio.com/"),
341
+ ("Persona", "Identity verification", "Legal", "https://docs.withpersona.com/"),
342
+ ("Alloy", "Identity verification", "Legal", "https://docs.alloy.co/"),
343
+ ("Socure", "Identity verification", "Legal", "https://developer.socure.com/"),
344
+ ("Trulioo", "Identity verification", "Legal", "https://developer.trulioo.com/"),
345
+ ]
346
+
347
+ for name, desc, cat, url in legal_apis:
348
+ add_api(name, desc, cat, url, "apiKey")
349
+
350
+ # HR & Recruiting APIs
351
+ hr_apis = [
352
+ ("LinkedIn Talent", "Recruiting platform", "HR", "https://developer.linkedin.com/"),
353
+ ("Indeed", "Job search", "HR", "https://opensource.indeedeng.io/api-documentation/"),
354
+ ("ZipRecruiter", "Job marketplace", "HR", "https://www.ziprecruiter.com/"),
355
+ ("Greenhouse", "ATS platform", "HR", "https://developers.greenhouse.io/"),
356
+ ("Lever", "ATS platform", "HR", "https://hire.lever.co/developer/"),
357
+ ("Workday", "HR platform", "HR", "https://www.workday.com/"),
358
+ ("BambooHR", "HR software", "HR", "https://documentation.bamboohr.com/"),
359
+ ("Gusto", "Payroll HR", "HR", "https://docs.gusto.com/"),
360
+ ("Rippling", "HR platform", "HR", "https://developers.rippling.com/"),
361
+ ("Namely", "HR platform", "HR", "https://developers.namely.com/"),
362
+ ("Paylocity", "Payroll HR", "HR", "https://www.paylocity.com/"),
363
+ ("ADP", "Payroll HR", "HR", "https://developers.adp.com/"),
364
+ ("Paychex", "Payroll HR", "HR", "https://developer.paychex.com/"),
365
+ ("Ceridian", "HCM platform", "HR", "https://developers.ceridian.com/"),
366
+ ("UKG", "HR platform", "HR", "https://www.ukg.com/"),
367
+ ("Workable", "Recruiting", "HR", "https://workable.readme.io/"),
368
+ ("JazzHR", "ATS platform", "HR", "https://www.jazzhr.com/"),
369
+ ("Breezy", "Recruiting", "HR", "https://developer.breezy.hr/"),
370
+ ("Recruitee", "ATS platform", "HR", "https://docs.recruitee.com/"),
371
+ ("Ashby", "ATS platform", "HR", "https://developers.ashbyhq.com/"),
372
+ ("Teamtailor", "ATS platform", "HR", "https://docs.teamtailor.com/"),
373
+ ("Personio", "HR software", "HR", "https://developer.personio.de/"),
374
+ ("HiBob", "HR platform", "HR", "https://apidocs.hibob.com/"),
375
+ ("Remote", "Global HR", "HR", "https://remote.com/api"),
376
+ ("Deel", "Global payroll", "HR", "https://developers.deel.com/"),
377
+ ("Oyster", "Global employment", "HR", "https://www.oysterhr.com/"),
378
+ ("Papaya Global", "Global payroll", "HR", "https://www.papayaglobal.com/"),
379
+ ("Velocity Global", "Global employment", "HR", "https://velocityglobal.com/"),
380
+ ("Multiplier", "Global employment", "HR", "https://www.usemultiplier.com/"),
381
+ ("Lattice", "Performance management", "HR", "https://developers.lattice.com/"),
382
+ ]
383
+
384
+ for name, desc, cat, url in hr_apis:
385
+ add_api(name, desc, cat, url, "apiKey")
386
+
387
+ # Logistics & Supply Chain APIs
388
+ logistics_apis = [
389
+ ("ShipStation", "Shipping software", "Logistics", "https://www.shipstation.com/docs/api/"),
390
+ ("Shippo", "Shipping API", "Logistics", "https://goshippo.com/docs/"),
391
+ ("EasyPost", "Shipping API", "Logistics", "https://www.easypost.com/docs/api"),
392
+ ("ShipEngine", "Shipping API", "Logistics", "https://shipengine.github.io/shipengine-openapi/"),
393
+ ("Shipbob", "Fulfillment", "Logistics", "https://developer.shipbob.com/"),
394
+ ("Deliverr", "Fulfillment", "Logistics", "https://www.deliverr.com/"),
395
+ ("ShipHero", "Fulfillment", "Logistics", "https://shiphero.com/"),
396
+ ("Flexport", "Freight", "Logistics", "https://apidocs.flexport.com/"),
397
+ ("Freightos", "Freight", "Logistics", "https://www.freightos.com/"),
398
+ ("Project44", "Visibility", "Logistics", "https://www.project44.com/"),
399
+ ("FourKites", "Visibility", "Logistics", "https://www.fourkites.com/"),
400
+ ("Descartes", "Logistics", "Logistics", "https://www.descartes.com/"),
401
+ ("Blue Yonder", "Supply chain", "Logistics", "https://blueyonder.com/"),
402
+ ("Manhattan Associates", "Supply chain", "Logistics", "https://www.manh.com/"),
403
+ ("Oracle SCM", "Supply chain", "Logistics", "https://www.oracle.com/scm/"),
404
+ ("SAP SCM", "Supply chain", "Logistics", "https://www.sap.com/"),
405
+ ("Coupa", "Procurement", "Logistics", "https://compass.coupa.com/"),
406
+ ("Jaggaer", "Procurement", "Logistics", "https://www.jaggaer.com/"),
407
+ ("Ariba", "Procurement", "Logistics", "https://www.ariba.com/"),
408
+ ("UPS", "Shipping", "Logistics", "https://www.ups.com/upsdeveloperkit/"),
409
+ ("FedEx", "Shipping", "Logistics", "https://www.fedex.com/en-us/developer.html"),
410
+ ("DHL", "Shipping", "Logistics", "https://developer.dhl.com/"),
411
+ ("USPS", "Shipping", "Logistics", "https://www.usps.com/business/web-tools-apis/"),
412
+ ("Royal Mail", "Shipping UK", "Logistics", "https://developer.royalmail.net/"),
413
+ ("Canada Post", "Shipping Canada", "Logistics", "https://www.canadapost-postescanada.ca/cpc/en/support/information-centre/developers.page"),
414
+ ("Australia Post", "Shipping Australia", "Logistics", "https://developers.auspost.com.au/"),
415
+ ("Deutsche Post", "Shipping Germany", "Logistics", "https://developer.dhl.com/"),
416
+ ("La Poste", "Shipping France", "Logistics", "https://developer.laposte.fr/"),
417
+ ("PostNord", "Shipping Nordics", "Logistics", "https://developer.postnord.com/"),
418
+ ("Correos", "Shipping Spain", "Logistics", "https://www.correos.es/"),
419
+ ]
420
+
421
+ for name, desc, cat, url in logistics_apis:
422
+ add_api(name, desc, cat, url, "apiKey")
423
+
424
+ # Gaming & Entertainment APIs
425
+ gaming_apis = [
426
+ ("Steam Web API", "Steam platform", "Gaming", "https://steamcommunity.com/dev"),
427
+ ("PlayStation Network", "PSN platform", "Gaming", "https://www.playstation.com/"),
428
+ ("Xbox Live", "Xbox platform", "Gaming", "https://developer.microsoft.com/games/"),
429
+ ("Nintendo", "Nintendo platform", "Gaming", "https://www.nintendo.com/"),
430
+ ("Epic Games", "Epic platform", "Gaming", "https://dev.epicgames.com/"),
431
+ ("EA Sports", "EA games", "Gaming", "https://www.ea.com/"),
432
+ ("Ubisoft", "Ubisoft games", "Gaming", "https://www.ubisoft.com/"),
433
+ ("Activision", "Activision games", "Gaming", "https://www.activision.com/"),
434
+ ("Riot Games", "League of Legends", "Gaming", "https://developer.riotgames.com/"),
435
+ ("Blizzard", "Blizzard games", "Gaming", "https://develop.battle.net/"),
436
+ ("Supercell", "Mobile games", "Gaming", "https://developer.supercell.com/"),
437
+ ("Niantic", "AR games", "Gaming", "https://nianticlabs.com/"),
438
+ ("Unity", "Game engine", "Gaming", "https://docs.unity3d.com/"),
439
+ ("Unreal Engine", "Game engine", "Gaming", "https://docs.unrealengine.com/"),
440
+ ("Godot", "Game engine", "Gaming", "https://docs.godotengine.org/"),
441
+ ("Roblox", "Gaming platform", "Gaming", "https://create.roblox.com/docs"),
442
+ ("Minecraft", "Minecraft", "Gaming", "https://www.minecraft.net/"),
443
+ ("Fortnite", "Fortnite", "Gaming", "https://www.epicgames.com/fortnite/"),
444
+ ("PUBG", "Battle royale", "Gaming", "https://developer.pubg.com/"),
445
+ ("Apex Legends", "Battle royale", "Gaming", "https://www.ea.com/games/apex-legends"),
446
+ ("Valorant", "Tactical shooter", "Gaming", "https://developer.riotgames.com/"),
447
+ ("Genshin Impact", "Action RPG", "Gaming", "https://genshin.hoyoverse.com/"),
448
+ ("RAWG", "Game database", "Gaming", "https://rawg.io/apidocs"),
449
+ ("IGDB", "Game database", "Gaming", "https://api-docs.igdb.com/"),
450
+ ("Giant Bomb", "Game database", "Gaming", "https://www.giantbomb.com/api/"),
451
+ ("MobyGames", "Game database", "Gaming", "https://www.mobygames.com/info/api/"),
452
+ ("HLTB", "Game completion", "Gaming", "https://howlongtobeat.com/"),
453
+ ("IsThereAnyDeal", "Game deals", "Gaming", "https://isthereanydeal.com/"),
454
+ ("GG.deals", "Game deals", "Gaming", "https://gg.deals/"),
455
+ ("Playfab", "Game backend", "Gaming", "https://docs.microsoft.com/gaming/playfab/"),
456
+ ]
457
+
458
+ for name, desc, cat, url in gaming_apis:
459
+ add_api(name, desc, cat, url, "apiKey")
460
+
461
+ # Science & Research APIs
462
+ science_apis = [
463
+ ("NASA", "Space data", "Science", "https://api.nasa.gov/"),
464
+ ("SpaceX", "Launch data", "Science", "https://github.com/r-spacex/SpaceX-API"),
465
+ ("ESA", "European Space", "Science", "https://www.esa.int/"),
466
+ ("JAXA", "Japan Space", "Science", "https://www.jaxa.jp/"),
467
+ ("Roscosmos", "Russian Space", "Science", "https://www.roscosmos.ru/"),
468
+ ("ISRO", "Indian Space", "Science", "https://www.isro.gov.in/"),
469
+ ("CNSA", "Chinese Space", "Science", "http://www.cnsa.gov.cn/"),
470
+ ("Open Notify", "ISS location", "Science", "http://open-notify.org/Open-Notify-API/"),
471
+ ("N2YO", "Satellite tracking", "Science", "https://www.n2yo.com/api/"),
472
+ ("Space-Track", "Satellite data", "Science", "https://www.space-track.org/"),
473
+ ("NASA Exoplanet", "Exoplanet data", "Science", "https://exoplanetarchive.ipac.caltech.edu/docs/program_interfaces.html"),
474
+ ("NASA APOD", "Astronomy photo", "Science", "https://api.nasa.gov/"),
475
+ ("NASA Mars", "Mars data", "Science", "https://api.nasa.gov/"),
476
+ ("NASA NEO", "Near Earth objects", "Science", "https://api.nasa.gov/"),
477
+ ("Wolfram Alpha", "Computational knowledge", "Science", "https://products.wolframalpha.com/api/"),
478
+ ("PubMed", "Medical literature", "Science", "https://www.ncbi.nlm.nih.gov/home/develop/api/"),
479
+ ("Europe PMC", "Medical literature", "Science", "https://europepmc.org/RestfulWebService"),
480
+ ("Semantic Scholar", "Research papers", "Science", "https://api.semanticscholar.org/"),
481
+ ("OpenAlex", "Research data", "Science", "https://docs.openalex.org/"),
482
+ ("Crossref", "Research metadata", "Science", "https://www.crossref.org/documentation/"),
483
+ ("arXiv", "Scientific papers", "Science", "https://arxiv.org/help/api/"),
484
+ ("bioRxiv", "Preprints", "Science", "https://www.biorxiv.org/"),
485
+ ("medRxiv", "Medical preprints", "Science", "https://www.medrxiv.org/"),
486
+ ("Zenodo", "Research repository", "Science", "https://developers.zenodo.org/"),
487
+ ("Figshare", "Research data", "Science", "https://docs.figshare.com/"),
488
+ ("ORCID", "Researcher IDs", "Science", "https://info.orcid.org/documentation/"),
489
+ ("Dimensions", "Research data", "Science", "https://docs.dimensions.ai/"),
490
+ ("Altmetric", "Research impact", "Science", "https://api.altmetric.com/"),
491
+ ("CERN", "Particle physics", "Science", "http://opendata.cern.ch/"),
492
+ ("NCBI", "Biotechnology", "Science", "https://www.ncbi.nlm.nih.gov/home/develop/api/"),
493
+ ]
494
+
495
+ for name, desc, cat, url in science_apis:
496
+ add_api(name, desc, cat, url, "apiKey")
497
+
498
+ # Miscellaneous Useful APIs
499
+ misc_apis = [
500
+ ("IP-API", "IP geolocation", "Utilities", "https://ip-api.com/docs"),
501
+ ("ipinfo", "IP intelligence", "Utilities", "https://ipinfo.io/developers"),
502
+ ("ipdata", "IP geolocation", "Utilities", "https://docs.ipdata.co/"),
503
+ ("IPGeolocation", "IP location", "Utilities", "https://ipgeolocation.io/documentation"),
504
+ ("MaxMind", "IP intelligence", "Utilities", "https://www.maxmind.com/"),
505
+ ("UserAgent Parser", "UA parsing", "Utilities", "https://useragent.io/"),
506
+ ("What Is My Browser", "Browser detection", "Utilities", "https://www.whatismybrowser.com/developers/"),
507
+ ("Browser Stack", "Testing platform", "Utilities", "https://www.browserstack.com/docs/"),
508
+ ("Sauce Labs", "Testing platform", "Utilities", "https://docs.saucelabs.com/"),
509
+ ("LambdaTest", "Testing platform", "Utilities", "https://www.lambdatest.com/support/docs/"),
510
+ ("Mailosaur", "Email testing", "Utilities", "https://mailosaur.com/docs/api/"),
511
+ ("Mailtrap", "Email testing", "Utilities", "https://mailtrap.io/api/"),
512
+ ("MailSlurp", "Email testing", "Utilities", "https://www.mailslurp.com/docs/"),
513
+ ("TempMail", "Temporary email", "Utilities", "https://temp-mail.org/"),
514
+ ("Guerrilla Mail", "Temp email", "Utilities", "https://www.guerrillamail.com/"),
515
+ ("SMS Receive", "Temp SMS", "Utilities", "https://receive-smss.com/"),
516
+ ("Have I Been Pwned", "Breach check", "Utilities", "https://haveibeenpwned.com/API/v3"),
517
+ ("VirusTotal", "Malware scan", "Utilities", "https://developers.virustotal.com/"),
518
+ ("Shodan", "Device search", "Utilities", "https://developer.shodan.io/"),
519
+ ("Censys", "Internet scan", "Utilities", "https://search.censys.io/api"),
520
+ ("GreyNoise", "Threat intelligence", "Utilities", "https://docs.greynoise.io/"),
521
+ ("AbuseIPDB", "IP reputation", "Utilities", "https://docs.abuseipdb.com/"),
522
+ ("Cloudflare", "CDN security", "Utilities", "https://api.cloudflare.com/"),
523
+ ("Fastly", "Edge cloud", "Utilities", "https://developer.fastly.com/"),
524
+ ("Akamai", "CDN security", "Utilities", "https://techdocs.akamai.com/"),
525
+ ("KeyCDN", "CDN", "Utilities", "https://www.keycdn.com/api"),
526
+ ("BunnyCDN", "CDN", "Utilities", "https://docs.bunny.net/"),
527
+ ("jsDelivr", "CDN", "Utilities", "https://www.jsdelivr.com/"),
528
+ ("CDNJS", "Libraries CDN", "Utilities", "https://cdnjs.com/api"),
529
+ ("Unpkg", "npm CDN", "Utilities", "https://unpkg.com/"),
530
+ ]
531
+
532
+ for name, desc, cat, url in misc_apis:
533
+ add_api(name, desc, cat, url, "apiKey")
534
+
535
+ # Add all new APIs to registry
536
+ registry['apis'].extend(new_apis)
537
+ registry['count'] = len(registry['apis'])
538
+ registry['lastUpdated'] = datetime.utcnow().isoformat()
539
+
540
+ # Save updated registry
541
+ with open('/Users/gustavhemmingsson/Projects/apiclaw/src/registry/apis.json', 'w') as f:
542
+ json.dump(registry, f, indent=2)
543
+
544
+ added = len(new_apis)
545
+ print(f"✅ Added {added} new APIs")
546
+ print(f"📊 Total APIs: {registry['count']}")
547
+ print(f"📈 Growth this session: {initial_count} → {registry['count']} (+{registry['count'] - initial_count})")