@nordsym/apiclaw 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/.env.prod +1 -0
  2. package/AGENTS.md +50 -33
  3. package/README.md +22 -12
  4. package/SOUL.md +60 -19
  5. package/STATUS.md +91 -169
  6. package/convex/_generated/api.d.ts +6 -0
  7. package/convex/directCall.ts +598 -0
  8. package/convex/http.ts +32 -0
  9. package/convex/providers.ts +341 -26
  10. package/convex/schema.ts +87 -0
  11. package/convex/usage.ts +260 -0
  12. package/convex/waitlist.ts +55 -0
  13. package/data/combined-02-25.json +5602 -0
  14. package/data/combined-02-26.json +22102 -0
  15. package/data/night-batch-02-25.json +2732 -0
  16. package/data/night-expansion-02-25.json +2872 -0
  17. package/data/night-expansion-02-26-06-batch2.json +1898 -0
  18. package/data/night-expansion-02-26-06-batch3.json +1410 -0
  19. package/data/night-expansion-02-26-06.json +3146 -0
  20. package/data/night-expansion-02-26-full.json +9726 -0
  21. package/data/night-expansion-02-26-v2.json +330 -0
  22. package/data/night-expansion-02-26.json +171 -0
  23. package/dist/credentials.d.ts.map +1 -1
  24. package/dist/credentials.js +15 -0
  25. package/dist/credentials.js.map +1 -1
  26. package/dist/crypto.d.ts +7 -0
  27. package/dist/crypto.d.ts.map +1 -0
  28. package/dist/crypto.js +67 -0
  29. package/dist/crypto.js.map +1 -0
  30. package/dist/execute-dynamic.d.ts +116 -0
  31. package/dist/execute-dynamic.d.ts.map +1 -0
  32. package/dist/execute-dynamic.js +456 -0
  33. package/dist/execute-dynamic.js.map +1 -0
  34. package/dist/execute.d.ts +2 -1
  35. package/dist/execute.d.ts.map +1 -1
  36. package/dist/execute.js +111 -5
  37. package/dist/execute.js.map +1 -1
  38. package/dist/index.js +35 -4
  39. package/dist/index.js.map +1 -1
  40. package/dist/proxy.d.ts.map +1 -1
  41. package/dist/proxy.js +1 -1
  42. package/dist/proxy.js.map +1 -1
  43. package/dist/registry/apis.json +46554 -174
  44. package/docs/PRD-customer-key-passthrough.md +184 -0
  45. package/landing/public/badges/available-on-apiclaw.svg +14 -0
  46. package/landing/scripts/generate-stats.js +75 -4
  47. package/landing/src/app/admin/page.tsx +1 -1
  48. package/landing/src/app/api/auth/magic-link/route.ts +9 -2
  49. package/landing/src/app/api/auth/session/route.ts +1 -1
  50. package/landing/src/app/api/auth/verify/route.ts +8 -5
  51. package/landing/src/app/api/og/route.tsx +5 -3
  52. package/landing/src/app/docs/page.tsx +23 -22
  53. package/landing/src/app/earn/page.tsx +20 -17
  54. package/landing/src/app/globals.css +16 -15
  55. package/landing/src/app/layout.tsx +2 -2
  56. package/landing/src/app/page.tsx +555 -252
  57. package/landing/src/app/providers/dashboard/[apiId]/actions/[actionId]/edit/page.tsx +600 -0
  58. package/landing/src/app/providers/dashboard/[apiId]/actions/new/page.tsx +583 -0
  59. package/landing/src/app/providers/dashboard/[apiId]/actions/page.tsx +301 -0
  60. package/landing/src/app/providers/dashboard/[apiId]/direct-call/page.tsx +659 -0
  61. package/landing/src/app/providers/dashboard/[apiId]/page.tsx +381 -0
  62. package/landing/src/app/providers/dashboard/[apiId]/test/page.tsx +418 -0
  63. package/landing/src/app/providers/dashboard/layout.tsx +292 -0
  64. package/landing/src/app/providers/dashboard/page.tsx +353 -290
  65. package/landing/src/app/providers/page.tsx +6 -5
  66. package/landing/src/app/providers/register/page.tsx +88 -11
  67. package/landing/src/components/AiClientDropdown.tsx +85 -0
  68. package/landing/src/components/ConfigHelperModal.tsx +113 -0
  69. package/landing/src/components/HeroTabs.tsx +187 -0
  70. package/landing/src/components/ShareIntegrationModal.tsx +198 -0
  71. package/landing/src/hooks/useDashboardData.ts +53 -1
  72. package/landing/src/lib/apis.json +46554 -174
  73. package/landing/src/lib/convex-client.ts +28 -5
  74. package/landing/src/lib/stats.json +4 -4
  75. package/landing/tsconfig.tsbuildinfo +1 -1
  76. package/night-expansion-02-26-06-batch2.py +368 -0
  77. package/night-expansion-02-26-06-batch3.py +299 -0
  78. package/night-expansion-02-26-06.py +756 -0
  79. package/package.json +2 -1
  80. package/scripts/bulk-add-public-apis-v2.py +418 -0
  81. package/scripts/merge-to-registry.py +77 -0
  82. package/scripts/night-batch-02-24.py +391 -0
  83. package/scripts/night-batch-02-25.py +479 -0
  84. package/scripts/night-batch-03-24-b2.py +387 -0
  85. package/scripts/night-batch-03-24-b3.py +284 -0
  86. package/scripts/night-batch-03-24.py +447 -0
  87. package/scripts/night-batch-06-24-b2.py +695 -0
  88. package/scripts/night-batch-06-24-b3.py +696 -0
  89. package/scripts/night-batch-06-24.py +825 -0
  90. package/scripts/night-expansion-02-24-02.py +708 -0
  91. package/scripts/night-expansion-02-25.py +668 -0
  92. package/scripts/night-expansion-02-26-v2.py +296 -0
  93. package/scripts/night-expansion-02-26.py +890 -0
  94. package/scripts/seed-complete-api.js +181 -0
  95. package/scripts/seed-demo-api.sh +44 -0
  96. package/src/credentials.ts +16 -0
  97. package/src/crypto.ts +75 -0
  98. package/src/execute-dynamic.ts +589 -0
  99. package/src/execute.ts +127 -5
  100. package/src/index.ts +40 -4
  101. package/src/proxy.ts +1 -1
  102. package/src/registry/apis.json +46554 -174
@@ -0,0 +1,447 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ APIClaw Night Expansion - 2026-02-24 03:00
4
+ Mål: +1000 APIs
5
+ """
6
+
7
+ import json
8
+ import os
9
+ import subprocess
10
+ from datetime import datetime
11
+
12
+ # APIs parsed from public-apis/public-apis README
13
+ NEW_APIS = [
14
+ # === ANIMALS ===
15
+ {"name": "AdoptAPet", "description": "Resource to help get pets adopted", "category": "Animals", "baseUrl": "https://www.adoptapet.com/public/apis/pet_list.html", "authType": "apiKey"},
16
+ {"name": "Axolotl API", "description": "Collection of axolotl pictures and facts", "category": "Animals", "baseUrl": "https://theaxolotlapi.netlify.app/", "authType": "none"},
17
+ {"name": "Cat Facts", "description": "Daily cat facts", "category": "Animals", "baseUrl": "https://alexwohlbruck.github.io/cat-facts/", "authType": "none"},
18
+ {"name": "Cataas", "description": "Cat as a service - cats pictures and gifs", "category": "Animals", "baseUrl": "https://cataas.com/", "authType": "none"},
19
+ {"name": "The Cat API", "description": "Pictures of cats from Tumblr", "category": "Animals", "baseUrl": "https://docs.thecatapi.com/", "authType": "apiKey"},
20
+ {"name": "Dog Facts", "description": "Random dog facts API", "category": "Animals", "baseUrl": "https://dukengn.github.io/Dog-facts-API/", "authType": "none"},
21
+ {"name": "Dog CEO", "description": "Dog pictures based on Stanford Dogs Dataset", "category": "Animals", "baseUrl": "https://dog.ceo/dog-api/", "authType": "none"},
22
+ {"name": "eBird", "description": "Retrieve birding observations within a region", "category": "Animals", "baseUrl": "https://documenter.getpostman.com/view/664302/S1ENwy59", "authType": "apiKey"},
23
+ {"name": "FishWatch", "description": "Information and pictures about fish species", "category": "Animals", "baseUrl": "https://www.fishwatch.gov/developers", "authType": "none"},
24
+ {"name": "HTTP Cat", "description": "Cat images for every HTTP status", "category": "Animals", "baseUrl": "https://http.cat/", "authType": "none"},
25
+ {"name": "HTTP Dog", "description": "Dog images for every HTTP status", "category": "Animals", "baseUrl": "https://http.dog/", "authType": "none"},
26
+ {"name": "IUCN Red List", "description": "Threatened species database", "category": "Animals", "baseUrl": "http://apiv3.iucnredlist.org/api/v3/docs", "authType": "apiKey"},
27
+ {"name": "MeowFacts", "description": "Random cat facts", "category": "Animals", "baseUrl": "https://github.com/wh-iterabb-it/meowfacts", "authType": "none"},
28
+ {"name": "Movebank", "description": "Movement and migration data of animals", "category": "Animals", "baseUrl": "https://github.com/movebank/movebank-api-doc", "authType": "none"},
29
+ {"name": "Petfinder", "description": "Find pets for adoption", "category": "Animals", "baseUrl": "https://www.petfinder.com/developers/", "authType": "apiKey"},
30
+ {"name": "PlaceBear", "description": "Placeholder bear pictures", "category": "Animals", "baseUrl": "https://placebear.com/", "authType": "none"},
31
+ {"name": "PlaceDog", "description": "Placeholder dog pictures", "category": "Animals", "baseUrl": "https://place.dog", "authType": "none"},
32
+ {"name": "PlaceKitten", "description": "Placeholder kitten pictures", "category": "Animals", "baseUrl": "https://placekitten.com/", "authType": "none"},
33
+ {"name": "RandomDog", "description": "Random pictures of dogs", "category": "Animals", "baseUrl": "https://random.dog/", "authType": "none"},
34
+ {"name": "RandomDuck", "description": "Random pictures of ducks", "category": "Animals", "baseUrl": "https://random-d.uk/api", "authType": "none"},
35
+ {"name": "RandomFox", "description": "Random pictures of foxes", "category": "Animals", "baseUrl": "https://randomfox.ca/", "authType": "none"},
36
+ {"name": "RescueGroups", "description": "Pet adoption API", "category": "Animals", "baseUrl": "https://userguide.rescuegroups.org/display/APIDG/API+Developers+Guide+Home", "authType": "none"},
37
+ {"name": "Shibe.Online", "description": "Random Shiba Inu, cats or birds pictures", "category": "Animals", "baseUrl": "http://shibe.online/", "authType": "none"},
38
+ {"name": "The Dog API", "description": "Public service about dogs", "category": "Animals", "baseUrl": "https://thedogapi.com/", "authType": "apiKey"},
39
+ {"name": "xeno-canto", "description": "Bird recordings database", "category": "Animals", "baseUrl": "https://xeno-canto.org/explore/api", "authType": "none"},
40
+ {"name": "Zoo Animals", "description": "Facts and pictures of zoo animals", "category": "Animals", "baseUrl": "https://zoo-animal-api.herokuapp.com/", "authType": "none"},
41
+
42
+ # === ANIME ===
43
+ {"name": "AniAPI", "description": "Anime discovery, streaming & tracking", "category": "Anime", "baseUrl": "https://aniapi.com/docs/", "authType": "oauth"},
44
+ {"name": "AniDB", "description": "Anime database", "category": "Anime", "baseUrl": "https://wiki.anidb.net/HTTP_API_Definition", "authType": "apiKey"},
45
+ {"name": "AniList", "description": "Anime discovery & tracking GraphQL", "category": "Anime", "baseUrl": "https://github.com/AniList/ApiV2-GraphQL-Docs", "authType": "oauth"},
46
+ {"name": "AnimeChan", "description": "Anime quotes over 10k+", "category": "Anime", "baseUrl": "https://github.com/RocktimSaikia/anime-chan", "authType": "none"},
47
+ {"name": "AnimeFacts", "description": "Anime facts over 100+", "category": "Anime", "baseUrl": "https://chandan-02.github.io/anime-facts-rest-api/", "authType": "none"},
48
+ {"name": "AnimeNewsNetwork", "description": "Anime industry news", "category": "Anime", "baseUrl": "https://www.animenewsnetwork.com/encyclopedia/api.php", "authType": "none"},
49
+ {"name": "Catboy", "description": "Neko images and funny GIFs", "category": "Anime", "baseUrl": "https://catboys.com/api", "authType": "none"},
50
+ {"name": "Danbooru", "description": "Anime artist database", "category": "Anime", "baseUrl": "https://danbooru.donmai.us/wiki_pages/help:api", "authType": "apiKey"},
51
+ {"name": "Jikan", "description": "Unofficial MyAnimeList API", "category": "Anime", "baseUrl": "https://jikan.moe", "authType": "none"},
52
+ {"name": "Kitsu", "description": "Anime discovery platform", "category": "Anime", "baseUrl": "https://kitsu.docs.apiary.io/", "authType": "oauth"},
53
+ {"name": "MangaDex", "description": "Manga database and community", "category": "Anime", "baseUrl": "https://api.mangadex.org/docs.html", "authType": "apiKey"},
54
+ {"name": "MyAnimeList", "description": "Anime and manga database", "category": "Anime", "baseUrl": "https://myanimelist.net/apiconfig/references/api/v2", "authType": "oauth"},
55
+ {"name": "NekosBest", "description": "Neko images & anime GIFs", "category": "Anime", "baseUrl": "https://docs.nekos.best", "authType": "none"},
56
+ {"name": "Shikimori", "description": "Anime discovery and tracking", "category": "Anime", "baseUrl": "https://shikimori.one/api/doc", "authType": "oauth"},
57
+ {"name": "Studio Ghibli API", "description": "Resources from Studio Ghibli films", "category": "Anime", "baseUrl": "https://ghibliapi.vercel.app/", "authType": "none"},
58
+ {"name": "Trace.moe", "description": "Find anime scene from screenshot", "category": "Anime", "baseUrl": "https://soruly.github.io/trace.moe-api/", "authType": "none"},
59
+ {"name": "Waifu.im", "description": "Waifu pictures archive", "category": "Anime", "baseUrl": "https://waifu.im/docs", "authType": "none"},
60
+ {"name": "Waifu.pics", "description": "Anime image sharing platform", "category": "Anime", "baseUrl": "https://waifu.pics/docs", "authType": "none"},
61
+
62
+ # === ANTI-MALWARE / SECURITY ===
63
+ {"name": "AbuseIPDB", "description": "IP/domain/URL reputation", "category": "Security", "baseUrl": "https://docs.abuseipdb.com/", "authType": "apiKey"},
64
+ {"name": "AlienVault OTX", "description": "Open Threat Exchange API", "category": "Security", "baseUrl": "https://otx.alienvault.com/api", "authType": "apiKey"},
65
+ {"name": "CAPEsandbox", "description": "Malware execution and analysis", "category": "Security", "baseUrl": "https://capev2.readthedocs.io/en/latest/usage/api.html", "authType": "apiKey"},
66
+ {"name": "Google Safe Browsing", "description": "Link/domain flagging service", "category": "Security", "baseUrl": "https://developers.google.com/safe-browsing/", "authType": "apiKey"},
67
+ {"name": "MalDatabase", "description": "Malware datasets and threat intelligence", "category": "Security", "baseUrl": "https://maldatabase.com/api-doc.html", "authType": "apiKey"},
68
+ {"name": "MalShare", "description": "Malware archive and file sourcing", "category": "Security", "baseUrl": "https://malshare.com/doc.php", "authType": "apiKey"},
69
+ {"name": "MalwareBazaar", "description": "Collect and share malware samples", "category": "Security", "baseUrl": "https://bazaar.abuse.ch/api/", "authType": "apiKey"},
70
+ {"name": "Metacert", "description": "Link flagging service", "category": "Security", "baseUrl": "https://metacert.com/", "authType": "apiKey"},
71
+ {"name": "NoPhishy", "description": "Check links for phishing attempts", "category": "Security", "baseUrl": "https://rapidapi.com/Amiichu/api/exerra-phishing-check/", "authType": "apiKey"},
72
+ {"name": "Phisherman", "description": "IP/domain/URL reputation", "category": "Security", "baseUrl": "https://phisherman.gg/", "authType": "apiKey"},
73
+ {"name": "Scanii", "description": "Scan documents for threats", "category": "Security", "baseUrl": "https://docs.scanii.com/", "authType": "apiKey"},
74
+ {"name": "URLhaus", "description": "Malware URL database", "category": "Security", "baseUrl": "https://urlhaus-api.abuse.ch/", "authType": "none"},
75
+ {"name": "URLScan.io", "description": "Scan and analyse URLs", "category": "Security", "baseUrl": "https://urlscan.io/about-api/", "authType": "apiKey"},
76
+ {"name": "VirusTotal", "description": "File/URL analysis", "category": "Security", "baseUrl": "https://www.virustotal.com/en/documentation/public-api/", "authType": "apiKey"},
77
+ {"name": "Web of Trust", "description": "Website reputation API", "category": "Security", "baseUrl": "https://support.mywot.com/hc/en-us/sections/360004477734-API-", "authType": "apiKey"},
78
+
79
+ # === ART & DESIGN ===
80
+ {"name": "Améthyste", "description": "Generate images for Discord users", "category": "Art & Design", "baseUrl": "https://api.amethyste.moe/", "authType": "apiKey"},
81
+ {"name": "Art Institute of Chicago", "description": "Art collection API", "category": "Art & Design", "baseUrl": "https://api.artic.edu/docs/", "authType": "none"},
82
+ {"name": "Colormind", "description": "Color scheme generator", "category": "Art & Design", "baseUrl": "http://colormind.io/api-access/", "authType": "none"},
83
+ {"name": "ColourLovers", "description": "Patterns, palettes and images", "category": "Art & Design", "baseUrl": "http://www.colourlovers.com/api", "authType": "none"},
84
+ {"name": "Cooper Hewitt", "description": "Smithsonian Design Museum", "category": "Art & Design", "baseUrl": "https://collection.cooperhewitt.org/api", "authType": "apiKey"},
85
+ {"name": "Dribbble API", "description": "Top designers & creatives", "category": "Art & Design", "baseUrl": "https://developer.dribbble.com", "authType": "oauth"},
86
+ {"name": "EmojiHub", "description": "Get emojis by categories", "category": "Art & Design", "baseUrl": "https://github.com/cheatsnake/emojihub", "authType": "none"},
87
+ {"name": "Europeana", "description": "European museum content", "category": "Art & Design", "baseUrl": "https://pro.europeana.eu/resources/apis/search", "authType": "apiKey"},
88
+ {"name": "Harvard Art Museums", "description": "Art collection API", "category": "Art & Design", "baseUrl": "https://github.com/harvardartmuseums/api-docs", "authType": "apiKey"},
89
+ {"name": "Icon Horse", "description": "Favicon for any website", "category": "Art & Design", "baseUrl": "https://icon.horse", "authType": "none"},
90
+ {"name": "Iconfinder", "description": "Icon search API", "category": "Art & Design", "baseUrl": "https://developer.iconfinder.com", "authType": "apiKey"},
91
+ {"name": "Icons8", "description": "Icon search and download", "category": "Art & Design", "baseUrl": "https://img.icons8.com/", "authType": "none"},
92
+ {"name": "Lordicon", "description": "Animated icons", "category": "Art & Design", "baseUrl": "https://lordicon.com/", "authType": "none"},
93
+ {"name": "Metropolitan Museum", "description": "Met Museum art collection", "category": "Art & Design", "baseUrl": "https://metmuseum.github.io/", "authType": "none"},
94
+ {"name": "Noun Project", "description": "Icons API", "category": "Art & Design", "baseUrl": "http://api.thenounproject.com/index.html", "authType": "oauth"},
95
+ {"name": "PHP-Noise", "description": "Noise background image generator", "category": "Art & Design", "baseUrl": "https://php-noise.com/", "authType": "none"},
96
+ {"name": "Pixel Encounter", "description": "SVG icon generator", "category": "Art & Design", "baseUrl": "https://pixelencounter.com/api", "authType": "none"},
97
+ {"name": "Rijksmuseum", "description": "Dutch art museum data", "category": "Art & Design", "baseUrl": "https://data.rijksmuseum.nl/object-metadata/api/", "authType": "apiKey"},
98
+ {"name": "Word Cloud API", "description": "Create word clouds", "category": "Art & Design", "baseUrl": "https://wordcloudapi.com/", "authType": "apiKey"},
99
+ {"name": "xColors", "description": "Generate & convert colors", "category": "Art & Design", "baseUrl": "https://x-colors.herokuapp.com/", "authType": "none"},
100
+
101
+ # === AUTHENTICATION ===
102
+ {"name": "Auth0 API", "description": "Authentication platform", "category": "Authentication", "baseUrl": "https://auth0.com/docs/api", "authType": "apiKey"},
103
+ {"name": "GetOTP", "description": "OTP flow implementation", "category": "Authentication", "baseUrl": "https://otp.dev/en/docs/", "authType": "apiKey"},
104
+ {"name": "Micro User Service", "description": "User management and auth", "category": "Authentication", "baseUrl": "https://m3o.com/user", "authType": "apiKey"},
105
+ {"name": "MojoAuth", "description": "Passwordless authentication", "category": "Authentication", "baseUrl": "https://mojoauth.com", "authType": "apiKey"},
106
+ {"name": "SAWO Labs", "description": "Passwordless auth integration", "category": "Authentication", "baseUrl": "https://sawolabs.com", "authType": "apiKey"},
107
+ {"name": "Stytch", "description": "User infrastructure for apps", "category": "Authentication", "baseUrl": "https://stytch.com/", "authType": "apiKey"},
108
+ {"name": "Warrant", "description": "Authorization and access control", "category": "Authentication", "baseUrl": "https://warrant.dev/", "authType": "apiKey"},
109
+
110
+ # === BLOCKCHAIN ===
111
+ {"name": "Bitquery", "description": "Onchain GraphQL APIs", "category": "Blockchain", "baseUrl": "https://graphql.bitquery.io/ide", "authType": "apiKey"},
112
+ {"name": "Chainlink", "description": "Hybrid smart contracts", "category": "Blockchain", "baseUrl": "https://chain.link/developer-resources", "authType": "none"},
113
+ {"name": "Chainpoint", "description": "Anchor data to Bitcoin", "category": "Blockchain", "baseUrl": "https://tierion.com/chainpoint/", "authType": "none"},
114
+ {"name": "Covalent", "description": "Multi-blockchain data aggregator", "category": "Blockchain", "baseUrl": "https://www.covalenthq.com/docs/api/", "authType": "apiKey"},
115
+ {"name": "Etherscan", "description": "Ethereum explorer API", "category": "Blockchain", "baseUrl": "https://etherscan.io/apis", "authType": "apiKey"},
116
+ {"name": "Helium", "description": "Helium network API", "category": "Blockchain", "baseUrl": "https://docs.helium.com/api/blockchain/introduction/", "authType": "none"},
117
+ {"name": "NowNodes", "description": "Blockchain-as-a-service", "category": "Blockchain", "baseUrl": "https://nownodes.io/", "authType": "apiKey"},
118
+ {"name": "Steem", "description": "Blockchain blogging platform", "category": "Blockchain", "baseUrl": "https://developers.steem.io/", "authType": "none"},
119
+ {"name": "The Graph", "description": "Indexing protocol for Ethereum", "category": "Blockchain", "baseUrl": "https://thegraph.com", "authType": "apiKey"},
120
+ {"name": "Walltime", "description": "Market info API", "category": "Blockchain", "baseUrl": "https://walltime.info/api.html", "authType": "none"},
121
+ {"name": "Watchdata", "description": "Ethereum blockchain access", "category": "Blockchain", "baseUrl": "https://docs.watchdata.io", "authType": "apiKey"},
122
+
123
+ # === BOOKS ===
124
+ {"name": "A Bíblia Digital", "description": "Bible versions API", "category": "Books", "baseUrl": "https://www.abibliadigital.com.br/en", "authType": "apiKey"},
125
+ {"name": "Bhagavad Gita API", "description": "Bhagavad Gita text translations", "category": "Books", "baseUrl": "https://docs.bhagavadgitaapi.in", "authType": "apiKey"},
126
+ {"name": "Bible-api", "description": "Free Bible API multiple languages", "category": "Books", "baseUrl": "https://bible-api.com/", "authType": "none"},
127
+ {"name": "British National Bibliography", "description": "Books metadata", "category": "Books", "baseUrl": "http://bnb.data.bl.uk/", "authType": "none"},
128
+ {"name": "Crossref", "description": "Books & articles metadata", "category": "Books", "baseUrl": "https://github.com/CrossRef/rest-api-doc", "authType": "none"},
129
+ {"name": "Ganjoor", "description": "Classic Persian poetry", "category": "Books", "baseUrl": "https://api.ganjoor.net", "authType": "oauth"},
130
+ {"name": "Google Books", "description": "Books search and metadata", "category": "Books", "baseUrl": "https://developers.google.com/books/", "authType": "oauth"},
131
+ {"name": "GurbaniNow", "description": "Gurbani RESTful API", "category": "Books", "baseUrl": "https://github.com/GurbaniNow/api", "authType": "none"},
132
+ {"name": "Gutendex", "description": "Project Gutenberg books", "category": "Books", "baseUrl": "https://gutendex.com/", "authType": "none"},
133
+ {"name": "Open Library", "description": "Books database", "category": "Books", "baseUrl": "https://openlibrary.org/developers/api", "authType": "none"},
134
+ {"name": "Penguin Publishing", "description": "Books and covers data", "category": "Books", "baseUrl": "http://www.penguinrandomhouse.biz/webservices/rest/", "authType": "none"},
135
+ {"name": "PoetryDB", "description": "Poetry collection API", "category": "Books", "baseUrl": "https://github.com/thundercomb/poetrydb", "authType": "none"},
136
+ {"name": "Quran API", "description": "Quran data API", "category": "Books", "baseUrl": "https://quran.api-docs.io/", "authType": "none"},
137
+ {"name": "Quran Cloud", "description": "RESTful Quran API", "category": "Books", "baseUrl": "https://alquran.cloud/api", "authType": "none"},
138
+ {"name": "The Bible API", "description": "Bible data and search", "category": "Books", "baseUrl": "https://docs.api.bible", "authType": "apiKey"},
139
+ {"name": "Thirukkural", "description": "Tamil poems and explanation", "category": "Books", "baseUrl": "https://api-thirukkural.web.app/", "authType": "none"},
140
+ {"name": "Wizard World", "description": "Harry Potter universe data", "category": "Books", "baseUrl": "https://wizard-world-api.herokuapp.com/swagger/index.html", "authType": "none"},
141
+ {"name": "Wolne Lektury", "description": "Polish e-books API", "category": "Books", "baseUrl": "https://wolnelektury.pl/api/", "authType": "none"},
142
+
143
+ # === BUSINESS ===
144
+ {"name": "Apache Superset", "description": "BI dashboards API", "category": "Business", "baseUrl": "https://superset.apache.org/docs/api", "authType": "apiKey"},
145
+ {"name": "Charity Search", "description": "Non-profit charity data", "category": "Business", "baseUrl": "http://charityapi.orghunter.com/", "authType": "apiKey"},
146
+ {"name": "Clearbit Logo", "description": "Company logo search", "category": "Business", "baseUrl": "https://clearbit.com/docs#logo-api", "authType": "apiKey"},
147
+ {"name": "Domainsdb", "description": "Registered domain search", "category": "Business", "baseUrl": "https://domainsdb.info/", "authType": "none"},
148
+ {"name": "Freelancer API", "description": "Hire freelancers platform", "category": "Business", "baseUrl": "https://developers.freelancer.com", "authType": "oauth"},
149
+ {"name": "Gmail API", "description": "Access Gmail inbox", "category": "Business", "baseUrl": "https://developers.google.com/gmail/api/", "authType": "oauth"},
150
+ {"name": "Google Analytics", "description": "Analytics reporting API", "category": "Business", "baseUrl": "https://developers.google.com/analytics/", "authType": "oauth"},
151
+ {"name": "Instatus", "description": "Status page API", "category": "Business", "baseUrl": "https://instatus.com/help/api", "authType": "apiKey"},
152
+ {"name": "Mailchimp", "description": "Marketing email API", "category": "Business", "baseUrl": "https://mailchimp.com/developer/", "authType": "apiKey"},
153
+ {"name": "Mailjet", "description": "Email sending API", "category": "Business", "baseUrl": "https://www.mailjet.com/", "authType": "apiKey"},
154
+ {"name": "markerapi", "description": "Trademark search", "category": "Business", "baseUrl": "https://markerapi.com", "authType": "none"},
155
+ {"name": "ORB Intelligence", "description": "Company lookup API", "category": "Business", "baseUrl": "https://api.orb-intelligence.com/docs/", "authType": "apiKey"},
156
+ {"name": "Redash", "description": "Queries and dashboards API", "category": "Business", "baseUrl": "https://redash.io/help/user-guide/integrations-and-api/api", "authType": "apiKey"},
157
+ {"name": "Smartsheet", "description": "Project management API", "category": "Business", "baseUrl": "https://smartsheet.redoc.ly/", "authType": "oauth"},
158
+ {"name": "Square", "description": "Payment and commerce API", "category": "Business", "baseUrl": "https://developer.squareup.com/reference/square", "authType": "oauth"},
159
+ {"name": "SwiftKanban", "description": "Kanban software API", "category": "Business", "baseUrl": "https://www.digite.com/knowledge-base/swiftkanban/article/api-for-swift-kanban-web-services/", "authType": "apiKey"},
160
+ {"name": "Tomba", "description": "Email finder for B2B", "category": "Business", "baseUrl": "https://tomba.io/api", "authType": "apiKey"},
161
+ {"name": "Trello API", "description": "Project boards API", "category": "Business", "baseUrl": "https://developers.trello.com/", "authType": "oauth"},
162
+
163
+ # === CALENDAR ===
164
+ {"name": "Abstract Holidays", "description": "Public holidays API", "category": "Calendar", "baseUrl": "https://www.abstractapi.com/holidays-api", "authType": "apiKey"},
165
+ {"name": "Calendarific", "description": "Worldwide holidays", "category": "Calendar", "baseUrl": "https://calendarific.com/", "authType": "apiKey"},
166
+ {"name": "Checkiday", "description": "Holiday API over 5000 holidays", "category": "Calendar", "baseUrl": "https://apilayer.com/marketplace/checkiday-api", "authType": "apiKey"},
167
+ {"name": "Church Calendar", "description": "Catholic liturgical calendar", "category": "Calendar", "baseUrl": "http://calapi.inadiutorium.cz/", "authType": "none"},
168
+ {"name": "Festivo", "description": "Public holidays and observances", "category": "Calendar", "baseUrl": "https://docs.getfestivo.com/docs/products/public-holidays-api/intro", "authType": "apiKey"},
169
+ {"name": "Google Calendar API", "description": "Calendar events management", "category": "Calendar", "baseUrl": "https://developers.google.com/google-apps/calendar/", "authType": "oauth"},
170
+ {"name": "Hebrew Calendar", "description": "Gregorian to Hebrew conversion", "category": "Calendar", "baseUrl": "https://www.hebcal.com/home/developer-apis", "authType": "none"},
171
+ {"name": "Holiday API", "description": "Historical holidays data", "category": "Calendar", "baseUrl": "https://holidayapi.com/", "authType": "apiKey"},
172
+ {"name": "Nager.Date", "description": "Public holidays 90+ countries", "category": "Calendar", "baseUrl": "https://date.nager.at", "authType": "none"},
173
+ {"name": "Namedays Calendar", "description": "Namedays for countries", "category": "Calendar", "baseUrl": "https://nameday.abalin.net", "authType": "none"},
174
+ {"name": "UK Bank Holidays", "description": "UK bank holidays JSON", "category": "Calendar", "baseUrl": "https://www.gov.uk/bank-holidays.json", "authType": "none"},
175
+
176
+ # === CLOUD STORAGE ===
177
+ {"name": "AnonFiles", "description": "Anonymous file upload", "category": "Cloud Storage", "baseUrl": "https://anonfiles.com/docs/api", "authType": "none"},
178
+ {"name": "BayFiles", "description": "File upload and share", "category": "Cloud Storage", "baseUrl": "https://bayfiles.com/docs/api", "authType": "none"},
179
+ {"name": "Box", "description": "File sharing and storage", "category": "Cloud Storage", "baseUrl": "https://developer.box.com/", "authType": "oauth"},
180
+ {"name": "Dropbox API", "description": "File sharing and storage", "category": "Cloud Storage", "baseUrl": "https://www.dropbox.com/developers", "authType": "oauth"},
181
+ {"name": "File.io", "description": "Simple file sharing", "category": "Cloud Storage", "baseUrl": "https://www.file.io", "authType": "none"},
182
+ {"name": "Filestack", "description": "File upload API", "category": "Cloud Storage", "baseUrl": "https://www.filestack.com", "authType": "apiKey"},
183
+ {"name": "GoFile", "description": "Unlimited file uploads", "category": "Cloud Storage", "baseUrl": "https://gofile.io/api", "authType": "apiKey"},
184
+ {"name": "Google Drive API", "description": "Cloud file storage", "category": "Cloud Storage", "baseUrl": "https://developers.google.com/drive/", "authType": "oauth"},
185
+ {"name": "Gyazo", "description": "Screenshot sharing", "category": "Cloud Storage", "baseUrl": "https://gyazo.com/api/docs", "authType": "apiKey"},
186
+ {"name": "Imgbb", "description": "Image hosting API", "category": "Cloud Storage", "baseUrl": "https://api.imgbb.com/", "authType": "apiKey"},
187
+ {"name": "OneDrive API", "description": "Microsoft cloud storage", "category": "Cloud Storage", "baseUrl": "https://developer.microsoft.com/onedrive", "authType": "oauth"},
188
+ {"name": "Pantry", "description": "Free JSON storage", "category": "Cloud Storage", "baseUrl": "https://getpantry.cloud/", "authType": "none"},
189
+ {"name": "Pastebin", "description": "Plain text storage", "category": "Cloud Storage", "baseUrl": "https://pastebin.com/doc_api", "authType": "apiKey"},
190
+ {"name": "Pinata", "description": "IPFS pinning services", "category": "Cloud Storage", "baseUrl": "https://docs.pinata.cloud/", "authType": "apiKey"},
191
+ {"name": "Storj", "description": "Decentralized cloud storage", "category": "Cloud Storage", "baseUrl": "https://docs.storj.io/dcs/", "authType": "apiKey"},
192
+ {"name": "Web3.Storage", "description": "IPFS file storage 1TB free", "category": "Cloud Storage", "baseUrl": "https://web3.storage/", "authType": "apiKey"},
193
+
194
+ # === CI/CD ===
195
+ {"name": "Azure DevOps Health", "description": "Resource health diagnostics", "category": "CI/CD", "baseUrl": "https://docs.microsoft.com/en-us/rest/api/resourcehealth", "authType": "apiKey"},
196
+ {"name": "Bitrise", "description": "Mobile CI/CD platform", "category": "CI/CD", "baseUrl": "https://api-docs.bitrise.io/", "authType": "apiKey"},
197
+ {"name": "Buddy", "description": "CI/CD platform", "category": "CI/CD", "baseUrl": "https://buddy.works/docs/api/getting-started/overview", "authType": "oauth"},
198
+ {"name": "CircleCI", "description": "Continuous integration", "category": "CI/CD", "baseUrl": "https://circleci.com/docs/api/v1-reference/", "authType": "apiKey"},
199
+ {"name": "Codeship", "description": "Cloud-based CI platform", "category": "CI/CD", "baseUrl": "https://docs.cloudbees.com/docs/cloudbees-codeship/latest/api-overview/", "authType": "apiKey"},
200
+ {"name": "Travis CI", "description": "Continuous integration", "category": "CI/CD", "baseUrl": "https://docs.travis-ci.com/api/", "authType": "apiKey"},
201
+
202
+ # === CRYPTOCURRENCY ===
203
+ {"name": "0x Protocol", "description": "DEX liquidity API", "category": "Cryptocurrency", "baseUrl": "https://0x.org/api", "authType": "none"},
204
+ {"name": "1inch", "description": "DEX aggregator API", "category": "Cryptocurrency", "baseUrl": "https://1inch.io/api/", "authType": "none"},
205
+ {"name": "Alchemy Ethereum", "description": "Ethereum Node-as-a-Service", "category": "Cryptocurrency", "baseUrl": "https://docs.alchemy.com/alchemy/", "authType": "apiKey"},
206
+ {"name": "Coinlayer", "description": "Crypto exchange rates", "category": "Cryptocurrency", "baseUrl": "https://coinlayer.com", "authType": "apiKey"},
207
+ {"name": "Binance", "description": "Crypto exchange API", "category": "Cryptocurrency", "baseUrl": "https://github.com/binance/binance-spot-api-docs", "authType": "apiKey"},
208
+ {"name": "Bitcambio", "description": "Brazilian crypto exchange", "category": "Cryptocurrency", "baseUrl": "https://nova.bitcambio.com.br/api/v3/docs", "authType": "none"},
209
+ {"name": "BitcoinAverage", "description": "Digital asset price data", "category": "Cryptocurrency", "baseUrl": "https://apiv2.bitcoinaverage.com/", "authType": "apiKey"},
210
+ {"name": "BitcoinCharts", "description": "Bitcoin network data", "category": "Cryptocurrency", "baseUrl": "https://bitcoincharts.com/about/exchanges/", "authType": "none"},
211
+ {"name": "Bitfinex", "description": "Crypto trading platform", "category": "Cryptocurrency", "baseUrl": "https://docs.bitfinex.com/docs", "authType": "apiKey"},
212
+ {"name": "Bitmex", "description": "Crypto derivatives trading", "category": "Cryptocurrency", "baseUrl": "https://www.bitmex.com/app/apiOverview", "authType": "apiKey"},
213
+ {"name": "Bittrex", "description": "Crypto trading platform", "category": "Cryptocurrency", "baseUrl": "https://bittrex.github.io/api/v3", "authType": "apiKey"},
214
+ {"name": "Block.io", "description": "Bitcoin wallet API", "category": "Cryptocurrency", "baseUrl": "https://block.io/docs/basic", "authType": "apiKey"},
215
+ {"name": "Blockchain.com", "description": "Bitcoin payment and wallet", "category": "Cryptocurrency", "baseUrl": "https://www.blockchain.com/api", "authType": "apiKey"},
216
+ {"name": "Blockfrost Cardano", "description": "Cardano blockchain API", "category": "Cryptocurrency", "baseUrl": "https://blockfrost.io/", "authType": "apiKey"},
217
+ {"name": "Brave NewCoin", "description": "Crypto data 200+ exchanges", "category": "Cryptocurrency", "baseUrl": "https://bravenewcoin.com/developers", "authType": "apiKey"},
218
+ {"name": "BtcTurk", "description": "Crypto data and trading", "category": "Cryptocurrency", "baseUrl": "https://docs.btcturk.com/", "authType": "apiKey"},
219
+ {"name": "Bybit", "description": "Crypto data feed", "category": "Cryptocurrency", "baseUrl": "https://bybit-exchange.github.io/docs/linear/", "authType": "apiKey"},
220
+ {"name": "CoinAPI", "description": "All currency exchanges API", "category": "Cryptocurrency", "baseUrl": "https://docs.coinapi.io/", "authType": "apiKey"},
221
+ {"name": "Coinbase", "description": "Crypto prices and wallets", "category": "Cryptocurrency", "baseUrl": "https://developers.coinbase.com", "authType": "apiKey"},
222
+ {"name": "Coinbase Pro", "description": "Crypto trading platform", "category": "Cryptocurrency", "baseUrl": "https://docs.pro.coinbase.com/", "authType": "apiKey"},
223
+ {"name": "CoinCap", "description": "Real-time crypto prices", "category": "Cryptocurrency", "baseUrl": "https://docs.coincap.io/", "authType": "none"},
224
+ {"name": "CoinDCX", "description": "Crypto trading platform", "category": "Cryptocurrency", "baseUrl": "https://docs.coindcx.com/", "authType": "apiKey"},
225
+ {"name": "CoinDesk", "description": "Bitcoin Price Index", "category": "Cryptocurrency", "baseUrl": "https://old.coindesk.com/coindesk-api/", "authType": "none"},
226
+ {"name": "CoinGecko", "description": "Crypto price and market data", "category": "Cryptocurrency", "baseUrl": "http://www.coingecko.com/api", "authType": "none"},
227
+ {"name": "Coinigy", "description": "Exchange account management", "category": "Cryptocurrency", "baseUrl": "https://coinigy.docs.apiary.io", "authType": "apiKey"},
228
+ {"name": "Coinlib", "description": "Crypto currency prices", "category": "Cryptocurrency", "baseUrl": "https://coinlib.io/apidocs", "authType": "apiKey"},
229
+ {"name": "Coinlore", "description": "Crypto prices and volume", "category": "Cryptocurrency", "baseUrl": "https://www.coinlore.com/cryptocurrency-data-api", "authType": "none"},
230
+ {"name": "CoinMarketCap", "description": "Crypto prices API", "category": "Cryptocurrency", "baseUrl": "https://coinmarketcap.com/api/", "authType": "apiKey"},
231
+ {"name": "Coinpaprika", "description": "Crypto prices and volume", "category": "Cryptocurrency", "baseUrl": "https://api.coinpaprika.com", "authType": "none"},
232
+ {"name": "CoinRanking", "description": "Live crypto data", "category": "Cryptocurrency", "baseUrl": "https://developers.coinranking.com/api/documentation", "authType": "apiKey"},
233
+ {"name": "CoinStats", "description": "Crypto tracker API", "category": "Cryptocurrency", "baseUrl": "https://documenter.getpostman.com/view/5734027/RzZ6Hzr3", "authType": "none"},
234
+ {"name": "CryptAPI", "description": "Crypto payment processor", "category": "Cryptocurrency", "baseUrl": "https://docs.cryptapi.io/", "authType": "none"},
235
+ {"name": "CryptoCompare", "description": "Crypto comparison API", "category": "Cryptocurrency", "baseUrl": "https://www.cryptocompare.com/api", "authType": "none"},
236
+ {"name": "CryptoMarket", "description": "Crypto trading platform", "category": "Cryptocurrency", "baseUrl": "https://api.exchange.cryptomkt.com/", "authType": "apiKey"},
237
+ {"name": "Cryptonator", "description": "Crypto exchange rates", "category": "Cryptocurrency", "baseUrl": "https://www.cryptonator.com/api/", "authType": "none"},
238
+ {"name": "dYdX", "description": "Decentralized crypto exchange", "category": "Cryptocurrency", "baseUrl": "https://docs.dydx.exchange/", "authType": "apiKey"},
239
+ {"name": "Ethplorer", "description": "Ethereum tokens and balances", "category": "Cryptocurrency", "baseUrl": "https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API", "authType": "apiKey"},
240
+ {"name": "FTX", "description": "Crypto trading API", "category": "Cryptocurrency", "baseUrl": "https://docs.ftx.com/", "authType": "apiKey"},
241
+ {"name": "Gate.io", "description": "Crypto trading API", "category": "Cryptocurrency", "baseUrl": "https://www.gate.io/api2", "authType": "apiKey"},
242
+ {"name": "Gemini", "description": "Crypto exchange API", "category": "Cryptocurrency", "baseUrl": "https://docs.gemini.com/rest-api/", "authType": "none"},
243
+ {"name": "Huobi", "description": "Crypto exchange API", "category": "Cryptocurrency", "baseUrl": "https://huobiapi.github.io/docs/spot/v1/en/", "authType": "apiKey"},
244
+ {"name": "icy.tools", "description": "NFT API GraphQL", "category": "Cryptocurrency", "baseUrl": "https://developers.icy.tools/", "authType": "apiKey"},
245
+ {"name": "Indodax", "description": "Indonesian crypto exchange", "category": "Cryptocurrency", "baseUrl": "https://github.com/btcid/indodax-official-api-docs", "authType": "apiKey"},
246
+ {"name": "INFURA Ethereum", "description": "Ethereum mainnet access", "category": "Cryptocurrency", "baseUrl": "https://infura.io/product/ethereum", "authType": "apiKey"},
247
+ {"name": "Kraken", "description": "Crypto exchange API", "category": "Cryptocurrency", "baseUrl": "https://docs.kraken.com/rest/", "authType": "apiKey"},
248
+ {"name": "KuCoin", "description": "Crypto trading platform", "category": "Cryptocurrency", "baseUrl": "https://docs.kucoin.com/", "authType": "apiKey"},
249
+ {"name": "Localbitcoins", "description": "P2P Bitcoin trading", "category": "Cryptocurrency", "baseUrl": "https://localbitcoins.com/api-docs/", "authType": "none"},
250
+ {"name": "Mempool", "description": "Bitcoin transaction API", "category": "Cryptocurrency", "baseUrl": "https://mempool.space/api", "authType": "none"},
251
+ {"name": "MercadoBitcoin", "description": "Brazilian crypto info", "category": "Cryptocurrency", "baseUrl": "https://www.mercadobitcoin.com.br/api-doc/", "authType": "none"},
252
+ {"name": "Messari", "description": "Crypto assets API", "category": "Cryptocurrency", "baseUrl": "https://messari.io/api", "authType": "none"},
253
+ {"name": "Nomics", "description": "Crypto prices historical", "category": "Cryptocurrency", "baseUrl": "https://nomics.com/docs/", "authType": "apiKey"},
254
+ {"name": "NovaDax", "description": "Crypto exchange API", "category": "Cryptocurrency", "baseUrl": "https://doc.novadax.com/en-US/", "authType": "apiKey"},
255
+ {"name": "OKEx", "description": "Crypto exchange API", "category": "Cryptocurrency", "baseUrl": "https://www.okex.com/docs/", "authType": "apiKey"},
256
+ {"name": "Poloniex", "description": "Digital asset exchange", "category": "Cryptocurrency", "baseUrl": "https://docs.poloniex.com", "authType": "apiKey"},
257
+ {"name": "Solana JSON RPC", "description": "Solana blockchain API", "category": "Cryptocurrency", "baseUrl": "https://docs.solana.com/developing/clients/jsonrpc-api", "authType": "none"},
258
+ {"name": "Technical Analysis API", "description": "Crypto technical analysis", "category": "Cryptocurrency", "baseUrl": "https://technical-analysis-api.com", "authType": "apiKey"},
259
+ {"name": "VALR", "description": "South African crypto exchange", "category": "Cryptocurrency", "baseUrl": "https://docs.valr.com/", "authType": "apiKey"},
260
+ {"name": "WorldCoinIndex", "description": "Crypto prices API", "category": "Cryptocurrency", "baseUrl": "https://www.worldcoinindex.com/apiservice", "authType": "apiKey"},
261
+ {"name": "ZMOK", "description": "Ethereum JSON RPC", "category": "Cryptocurrency", "baseUrl": "https://zmok.io", "authType": "none"},
262
+
263
+ # === CURRENCY ===
264
+ {"name": "1Forge", "description": "Forex market data", "category": "Currency", "baseUrl": "https://1forge.com/forex-data-api/api-documentation", "authType": "apiKey"},
265
+ {"name": "Amdoren", "description": "Currency API 150+ currencies", "category": "Currency", "baseUrl": "https://www.amdoren.com/currency-api/", "authType": "apiKey"},
266
+ {"name": "Fixer.io", "description": "Exchange rates and conversion", "category": "Currency", "baseUrl": "https://fixer.io", "authType": "apiKey"},
267
+ {"name": "Bank of Russia", "description": "Russian exchange rates", "category": "Currency", "baseUrl": "https://www.cbr.ru/development/SXML/", "authType": "none"},
268
+ {"name": "Currency-api", "description": "Free currency rates no limits", "category": "Currency", "baseUrl": "https://github.com/fawazahmed0/currency-api", "authType": "none"},
269
+ {"name": "CurrencyFreaks", "description": "Currency exchange rates", "category": "Currency", "baseUrl": "https://currencyfreaks.com/", "authType": "apiKey"},
270
+ {"name": "Currencylayer", "description": "Exchange rates API", "category": "Currency", "baseUrl": "https://currencylayer.com/documentation", "authType": "apiKey"},
271
+ {"name": "CurrencyScoop", "description": "Real-time currency rates", "category": "Currency", "baseUrl": "https://currencyscoop.com/api-documentation", "authType": "apiKey"},
272
+ {"name": "ExchangeRate-API", "description": "Free currency conversion", "category": "Currency", "baseUrl": "https://www.exchangerate-api.com", "authType": "apiKey"},
273
+ {"name": "Exchangerate.host", "description": "Free forex and crypto rates", "category": "Currency", "baseUrl": "https://exchangerate.host", "authType": "none"},
274
+ {"name": "Frankfurter", "description": "Exchange rates API", "category": "Currency", "baseUrl": "https://www.frankfurter.app/docs", "authType": "none"},
275
+ {"name": "FreeForexAPI", "description": "Real-time forex rates", "category": "Currency", "baseUrl": "https://freeforexapi.com/Home/Api", "authType": "none"},
276
+ {"name": "VATComply", "description": "Exchange rates and VAT", "category": "Currency", "baseUrl": "https://www.vatcomply.com/documentation", "authType": "none"},
277
+
278
+ # === ENTERTAINMENT ===
279
+ {"name": "Bob's Burgers API", "description": "Bob's Burgers show data", "category": "Entertainment", "baseUrl": "https://www.bobsburgersapi.com/documentation", "authType": "none"},
280
+ {"name": "Breaking Bad API", "description": "Breaking Bad show data", "category": "Entertainment", "baseUrl": "https://breakingbadapi.com/documentation", "authType": "none"},
281
+ {"name": "Buffy API", "description": "Buffy and Angel show data", "category": "Entertainment", "baseUrl": "https://github.com/Thatskat/btvs-angel-api", "authType": "none"},
282
+ {"name": "Comic Vine", "description": "Comic database", "category": "Entertainment", "baseUrl": "http://comicvine.gamespot.com/api/", "authType": "none"},
283
+ {"name": "Comichron Data", "description": "Comic sales data", "category": "Entertainment", "baseUrl": "https://github.com/comichron-data/api", "authType": "none"},
284
+ {"name": "Dune API", "description": "Dune book/movie data", "category": "Entertainment", "baseUrl": "https://github.com/ywalia01/dune-api", "authType": "none"},
285
+ {"name": "Final Space API", "description": "Final Space show data", "category": "Entertainment", "baseUrl": "https://finalspaceapi.com/docs/", "authType": "none"},
286
+ {"name": "Fun Translations", "description": "Translate to 50+ languages", "category": "Entertainment", "baseUrl": "https://funtranslations.com/api/", "authType": "none"},
287
+ {"name": "Lord of the Rings API", "description": "LOTR data", "category": "Entertainment", "baseUrl": "https://the-one-api.dev/documentation", "authType": "none"},
288
+ {"name": "Marvel API", "description": "Marvel comics data", "category": "Entertainment", "baseUrl": "https://developer.marvel.com/", "authType": "none"},
289
+ {"name": "Nick Cannon Baby API", "description": "Nick Cannon children data", "category": "Entertainment", "baseUrl": "https://nick-cannon-baby-api.onrender.com/", "authType": "none"},
290
+ {"name": "Owen Wilson Wow API", "description": "Owen Wilson wow clips", "category": "Entertainment", "baseUrl": "https://owen-wilson-wow-api.onrender.com/", "authType": "none"},
291
+ {"name": "Pokéapi", "description": "Pokémon data", "category": "Entertainment", "baseUrl": "https://pokeapi.co/", "authType": "none"},
292
+ {"name": "Rick and Morty API", "description": "Rick and Morty data", "category": "Entertainment", "baseUrl": "https://rickandmortyapi.com/", "authType": "none"},
293
+ {"name": "Riddles API", "description": "Random riddles", "category": "Entertainment", "baseUrl": "https://riddles-api.vercel.app/", "authType": "none"},
294
+ {"name": "Star Trek API", "description": "Star Trek data", "category": "Entertainment", "baseUrl": "https://stapi.co/api-documentation", "authType": "none"},
295
+ {"name": "Star Wars API", "description": "Star Wars data", "category": "Entertainment", "baseUrl": "https://www.swapi.tech/", "authType": "none"},
296
+ {"name": "TCGdex", "description": "Pokémon TCG data", "category": "Entertainment", "baseUrl": "https://www.tcgdex.dev/", "authType": "none"},
297
+
298
+ # === MORE FROM n0shake ===
299
+ {"name": "Amazon Mobile Ads", "description": "Mobile ad monetization", "category": "Advertising", "baseUrl": "https://developer.amazon.com/mobile-ads", "authType": "apiKey"},
300
+ {"name": "Facebook Marketing API", "description": "Manage Facebook ads", "category": "Advertising", "baseUrl": "https://developers.facebook.com/docs/marketing-apis", "authType": "oauth"},
301
+ {"name": "Google AdSense", "description": "Website monetization", "category": "Advertising", "baseUrl": "https://developers.google.com/adsense/", "authType": "oauth"},
302
+ {"name": "Google AdWords API", "description": "Manage Google Ads", "category": "Advertising", "baseUrl": "https://developers.google.com/adwords/api/docs/guides/start", "authType": "oauth"},
303
+ {"name": "Kevel Ad APIs", "description": "Build custom ad server", "category": "Advertising", "baseUrl": "https://dev.kevel.co", "authType": "apiKey"},
304
+ {"name": "Bing Ads API", "description": "Microsoft advertising", "category": "Advertising", "baseUrl": "https://msdn.microsoft.com/en-us/library/bing-ads-api.aspx", "authType": "apiKey"},
305
+ {"name": "Yahoo Gemini API", "description": "Yahoo advertising", "category": "Advertising", "baseUrl": "https://developer.yahoo.com/gemini/", "authType": "oauth"},
306
+
307
+ {"name": "Amazon Mobile Analytics", "description": "Mobile app analytics", "category": "Analytics", "baseUrl": "https://aws.amazon.com/documentation/mobileanalytics/", "authType": "apiKey"},
308
+ {"name": "Clicky Analytics", "description": "Website traffic data", "category": "Analytics", "baseUrl": "https://clicky.com/help/api", "authType": "apiKey"},
309
+ {"name": "DitchCarbon API", "description": "Carbon emissions data", "category": "Analytics", "baseUrl": "https://docs.ditchcarbon.com/", "authType": "apiKey"},
310
+ {"name": "Fabric Analytics", "description": "Mobile analytics (Firebase)", "category": "Analytics", "baseUrl": "https://firebase.google.com/", "authType": "apiKey"},
311
+ {"name": "Localytics", "description": "Mobile analytics platform", "category": "Analytics", "baseUrl": "http://docs.localytics.com/dev/query-api.html", "authType": "apiKey"},
312
+ {"name": "Matomo Analytics", "description": "Web analytics platform", "category": "Analytics", "baseUrl": "https://matomo.org/docs/analytics-api/", "authType": "apiKey"},
313
+ {"name": "MixPanel", "description": "Product analytics", "category": "Analytics", "baseUrl": "https://developer.mixpanel.com/docs/implement-mixpanel", "authType": "apiKey"},
314
+ {"name": "Open Web Analytics", "description": "Open source web analytics", "category": "Analytics", "baseUrl": "https://github.com/padams/Open-Web-Analytics/wiki/Data-Access-API", "authType": "apiKey"},
315
+ {"name": "Ticksel Analytics", "description": "Friendly web analytics", "category": "Analytics", "baseUrl": "https://ticksel.com", "authType": "apiKey"},
316
+ {"name": "Woopra", "description": "Real-time website analysis", "category": "Analytics", "baseUrl": "https://www.woopra.com/docs/developer/analytics-api/", "authType": "apiKey"},
317
+ {"name": "Zoho Reports", "description": "Reporting and analytics", "category": "Analytics", "baseUrl": "https://zohoreportsapi.wiki.zoho.com/", "authType": "apiKey"},
318
+
319
+ {"name": "Vuforia", "description": "AR development SDK", "category": "AR/VR", "baseUrl": "https://library.vuforia.com/", "authType": "apiKey"},
320
+ {"name": "Wikitude", "description": "AR SDK with tracking", "category": "AR/VR", "baseUrl": "http://www.wikitude.com/download/", "authType": "apiKey"},
321
+
322
+ {"name": "Dynamic QR Code", "description": "QR code generator", "category": "Barcode", "baseUrl": "https://rapidapi.com/updeploy-tools/api/qr-code-dynamic-and-static1/", "authType": "apiKey"},
323
+ {"name": "Google Barcode API", "description": "Real-time barcode detection", "category": "Barcode", "baseUrl": "https://developers.google.com/vision/barcodes-overview", "authType": "none"},
324
+ {"name": "EAN-Search", "description": "Product barcode lookup", "category": "Barcode", "baseUrl": "https://www.ean-search.org/ean-database-api.html", "authType": "apiKey"},
325
+ {"name": "QR Code API", "description": "QR code REST API", "category": "Barcode", "baseUrl": "https://fungenerators.com/api/qrcode/", "authType": "apiKey"},
326
+ {"name": "OpenQR API", "description": "QR code generator", "category": "Barcode", "baseUrl": "https://docs.openqr.io/", "authType": "apiKey"},
327
+
328
+ {"name": "Google Charts", "description": "Data visualization", "category": "Big Data", "baseUrl": "https://developers.google.com/chart/interactive/docs/", "authType": "none"},
329
+ {"name": "Keen IO", "description": "Big data analytics", "category": "Big Data", "baseUrl": "https://keen.io/docs/api/", "authType": "apiKey"},
330
+ {"name": "MongoDB API", "description": "NoSQL database", "category": "Big Data", "baseUrl": "https://github.com/mongodb", "authType": "apiKey"},
331
+ {"name": "LinkedData.Center", "description": "RDF graph database", "category": "Big Data", "baseUrl": "http://linkeddata.center/home/gdaas", "authType": "apiKey"},
332
+
333
+ {"name": "Bitcoin Developer", "description": "Bitcoin protocol documentation", "category": "Cryptocurrency", "baseUrl": "https://developer.bitcoin.org/", "authType": "none"},
334
+ {"name": "PENDAX", "description": "Multi-exchange trading SDK", "category": "Cryptocurrency", "baseUrl": "https://github.com/CompendiumFi/PENDAX-SDK", "authType": "none"},
335
+ {"name": "ShapeShift", "description": "Crypto exchange no account", "category": "Cryptocurrency", "baseUrl": "https://shapeshift.io/", "authType": "none"},
336
+
337
+ {"name": "CalendarIndex", "description": "Worldwide holidays API", "category": "Calendar", "baseUrl": "https://www.calendarindex.com", "authType": "apiKey"},
338
+ {"name": "DigiDates API", "description": "Date calculations", "category": "Calendar", "baseUrl": "https://digidates.de/en/", "authType": "none"},
339
+ {"name": "Holiday API PL", "description": "Polish holidays", "category": "Calendar", "baseUrl": "https://holidayapi.pl/", "authType": "none"},
340
+ {"name": "OpenHolidays API", "description": "European holidays", "category": "Calendar", "baseUrl": "https://www.openholidaysapi.org/", "authType": "none"},
341
+
342
+ {"name": "Anti-Captcha", "description": "Captcha solving API", "category": "Security", "baseUrl": "https://anti-captcha.com/apidoc", "authType": "apiKey"},
343
+ {"name": "ProxyCrawl", "description": "Web scraping with captcha solving", "category": "Security", "baseUrl": "https://proxycrawl.com", "authType": "apiKey"},
344
+ {"name": "Google reCAPTCHA", "description": "Captcha protection", "category": "Security", "baseUrl": "https://developers.google.com/recaptcha/intro", "authType": "apiKey"},
345
+
346
+ {"name": "Facebook Check-In", "description": "Location check-ins", "category": "Location", "baseUrl": "https://developers.facebook.com/docs/graph-api/reference/v2.3/checkin", "authType": "oauth"},
347
+ {"name": "Google Places", "description": "Places and locations", "category": "Location", "baseUrl": "https://developers.google.com/places/", "authType": "apiKey"},
348
+ {"name": "Foursquare Check-In", "description": "Check-in to places", "category": "Location", "baseUrl": "https://developer.foursquare.com/reference/v2-checkins-add", "authType": "oauth"},
349
+
350
+ {"name": "Commerce Layer", "description": "Headless commerce API", "category": "Commerce", "baseUrl": "https://docs.commercelayer.io/api/", "authType": "apiKey"},
351
+ {"name": "envoice", "description": "Invoicing API", "category": "Commerce", "baseUrl": "https://www.envoice.in/reference/api/docs", "authType": "apiKey"},
352
+ {"name": "koomalooma", "description": "Loyalty program API", "category": "Commerce", "baseUrl": "http://business.koomalooma.com", "authType": "apiKey"},
353
+ {"name": "Moltin", "description": "E-commerce API", "category": "Commerce", "baseUrl": "https://www.moltin.com/developers", "authType": "apiKey"},
354
+ {"name": "Stripe", "description": "Payment processing", "category": "Commerce", "baseUrl": "https://stripe.com/docs/api", "authType": "apiKey"},
355
+ {"name": "Repetiti", "description": "3D printer management", "category": "Commerce", "baseUrl": "https://developers.repetiti.com", "authType": "apiKey"},
356
+ {"name": "Braintree", "description": "Payment systems", "category": "Commerce", "baseUrl": "https://developers.braintreepayments.com", "authType": "apiKey"},
357
+ {"name": "Yellow Pages API", "description": "US business data", "category": "Commerce", "baseUrl": "https://github.com/Hrushi11/Yellow-Pages-End-API", "authType": "none"},
358
+
359
+ {"name": "Africa's Talking", "description": "African telco services", "category": "Communication", "baseUrl": "https://africastalking.com/", "authType": "apiKey"},
360
+ {"name": "iP1sms", "description": "Global SMS API", "category": "Communication", "baseUrl": "https://www.ip1sms.com/en/developer/", "authType": "apiKey"},
361
+ {"name": "Eqivo", "description": "Programmable voice API", "category": "Communication", "baseUrl": "https://eqivo.org", "authType": "apiKey"},
362
+ {"name": "MailGun", "description": "Transactional email", "category": "Communication", "baseUrl": "https://mailgun.com", "authType": "apiKey"},
363
+ {"name": "Nexmo", "description": "Phone calls and SMS", "category": "Communication", "baseUrl": "https://developer.nexmo.com", "authType": "apiKey"},
364
+ {"name": "Sakari", "description": "Global SMS API", "category": "Communication", "baseUrl": "https://developer.sakari.io", "authType": "apiKey"},
365
+ {"name": "Telnyx", "description": "Voice SMS Fax API", "category": "Communication", "baseUrl": "https://developers.telnyx.com/", "authType": "apiKey"},
366
+ {"name": "The SMS Works", "description": "Low-cost SMS API", "category": "Communication", "baseUrl": "https://thesmsworks.co.uk/sms-api", "authType": "apiKey"},
367
+
368
+ {"name": "Bible API", "description": "Bible translations API", "category": "Content", "baseUrl": "https://github.com/wldeh/bible-api", "authType": "none"},
369
+ {"name": "Bible API Simple", "description": "Public domain Bible", "category": "Content", "baseUrl": "https://bible-api.com/", "authType": "none"},
370
+ {"name": "Fruits API", "description": "Fruit trees GraphQL", "category": "Content", "baseUrl": "https://github.com/Franqsanz/fruits-api", "authType": "none"},
371
+ {"name": "Jokes API", "description": "Jokes API", "category": "Content", "baseUrl": "https://jokes.one/api/joke/", "authType": "apiKey"},
372
+ {"name": "Perfect Tense", "description": "Grammar checking API", "category": "Content", "baseUrl": "https://www.perfecttense.com/developers", "authType": "apiKey"},
373
+ {"name": "qKast", "description": "Live content collections", "category": "Content", "baseUrl": "https://github.com/egfx/qKast", "authType": "none"},
374
+ {"name": "Randommer", "description": "Random data generator", "category": "Content", "baseUrl": "https://randommer.io/randommer-api", "authType": "apiKey"},
375
+ {"name": "Random Facts", "description": "Random facts API", "category": "Content", "baseUrl": "https://fungenerators.com/api/facts/", "authType": "apiKey"},
376
+ {"name": "SLF Database", "description": "German geography data", "category": "Content", "baseUrl": "https://github.com/slftool/slftool.github.io/blob/master/API.md", "authType": "none"},
377
+ {"name": "Today in History", "description": "Historical events API", "category": "Content", "baseUrl": "https://history.muffinlabs.com/", "authType": "none"},
378
+ {"name": "Wikipedia API", "description": "Wikipedia content", "category": "Content", "baseUrl": "https://en.wikipedia.org/w/api.php", "authType": "none"},
379
+ ]
380
+
381
+ def get_current_count():
382
+ """Get current API count from registry"""
383
+ registry_file = os.path.expanduser("~/Projects/apiclaw/src/registry/apis.json")
384
+ try:
385
+ with open(registry_file, 'r') as f:
386
+ registry = json.load(f)
387
+ return registry.get('count', len(registry.get('apis', [])))
388
+ except:
389
+ return 0
390
+
391
+ def add_apis_to_registry(apis):
392
+ """Add APIs to the registry"""
393
+ registry_file = os.path.expanduser("~/Projects/apiclaw/src/registry/apis.json")
394
+
395
+ try:
396
+ with open(registry_file, 'r') as f:
397
+ registry = json.load(f)
398
+ except:
399
+ registry = {"version": "3.2.3", "source": "APIClaw aggregated registry", "apis": [], "count": 0}
400
+
401
+ existing_names = {api.get('name', '').lower() for api in registry.get('apis', [])}
402
+ existing_ids = {api.get('id', '').lower() for api in registry.get('apis', [])}
403
+
404
+ added = 0
405
+ for api in apis:
406
+ # Generate ID from name
407
+ api_id = api['name'].lower().replace(' ', '-').replace('_', '-')
408
+ api_id = ''.join(c for c in api_id if c.isalnum() or c == '-')
409
+
410
+ name_lower = api['name'].lower()
411
+
412
+ if name_lower not in existing_names and api_id not in existing_ids:
413
+ new_api = {
414
+ "id": api_id,
415
+ "name": api['name'],
416
+ "description": api['description'],
417
+ "category": api['category'],
418
+ "auth": api.get('authType', 'None'),
419
+ "https": True,
420
+ "cors": "unknown",
421
+ "link": api.get('baseUrl', ''),
422
+ "pricing": "unknown",
423
+ "keywords": []
424
+ }
425
+ registry['apis'].append(new_api)
426
+ existing_names.add(name_lower)
427
+ existing_ids.add(api_id)
428
+ added += 1
429
+
430
+ registry['lastUpdated'] = datetime.now().isoformat()
431
+ registry['count'] = len(registry['apis'])
432
+
433
+ with open(registry_file, 'w') as f:
434
+ json.dump(registry, f, indent=2)
435
+
436
+ return added, len(registry['apis'])
437
+
438
+ if __name__ == "__main__":
439
+ before = get_current_count()
440
+ print(f"🦞 APIClaw Night Expansion - 2026-02-24 03:00")
441
+ print(f"Before: {before} APIs")
442
+
443
+ added, total = add_apis_to_registry(NEW_APIS)
444
+
445
+ print(f"Added: {added} new APIs")
446
+ print(f"Total: {total} APIs")
447
+ print(f"✅ Done!")