@nordsym/apiclaw 1.1.2 → 1.1.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 (38) hide show
  1. package/STATUS.md +1 -1
  2. package/dist/credentials.d.ts.map +1 -1
  3. package/dist/credentials.js +11 -0
  4. package/dist/credentials.js.map +1 -1
  5. package/dist/execute.d.ts.map +1 -1
  6. package/dist/execute.js +75 -0
  7. package/dist/execute.js.map +1 -1
  8. package/dist/proxy.d.ts.map +1 -1
  9. package/dist/proxy.js +1 -1
  10. package/dist/proxy.js.map +1 -1
  11. package/dist/registry/apis.json +1 -116054
  12. package/landing/src/lib/apis.json +1 -116054
  13. package/landing/src/lib/stats.json +4 -4
  14. package/package.json +1 -1
  15. package/scripts/add-public-apis.py +625 -0
  16. package/scripts/apisguru-data.json +158837 -0
  17. package/scripts/bonus-batch.py +250 -0
  18. package/scripts/bulk-add-apisguru.js +122 -0
  19. package/scripts/expand-2026-batch.py +335 -0
  20. package/scripts/expand-from-github.py +460 -0
  21. package/scripts/expand-n4ze3m.py +198 -0
  22. package/scripts/expand-niche-batch.py +269 -0
  23. package/scripts/expand-nordic-niche.py +189 -0
  24. package/scripts/expand-tonnyL.py +343 -0
  25. package/scripts/final-batch.py +315 -0
  26. package/scripts/final-push-06.py +242 -0
  27. package/scripts/mega-expansion.py +495 -0
  28. package/scripts/mega-final-06.py +512 -0
  29. package/scripts/more-apis.py +353 -0
  30. package/scripts/night-batch-05.py +546 -0
  31. package/scripts/night-batch-05b.py +427 -0
  32. package/scripts/night-expansion-06.py +325 -0
  33. package/scripts/night-expansion.py +441 -0
  34. package/scripts/super-final-06.py +341 -0
  35. package/src/credentials.ts +12 -0
  36. package/src/execute.ts +93 -0
  37. package/src/proxy.ts +1 -1
  38. package/src/registry/apis.json +1 -116054
@@ -0,0 +1,427 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ APIClaw Night Expansion - Batch 05b
4
+ More niche APIs to reach 15,000+ target
5
+ """
6
+
7
+ import json
8
+ import os
9
+ from datetime import datetime
10
+
11
+ REGISTRY_PATH = os.path.expanduser("~/Projects/apiclaw/src/registry/apis.json")
12
+
13
+ # More niche and regional APIs
14
+ NICHE_APIS = [
15
+ # Nordic APIs
16
+ {"name": "Bankgirot API", "description": "Swedish bank transfer system", "category": "Payments", "baseUrl": "https://www.bankgirot.se", "authType": "apiKey"},
17
+ {"name": "Swish API", "description": "Swedish mobile payments", "category": "Payments", "baseUrl": "https://developer.swish.nu", "authType": "certificate"},
18
+ {"name": "BankID Sweden", "description": "Swedish electronic ID", "category": "Authentication", "baseUrl": "https://www.bankid.com/utvecklare/rp-info", "authType": "certificate"},
19
+ {"name": "Freja eID", "description": "Scandinavian electronic ID", "category": "Authentication", "baseUrl": "https://frejaeid.com/developers", "authType": "certificate"},
20
+ {"name": "Klarna Checkout", "description": "Swedish payment checkout", "category": "Payments", "baseUrl": "https://docs.klarna.com/klarna-checkout", "authType": "apiKey"},
21
+ {"name": "Postnord API", "description": "Nordic postal services", "category": "Logistics", "baseUrl": "https://developer.postnord.com", "authType": "apiKey"},
22
+ {"name": "SMHI Weather API", "description": "Swedish weather data", "category": "Weather", "baseUrl": "https://opendata.smhi.se/apidocs", "authType": "none"},
23
+ {"name": "Trafikverket Open API", "description": "Swedish transport data", "category": "Transportation", "baseUrl": "https://api.trafikinfo.trafikverket.se", "authType": "apiKey"},
24
+ {"name": "SCB Statistics Sweden", "description": "Swedish statistics", "category": "Government", "baseUrl": "https://www.scb.se/api", "authType": "none"},
25
+ {"name": "Skatteverket API", "description": "Swedish tax authority", "category": "Government", "baseUrl": "https://www.skatteverket.se/foretagochorganisationer/etjansterochblanketter/ehandel", "authType": "certificate"},
26
+ {"name": "Norwegian MET Weather", "description": "Norwegian weather API", "category": "Weather", "baseUrl": "https://api.met.no", "authType": "none"},
27
+ {"name": "Vipps API", "description": "Norwegian mobile payments", "category": "Payments", "baseUrl": "https://developer.vipps.no", "authType": "oauth2"},
28
+ {"name": "MobilePay API", "description": "Danish mobile payments", "category": "Payments", "baseUrl": "https://developer.mobilepay.dk", "authType": "oauth2"},
29
+ {"name": "Nets Easy", "description": "Nordic payments gateway", "category": "Payments", "baseUrl": "https://developer.nexigroup.com", "authType": "apiKey"},
30
+ {"name": "Bring Logistics", "description": "Nordic shipping API", "category": "Logistics", "baseUrl": "https://developer.bring.com", "authType": "apiKey"},
31
+ {"name": "Finland Statistics API", "description": "Statistics Finland data", "category": "Government", "baseUrl": "https://pxdata.stat.fi/api", "authType": "none"},
32
+ {"name": "Danish MitID", "description": "Danish electronic ID", "category": "Authentication", "baseUrl": "https://digst.dk/it-loesninger/mitid/loesning", "authType": "certificate"},
33
+ {"name": "NemID Denmark", "description": "Danish digital signature", "category": "Authentication", "baseUrl": "https://www.nemid.nu/dk-da/erhverv", "authType": "certificate"},
34
+ {"name": "Iceland Inspire API", "description": "Icelandic geodata", "category": "Maps", "baseUrl": "https://www.lmi.is/is/gagnaveita", "authType": "none"},
35
+ {"name": "Icelandic Met Office", "description": "Iceland weather data", "category": "Weather", "baseUrl": "https://en.vedur.is/about-imo/apis", "authType": "none"},
36
+
37
+ # German APIs
38
+ {"name": "Deutsche Bahn API", "description": "German railway data", "category": "Transportation", "baseUrl": "https://developer.deutschebahn.com", "authType": "apiKey"},
39
+ {"name": "Payone API", "description": "German payment services", "category": "Payments", "baseUrl": "https://docs.payone.com", "authType": "apiKey"},
40
+ {"name": "DHL Express Germany", "description": "DHL services Germany", "category": "Logistics", "baseUrl": "https://developer.dhl.com/api-reference/dhl-express", "authType": "apiKey"},
41
+ {"name": "Deutsche Post Delivery", "description": "German postal services", "category": "Logistics", "baseUrl": "https://developer.dhl.com", "authType": "apiKey"},
42
+ {"name": "GLS Germany API", "description": "GLS parcel services", "category": "Logistics", "baseUrl": "https://gls-group.eu/DE/de/shipping-solutions", "authType": "apiKey"},
43
+ {"name": "Bundesbank API", "description": "German central bank data", "category": "Finance", "baseUrl": "https://www.bundesbank.de/dynamic/action/de/statistiken/zeitreihen-datenbanken", "authType": "none"},
44
+ {"name": "Destatis API", "description": "German federal statistics", "category": "Government", "baseUrl": "https://www-genesis.destatis.de/genesis/online", "authType": "none"},
45
+ {"name": "Wetter.com API", "description": "German weather service", "category": "Weather", "baseUrl": "https://api.wetter.com", "authType": "apiKey"},
46
+ {"name": "FinanzOnline AT", "description": "Austrian tax services", "category": "Government", "baseUrl": "https://www.bmf.gv.at/public/informationen/finanzamtsliste.html", "authType": "certificate"},
47
+ {"name": "OeNB Austria", "description": "Austrian central bank data", "category": "Finance", "baseUrl": "https://www.oenb.at/Statistik/Standardisierte-Tabellen.html", "authType": "none"},
48
+
49
+ # UK APIs
50
+ {"name": "Companies House UK", "description": "UK company information", "category": "Business", "baseUrl": "https://developer.company-information.service.gov.uk", "authType": "apiKey"},
51
+ {"name": "DVLA API", "description": "UK vehicle data", "category": "Government", "baseUrl": "https://developer-portal.driver-vehicle-licensing.api.gov.uk", "authType": "apiKey"},
52
+ {"name": "HMRC API", "description": "UK tax authority", "category": "Government", "baseUrl": "https://developer.service.hmrc.gov.uk", "authType": "oauth2"},
53
+ {"name": "UK Bank Holidays", "description": "UK public holidays", "category": "Calendar", "baseUrl": "https://www.gov.uk/bank-holidays.json", "authType": "none"},
54
+ {"name": "ONS UK Statistics", "description": "UK national statistics", "category": "Government", "baseUrl": "https://api.ons.gov.uk", "authType": "none"},
55
+ {"name": "NHS API", "description": "UK health services", "category": "Health", "baseUrl": "https://digital.nhs.uk/developer", "authType": "apiKey"},
56
+ {"name": "Transport for London", "description": "TfL transport data", "category": "Transportation", "baseUrl": "https://api.tfl.gov.uk", "authType": "apiKey"},
57
+ {"name": "Royal Mail API", "description": "UK postal services", "category": "Logistics", "baseUrl": "https://developer.royalmail.net", "authType": "apiKey"},
58
+ {"name": "Ordnance Survey", "description": "UK mapping data", "category": "Maps", "baseUrl": "https://api.os.uk", "authType": "apiKey"},
59
+ {"name": "UK Police API", "description": "UK crime data", "category": "Government", "baseUrl": "https://data.police.uk/docs", "authType": "none"},
60
+ {"name": "Land Registry UK", "description": "UK property data", "category": "Real Estate", "baseUrl": "https://use-land-property-data.service.gov.uk", "authType": "apiKey"},
61
+ {"name": "Met Office DataHub", "description": "UK weather data", "category": "Weather", "baseUrl": "https://datahub.metoffice.gov.uk", "authType": "apiKey"},
62
+ {"name": "Environment Agency", "description": "UK flood data", "category": "Environment", "baseUrl": "https://environment.data.gov.uk", "authType": "none"},
63
+ {"name": "Gov.uk Notify", "description": "UK government notifications", "category": "Communication", "baseUrl": "https://www.notifications.service.gov.uk/documentation", "authType": "apiKey"},
64
+ {"name": "Open Banking UK", "description": "UK open banking standard", "category": "Finance", "baseUrl": "https://www.openbanking.org.uk/developer-resources", "authType": "oauth2"},
65
+
66
+ # French APIs
67
+ {"name": "API Gouv France", "description": "French government APIs", "category": "Government", "baseUrl": "https://api.gouv.fr", "authType": "varies"},
68
+ {"name": "INSEE French Statistics", "description": "French national statistics", "category": "Government", "baseUrl": "https://api.insee.fr", "authType": "apiKey"},
69
+ {"name": "SNCF Railway France", "description": "French railway data", "category": "Transportation", "baseUrl": "https://numerique.sncf.com/startup/api", "authType": "apiKey"},
70
+ {"name": "La Poste France", "description": "French postal services", "category": "Logistics", "baseUrl": "https://developer.laposte.fr", "authType": "apiKey"},
71
+ {"name": "Meteo France API", "description": "French weather data", "category": "Weather", "baseUrl": "https://portail-api.meteofrance.fr", "authType": "apiKey"},
72
+ {"name": "Banque de France", "description": "French central bank data", "category": "Finance", "baseUrl": "https://webstat.banque-france.fr/ws", "authType": "none"},
73
+ {"name": "SIRENE French Companies", "description": "French company registry", "category": "Business", "baseUrl": "https://api.insee.fr/catalogue/site/themes/wso2/subthemes/insee/templates/api/documentation/download.jag?docName=Sirene", "authType": "apiKey"},
74
+ {"name": "FranceConnect", "description": "French digital ID", "category": "Authentication", "baseUrl": "https://franceconnect.gouv.fr/partenaires", "authType": "oauth2"},
75
+ {"name": "RATP Paris Transit", "description": "Paris public transport", "category": "Transportation", "baseUrl": "https://data.ratp.fr", "authType": "none"},
76
+ {"name": "Navitia France", "description": "French public transport", "category": "Transportation", "baseUrl": "https://doc.navitia.io", "authType": "apiKey"},
77
+
78
+ # Spanish APIs
79
+ {"name": "Spain INE Statistics", "description": "Spanish national statistics", "category": "Government", "baseUrl": "https://www.ine.es/dyngs/DataLab", "authType": "none"},
80
+ {"name": "AEMET Weather Spain", "description": "Spanish weather data", "category": "Weather", "baseUrl": "https://opendata.aemet.es", "authType": "apiKey"},
81
+ {"name": "Renfe Railway Spain", "description": "Spanish railway data", "category": "Transportation", "baseUrl": "https://www.renfe.com/es/es/grupo-renfe/otras-webs/Open-data", "authType": "none"},
82
+ {"name": "Correos Spain", "description": "Spanish postal services", "category": "Logistics", "baseUrl": "https://www.correos.es", "authType": "apiKey"},
83
+ {"name": "Bizum Spain", "description": "Spanish instant payments", "category": "Payments", "baseUrl": "https://bizum.es", "authType": "apiKey"},
84
+ {"name": "CNMV Spain", "description": "Spanish securities data", "category": "Finance", "baseUrl": "https://www.cnmv.es", "authType": "none"},
85
+ {"name": "Catastro Spain", "description": "Spanish property registry", "category": "Real Estate", "baseUrl": "https://www.catastro.meh.es", "authType": "none"},
86
+
87
+ # Italian APIs
88
+ {"name": "ISTAT Italy", "description": "Italian national statistics", "category": "Government", "baseUrl": "https://www.istat.it/en/information-and-services/developers", "authType": "none"},
89
+ {"name": "Trenitalia Italy", "description": "Italian railway data", "category": "Transportation", "baseUrl": "https://www.trenitalia.com", "authType": "apiKey"},
90
+ {"name": "Poste Italiane", "description": "Italian postal services", "category": "Logistics", "baseUrl": "https://www.poste.it", "authType": "apiKey"},
91
+ {"name": "Banca d'Italia", "description": "Italian central bank data", "category": "Finance", "baseUrl": "https://www.bancaditalia.it/statistiche", "authType": "none"},
92
+ {"name": "SPID Italy", "description": "Italian digital ID", "category": "Authentication", "baseUrl": "https://www.spid.gov.it/en/spid-service-providers", "authType": "oauth2"},
93
+ {"name": "PagoPA Italy", "description": "Italian digital payments", "category": "Payments", "baseUrl": "https://developer.pagopa.it", "authType": "apiKey"},
94
+ {"name": "Meteoam Italy", "description": "Italian military weather", "category": "Weather", "baseUrl": "https://www.meteoam.it", "authType": "none"},
95
+
96
+ # Dutch APIs
97
+ {"name": "CBS Netherlands", "description": "Dutch statistics", "category": "Government", "baseUrl": "https://opendata.cbs.nl", "authType": "none"},
98
+ {"name": "NS Dutch Railways", "description": "Dutch railway data", "category": "Transportation", "baseUrl": "https://apiportal.ns.nl", "authType": "apiKey"},
99
+ {"name": "iDEAL Payments", "description": "Dutch online payments", "category": "Payments", "baseUrl": "https://www.ideal.nl/en/businesses/ideal-for-businesses/getting-started", "authType": "apiKey"},
100
+ {"name": "PostNL API", "description": "Dutch postal services", "category": "Logistics", "baseUrl": "https://developer.postnl.nl", "authType": "apiKey"},
101
+ {"name": "KNMI Weather NL", "description": "Dutch weather data", "category": "Weather", "baseUrl": "https://developer.dataplatform.knmi.nl", "authType": "apiKey"},
102
+ {"name": "Kadaster Netherlands", "description": "Dutch land registry", "category": "Real Estate", "baseUrl": "https://www.pdok.nl", "authType": "none"},
103
+ {"name": "DigiD Netherlands", "description": "Dutch digital ID", "category": "Authentication", "baseUrl": "https://www.digid.nl/en/businesses", "authType": "oauth2"},
104
+ {"name": "Mollie Payments", "description": "Dutch payment gateway", "category": "Payments", "baseUrl": "https://docs.mollie.com", "authType": "apiKey"},
105
+ {"name": "Buckaroo Payments", "description": "Dutch payment provider", "category": "Payments", "baseUrl": "https://www.buckaroo.eu/en/solutions/api-integration", "authType": "apiKey"},
106
+ {"name": "OV-API Netherlands", "description": "Dutch public transport", "category": "Transportation", "baseUrl": "https://ovapi.nl", "authType": "none"},
107
+
108
+ # Belgian APIs
109
+ {"name": "NBB Belgium", "description": "Belgian central bank data", "category": "Finance", "baseUrl": "https://www.nbb.be/en/statistics", "authType": "none"},
110
+ {"name": "StatBel Belgium", "description": "Belgian statistics", "category": "Government", "baseUrl": "https://statbel.fgov.be/en/open-data", "authType": "none"},
111
+ {"name": "NMBS/SNCB Belgium", "description": "Belgian railway data", "category": "Transportation", "baseUrl": "https://www.belgiantrain.be/en/travel-info/preparing-for-your-journey/use-data", "authType": "none"},
112
+ {"name": "bPost Belgium", "description": "Belgian postal services", "category": "Logistics", "baseUrl": "https://www.bpost.be/site/en/business/apis", "authType": "apiKey"},
113
+ {"name": "itsme Belgium", "description": "Belgian digital ID", "category": "Authentication", "baseUrl": "https://www.itsme.be/en/business-partners/integrate-itsme", "authType": "oauth2"},
114
+ {"name": "Bancontact Belgium", "description": "Belgian payment method", "category": "Payments", "baseUrl": "https://www.bancontact.com/en/merchants", "authType": "apiKey"},
115
+
116
+ # Swiss APIs
117
+ {"name": "Swiss Post API", "description": "Swiss postal services", "category": "Logistics", "baseUrl": "https://developer.post.ch", "authType": "apiKey"},
118
+ {"name": "SBB Swiss Railways", "description": "Swiss railway data", "category": "Transportation", "baseUrl": "https://opentransportdata.swiss", "authType": "apiKey"},
119
+ {"name": "SNB Switzerland", "description": "Swiss central bank data", "category": "Finance", "baseUrl": "https://data.snb.ch", "authType": "none"},
120
+ {"name": "Swiss Federal Stats", "description": "Swiss statistics", "category": "Government", "baseUrl": "https://www.pxweb.bfs.admin.ch", "authType": "none"},
121
+ {"name": "MeteoSwiss API", "description": "Swiss weather data", "category": "Weather", "baseUrl": "https://www.meteoswiss.admin.ch/services-and-publications/service/open-government-data.html", "authType": "none"},
122
+ {"name": "SwissSign eID", "description": "Swiss electronic ID", "category": "Authentication", "baseUrl": "https://www.swisssign.com", "authType": "certificate"},
123
+ {"name": "TWINT Switzerland", "description": "Swiss mobile payments", "category": "Payments", "baseUrl": "https://www.twint.ch/en/twint-api", "authType": "apiKey"},
124
+ {"name": "Swisstopo Geodata", "description": "Swiss mapping data", "category": "Maps", "baseUrl": "https://api3.geo.admin.ch", "authType": "none"},
125
+
126
+ # Australian APIs
127
+ {"name": "Australia Post API", "description": "Australian postal services", "category": "Logistics", "baseUrl": "https://developers.auspost.com.au", "authType": "apiKey"},
128
+ {"name": "ABS Statistics", "description": "Australian statistics", "category": "Government", "baseUrl": "https://api.data.abs.gov.au", "authType": "none"},
129
+ {"name": "RBA Australia", "description": "Reserve Bank of Australia data", "category": "Finance", "baseUrl": "https://www.rba.gov.au/statistics/tables", "authType": "none"},
130
+ {"name": "BOM Australia Weather", "description": "Australian weather data", "category": "Weather", "baseUrl": "https://www.bom.gov.au/catalogue/data-feeds.shtml", "authType": "none"},
131
+ {"name": "myGov Australia", "description": "Australian government services", "category": "Government", "baseUrl": "https://www.servicesaustralia.gov.au/organisations/business/services/digital-identity", "authType": "oauth2"},
132
+ {"name": "Medicare Australia", "description": "Australian health services", "category": "Health", "baseUrl": "https://www.servicesaustralia.gov.au/organisations/health-professionals/services/medicare", "authType": "apiKey"},
133
+ {"name": "TransLink Queensland", "description": "Queensland transit data", "category": "Transportation", "baseUrl": "https://translink.com.au/about-translink/open-data", "authType": "none"},
134
+ {"name": "Transport NSW", "description": "NSW transit data", "category": "Transportation", "baseUrl": "https://opendata.transport.nsw.gov.au", "authType": "apiKey"},
135
+ {"name": "PTV Melbourne", "description": "Melbourne transit data", "category": "Transportation", "baseUrl": "https://www.ptv.vic.gov.au/footer/data-and-reporting/datasets/ptv-timetable-api", "authType": "apiKey"},
136
+ {"name": "Afterpay Australia", "description": "Buy now pay later", "category": "Payments", "baseUrl": "https://developers.afterpay.com", "authType": "oauth2"},
137
+
138
+ # Canadian APIs
139
+ {"name": "Canada Post API", "description": "Canadian postal services", "category": "Logistics", "baseUrl": "https://www.canadapost-postescanada.ca/cpc/en/business/shipping/developingtools/services.page", "authType": "apiKey"},
140
+ {"name": "StatCan Statistics", "description": "Statistics Canada", "category": "Government", "baseUrl": "https://www.statcan.gc.ca/eng/developers", "authType": "none"},
141
+ {"name": "Bank of Canada", "description": "Canadian central bank data", "category": "Finance", "baseUrl": "https://www.bankofcanada.ca/rates/", "authType": "none"},
142
+ {"name": "Environment Canada", "description": "Canadian weather data", "category": "Weather", "baseUrl": "https://climate.weather.gc.ca", "authType": "none"},
143
+ {"name": "Transit App Canada", "description": "Canadian transit data", "category": "Transportation", "baseUrl": "https://transitapp.com/for-developers", "authType": "apiKey"},
144
+ {"name": "Interac e-Transfer", "description": "Canadian money transfers", "category": "Payments", "baseUrl": "https://www.interac.ca/en/business/", "authType": "apiKey"},
145
+ {"name": "Verified.me Canada", "description": "Canadian digital ID", "category": "Authentication", "baseUrl": "https://verified.me", "authType": "oauth2"},
146
+ {"name": "CRA Canada Revenue", "description": "Canadian tax authority", "category": "Government", "baseUrl": "https://www.canada.ca/en/revenue-agency/services/e-services/e-services-businesses/business-registration-online.html", "authType": "certificate"},
147
+
148
+ # Asian APIs
149
+ {"name": "WeChat Pay API", "description": "Chinese mobile payments", "category": "Payments", "baseUrl": "https://pay.weixin.qq.com/wiki/doc/api/index.html", "authType": "apiKey"},
150
+ {"name": "Alipay API", "description": "Chinese mobile payments", "category": "Payments", "baseUrl": "https://global.alipay.com/docs/ac/home", "authType": "apiKey"},
151
+ {"name": "Rakuten Japan API", "description": "Japanese e-commerce", "category": "E-Commerce", "baseUrl": "https://webservice.rakuten.co.jp", "authType": "apiKey"},
152
+ {"name": "Japan Post API", "description": "Japanese postal services", "category": "Logistics", "baseUrl": "https://www.post.japanpost.jp/zipcode/download.html", "authType": "none"},
153
+ {"name": "JMA Japan Weather", "description": "Japanese weather data", "category": "Weather", "baseUrl": "https://www.jma.go.jp/jma/en/Activities/apis.html", "authType": "none"},
154
+ {"name": "Line Pay API", "description": "Japanese mobile payments", "category": "Payments", "baseUrl": "https://pay.line.me/documents/online_v2.html", "authType": "apiKey"},
155
+ {"name": "Korea Post API", "description": "Korean postal services", "category": "Logistics", "baseUrl": "https://www.epost.go.kr", "authType": "apiKey"},
156
+ {"name": "KMA Korea Weather", "description": "Korean weather data", "category": "Weather", "baseUrl": "https://www.weather.go.kr/w/index.do", "authType": "apiKey"},
157
+ {"name": "Kakao Pay API", "description": "Korean mobile payments", "category": "Payments", "baseUrl": "https://developers.kakao.com/docs/latest/ko/kakaopay", "authType": "apiKey"},
158
+ {"name": "Naver Pay API", "description": "Korean mobile payments", "category": "Payments", "baseUrl": "https://developer.pay.naver.com", "authType": "apiKey"},
159
+ {"name": "GrabPay API", "description": "Southeast Asian payments", "category": "Payments", "baseUrl": "https://developer.grab.com/docs", "authType": "oauth2"},
160
+ {"name": "SingPost API", "description": "Singapore postal services", "category": "Logistics", "baseUrl": "https://www.singpost.com/about-us/technology-innovation", "authType": "apiKey"},
161
+ {"name": "PayNow Singapore", "description": "Singapore instant payments", "category": "Payments", "baseUrl": "https://abs.org.sg/consumer-banking/pay-now", "authType": "apiKey"},
162
+ {"name": "SingPass API", "description": "Singapore digital ID", "category": "Authentication", "baseUrl": "https://api.singpass.gov.sg", "authType": "oauth2"},
163
+ {"name": "Data.gov.sg", "description": "Singapore government data", "category": "Government", "baseUrl": "https://data.gov.sg/developer", "authType": "none"},
164
+ {"name": "GCash Philippines", "description": "Philippine mobile wallet", "category": "Payments", "baseUrl": "https://developer.gcash.com", "authType": "apiKey"},
165
+ {"name": "Paymaya Philippines", "description": "Philippine payments", "category": "Payments", "baseUrl": "https://developers.maya.ph", "authType": "apiKey"},
166
+ {"name": "Gojek API", "description": "Indonesian super app", "category": "Transportation", "baseUrl": "https://www.gojek.com/en-id/partner", "authType": "apiKey"},
167
+ {"name": "OVO Indonesia", "description": "Indonesian digital wallet", "category": "Payments", "baseUrl": "https://ovo.id", "authType": "apiKey"},
168
+ {"name": "DANA Indonesia", "description": "Indonesian digital wallet", "category": "Payments", "baseUrl": "https://www.dana.id/business", "authType": "apiKey"},
169
+ {"name": "PromptPay Thailand", "description": "Thai instant payments", "category": "Payments", "baseUrl": "https://www.bot.or.th/English/PaymentSystems/PromptPay/", "authType": "apiKey"},
170
+ {"name": "Touch 'n Go Malaysia", "description": "Malaysian e-wallet", "category": "Payments", "baseUrl": "https://www.touchngo.com.my", "authType": "apiKey"},
171
+ {"name": "Paytm India", "description": "Indian digital payments", "category": "Payments", "baseUrl": "https://developer.paytm.com", "authType": "apiKey"},
172
+ {"name": "PhonePe India", "description": "Indian UPI payments", "category": "Payments", "baseUrl": "https://developer.phonepe.com", "authType": "apiKey"},
173
+ {"name": "UPI India", "description": "Unified Payments Interface India", "category": "Payments", "baseUrl": "https://www.npci.org.in/what-we-do/upi/product-overview", "authType": "apiKey"},
174
+ {"name": "Aadhaar India", "description": "Indian biometric ID", "category": "Authentication", "baseUrl": "https://uidai.gov.in/ecosystem/authentication-ecosystem", "authType": "apiKey"},
175
+ {"name": "India Stack", "description": "Indian digital infrastructure", "category": "Government", "baseUrl": "https://indiastack.org", "authType": "varies"},
176
+ {"name": "Data.gov.in", "description": "Indian government data", "category": "Government", "baseUrl": "https://data.gov.in/api", "authType": "apiKey"},
177
+ {"name": "IMD India Weather", "description": "Indian weather data", "category": "Weather", "baseUrl": "https://mausam.imd.gov.in", "authType": "none"},
178
+
179
+ # Latin American APIs
180
+ {"name": "Mercado Pago", "description": "Latin American payments", "category": "Payments", "baseUrl": "https://www.mercadopago.com.br/developers", "authType": "oauth2"},
181
+ {"name": "PagSeguro Brazil", "description": "Brazilian payments", "category": "Payments", "baseUrl": "https://dev.pagseguro.uol.com.br", "authType": "apiKey"},
182
+ {"name": "Pix Brazil", "description": "Brazilian instant payments", "category": "Payments", "baseUrl": "https://www.bcb.gov.br/estabilidadefinanceira/pix", "authType": "certificate"},
183
+ {"name": "Correios Brazil", "description": "Brazilian postal services", "category": "Logistics", "baseUrl": "http://www.correios.com.br/web-services", "authType": "apiKey"},
184
+ {"name": "IBGE Brazil Stats", "description": "Brazilian statistics", "category": "Government", "baseUrl": "https://servicodados.ibge.gov.br/api", "authType": "none"},
185
+ {"name": "Banco Central Brazil", "description": "Brazilian central bank data", "category": "Finance", "baseUrl": "https://dadosabertos.bcb.gov.br", "authType": "none"},
186
+ {"name": "INPE Brazil Weather", "description": "Brazilian weather data", "category": "Weather", "baseUrl": "http://servicos.cptec.inpe.br/XML", "authType": "none"},
187
+ {"name": "Rappi API", "description": "Latin American delivery", "category": "Logistics", "baseUrl": "https://developers.rappi.com", "authType": "oauth2"},
188
+ {"name": "Mercado Libre", "description": "Latin American marketplace", "category": "E-Commerce", "baseUrl": "https://developers.mercadolibre.com", "authType": "oauth2"},
189
+ {"name": "Nubank API", "description": "Brazilian digital bank", "category": "Finance", "baseUrl": "https://nubank.com.br", "authType": "oauth2"},
190
+ {"name": "Chilexpress Chile", "description": "Chilean courier services", "category": "Logistics", "baseUrl": "https://www.chilexpress.cl/servicios/web-services", "authType": "apiKey"},
191
+ {"name": "Transbank Chile", "description": "Chilean payment gateway", "category": "Payments", "baseUrl": "https://www.transbankdevelopers.cl", "authType": "apiKey"},
192
+ {"name": "BCP Peru", "description": "Peruvian banking", "category": "Finance", "baseUrl": "https://www.viabcp.com", "authType": "apiKey"},
193
+ {"name": "Yape Peru", "description": "Peruvian mobile wallet", "category": "Payments", "baseUrl": "https://www.yape.com.pe", "authType": "apiKey"},
194
+ {"name": "PSE Colombia", "description": "Colombian online payments", "category": "Payments", "baseUrl": "https://www.pse.com.co", "authType": "apiKey"},
195
+ {"name": "Nequi Colombia", "description": "Colombian digital wallet", "category": "Payments", "baseUrl": "https://www.nequi.com.co", "authType": "apiKey"},
196
+ {"name": "SPEI Mexico", "description": "Mexican instant payments", "category": "Payments", "baseUrl": "https://www.banxico.org.mx/servicios/spei.html", "authType": "certificate"},
197
+ {"name": "CoDi Mexico", "description": "Mexican QR payments", "category": "Payments", "baseUrl": "https://www.banxico.org.mx/servicios/codi.html", "authType": "apiKey"},
198
+ {"name": "Correos Mexico", "description": "Mexican postal services", "category": "Logistics", "baseUrl": "https://www.correosdemexico.gob.mx", "authType": "apiKey"},
199
+ {"name": "INEGI Mexico Stats", "description": "Mexican statistics", "category": "Government", "baseUrl": "https://www.inegi.org.mx/servicios/api_indicadores.html", "authType": "none"},
200
+
201
+ # Middle Eastern APIs
202
+ {"name": "Careem UAE", "description": "Middle East ride-hailing", "category": "Transportation", "baseUrl": "https://www.careem.com", "authType": "apiKey"},
203
+ {"name": "Aramex API", "description": "Middle East logistics", "category": "Logistics", "baseUrl": "https://www.aramex.com/ae/en/shipping-resources/shipping-apis", "authType": "apiKey"},
204
+ {"name": "Emirates Post", "description": "UAE postal services", "category": "Logistics", "baseUrl": "https://www.emiratespost.ae", "authType": "apiKey"},
205
+ {"name": "Apple Pay MENA", "description": "Apple Pay Middle East", "category": "Payments", "baseUrl": "https://developer.apple.com/apple-pay", "authType": "certificate"},
206
+ {"name": "Saudi Aramco Data", "description": "Saudi energy data", "category": "Energy", "baseUrl": "https://www.aramco.com/en/investors/data-and-insights", "authType": "none"},
207
+ {"name": "SAMA Saudi Arabia", "description": "Saudi central bank data", "category": "Finance", "baseUrl": "https://www.sama.gov.sa", "authType": "none"},
208
+ {"name": "STC Pay Saudi", "description": "Saudi mobile wallet", "category": "Payments", "baseUrl": "https://www.stcpay.com.sa", "authType": "apiKey"},
209
+ {"name": "CBUAE UAE", "description": "UAE central bank data", "category": "Finance", "baseUrl": "https://www.centralbank.ae", "authType": "none"},
210
+ {"name": "UAE PASS", "description": "UAE digital ID", "category": "Authentication", "baseUrl": "https://uaepass.ae", "authType": "oauth2"},
211
+ {"name": "Israel Post", "description": "Israeli postal services", "category": "Logistics", "baseUrl": "https://www.israelpost.co.il", "authType": "apiKey"},
212
+ {"name": "Bank of Israel", "description": "Israeli central bank data", "category": "Finance", "baseUrl": "https://www.boi.org.il/en/DataAndStatistics", "authType": "none"},
213
+ {"name": "Bit Pay Israel", "description": "Israeli mobile payments", "category": "Payments", "baseUrl": "https://www.bitpay.co.il", "authType": "apiKey"},
214
+
215
+ # African APIs
216
+ {"name": "M-Pesa API", "description": "African mobile money", "category": "Payments", "baseUrl": "https://developer.safaricom.co.ke/APIs/MpesaExpressSimulate", "authType": "oauth2"},
217
+ {"name": "MTN MoMo API", "description": "African mobile money", "category": "Payments", "baseUrl": "https://momodeveloper.mtn.com", "authType": "oauth2"},
218
+ {"name": "Flutterwave API", "description": "African payments", "category": "Payments", "baseUrl": "https://developer.flutterwave.com", "authType": "apiKey"},
219
+ {"name": "Paystack API", "description": "African payments", "category": "Payments", "baseUrl": "https://paystack.com/docs/api", "authType": "apiKey"},
220
+ {"name": "DHL Africa eShop", "description": "African e-commerce logistics", "category": "Logistics", "baseUrl": "https://www.dhlafricaeshop.com", "authType": "apiKey"},
221
+ {"name": "Jumia API", "description": "African marketplace", "category": "E-Commerce", "baseUrl": "https://open-api.jumia.com", "authType": "oauth2"},
222
+ {"name": "South African Reserve Bank", "description": "SA central bank data", "category": "Finance", "baseUrl": "https://www.resbank.co.za", "authType": "none"},
223
+ {"name": "Stats SA", "description": "South African statistics", "category": "Government", "baseUrl": "http://www.statssa.gov.za/?cat=15", "authType": "none"},
224
+ {"name": "SA Weather Service", "description": "South African weather", "category": "Weather", "baseUrl": "https://www.weathersa.co.za", "authType": "apiKey"},
225
+ {"name": "CBN Nigeria", "description": "Nigerian central bank", "category": "Finance", "baseUrl": "https://www.cbn.gov.ng", "authType": "none"},
226
+ {"name": "NBS Nigeria Stats", "description": "Nigerian statistics", "category": "Government", "baseUrl": "https://nigerianstat.gov.ng", "authType": "none"},
227
+ {"name": "NIPOST Nigeria", "description": "Nigerian postal services", "category": "Logistics", "baseUrl": "https://nipost.gov.ng", "authType": "apiKey"},
228
+ {"name": "CBK Kenya", "description": "Kenyan central bank", "category": "Finance", "baseUrl": "https://www.centralbank.go.ke", "authType": "none"},
229
+ {"name": "KNBS Kenya Stats", "description": "Kenyan statistics", "category": "Government", "baseUrl": "https://www.knbs.or.ke", "authType": "none"},
230
+ {"name": "Egypt Post", "description": "Egyptian postal services", "category": "Logistics", "baseUrl": "https://www.egyptpost.org", "authType": "apiKey"},
231
+ {"name": "CBE Egypt", "description": "Egyptian central bank", "category": "Finance", "baseUrl": "https://www.cbe.org.eg", "authType": "none"},
232
+ {"name": "Fawry Egypt", "description": "Egyptian digital payments", "category": "Payments", "baseUrl": "https://developer.fawry.io", "authType": "apiKey"},
233
+
234
+ # Blockchain/Web3 APIs
235
+ {"name": "Alchemy API", "description": "Blockchain development platform", "category": "Blockchain", "baseUrl": "https://docs.alchemy.com", "authType": "apiKey"},
236
+ {"name": "Infura API", "description": "Ethereum infrastructure", "category": "Blockchain", "baseUrl": "https://docs.infura.io", "authType": "apiKey"},
237
+ {"name": "QuickNode", "description": "Blockchain endpoints", "category": "Blockchain", "baseUrl": "https://www.quicknode.com/docs", "authType": "apiKey"},
238
+ {"name": "Moralis API", "description": "Web3 development platform", "category": "Blockchain", "baseUrl": "https://docs.moralis.io", "authType": "apiKey"},
239
+ {"name": "Etherscan API", "description": "Ethereum explorer API", "category": "Blockchain", "baseUrl": "https://docs.etherscan.io", "authType": "apiKey"},
240
+ {"name": "Polygonscan API", "description": "Polygon explorer API", "category": "Blockchain", "baseUrl": "https://docs.polygonscan.com", "authType": "apiKey"},
241
+ {"name": "BscScan API", "description": "BSC explorer API", "category": "Blockchain", "baseUrl": "https://docs.bscscan.com", "authType": "apiKey"},
242
+ {"name": "Solana Web3.js", "description": "Solana blockchain API", "category": "Blockchain", "baseUrl": "https://solana-labs.github.io/solana-web3.js", "authType": "none"},
243
+ {"name": "The Graph API", "description": "Blockchain indexing protocol", "category": "Blockchain", "baseUrl": "https://thegraph.com/docs/en", "authType": "apiKey"},
244
+ {"name": "OpenSea API", "description": "NFT marketplace API", "category": "Blockchain", "baseUrl": "https://docs.opensea.io/reference", "authType": "apiKey"},
245
+ {"name": "Rarible API", "description": "NFT protocol API", "category": "Blockchain", "baseUrl": "https://docs.rarible.org", "authType": "apiKey"},
246
+ {"name": "Chainlink API", "description": "Oracle network API", "category": "Blockchain", "baseUrl": "https://docs.chain.link", "authType": "none"},
247
+ {"name": "Uniswap API", "description": "DEX protocol API", "category": "Blockchain", "baseUrl": "https://docs.uniswap.org", "authType": "none"},
248
+ {"name": "Aave API", "description": "DeFi lending protocol", "category": "Blockchain", "baseUrl": "https://docs.aave.com", "authType": "none"},
249
+ {"name": "Compound API", "description": "DeFi protocol API", "category": "Blockchain", "baseUrl": "https://compound.finance/docs", "authType": "none"},
250
+ {"name": "1inch API", "description": "DEX aggregator API", "category": "Blockchain", "baseUrl": "https://docs.1inch.io", "authType": "none"},
251
+ {"name": "Zapper API", "description": "DeFi dashboard API", "category": "Blockchain", "baseUrl": "https://docs.zapper.fi", "authType": "apiKey"},
252
+ {"name": "DeBank API", "description": "DeFi portfolio tracker", "category": "Blockchain", "baseUrl": "https://docs.debank.com", "authType": "apiKey"},
253
+ {"name": "WalletConnect", "description": "Wallet connection protocol", "category": "Blockchain", "baseUrl": "https://docs.walletconnect.com", "authType": "none"},
254
+ {"name": "MetaMask SDK", "description": "Ethereum wallet SDK", "category": "Blockchain", "baseUrl": "https://docs.metamask.io", "authType": "none"},
255
+
256
+ # Gaming APIs
257
+ {"name": "Steam Web API", "description": "Steam gaming platform", "category": "Gaming", "baseUrl": "https://developer.valvesoftware.com/wiki/Steam_Web_API", "authType": "apiKey"},
258
+ {"name": "Epic Games Store API", "description": "Epic Games platform", "category": "Gaming", "baseUrl": "https://dev.epicgames.com/docs", "authType": "oauth2"},
259
+ {"name": "Xbox Live API", "description": "Xbox gaming services", "category": "Gaming", "baseUrl": "https://docs.microsoft.com/en-us/gaming/xbox-live", "authType": "oauth2"},
260
+ {"name": "PlayStation Network API", "description": "PlayStation services", "category": "Gaming", "baseUrl": "https://partners.playstation.net", "authType": "oauth2"},
261
+ {"name": "Nintendo Account API", "description": "Nintendo services", "category": "Gaming", "baseUrl": "https://developer.nintendo.com", "authType": "oauth2"},
262
+ {"name": "Riot Games API", "description": "League of Legends data", "category": "Gaming", "baseUrl": "https://developer.riotgames.com", "authType": "apiKey"},
263
+ {"name": "Blizzard API", "description": "Blizzard game data", "category": "Gaming", "baseUrl": "https://develop.battle.net/documentation", "authType": "oauth2"},
264
+ {"name": "Fortnite API", "description": "Fortnite game data", "category": "Gaming", "baseUrl": "https://fortnite-api.com", "authType": "none"},
265
+ {"name": "RAWG Video Games API", "description": "Video games database", "category": "Gaming", "baseUrl": "https://rawg.io/apidocs", "authType": "apiKey"},
266
+ {"name": "IGDB API", "description": "Internet Game Database", "category": "Gaming", "baseUrl": "https://api-docs.igdb.com", "authType": "oauth2"},
267
+ {"name": "CheapShark API", "description": "Game deals aggregator", "category": "Gaming", "baseUrl": "https://apidocs.cheapshark.com", "authType": "none"},
268
+ {"name": "IsThereAnyDeal API", "description": "Game price tracking", "category": "Gaming", "baseUrl": "https://docs.isthereanydeal.com", "authType": "apiKey"},
269
+ {"name": "GiantBomb API", "description": "Video game database", "category": "Gaming", "baseUrl": "https://www.giantbomb.com/api", "authType": "apiKey"},
270
+ {"name": "Twitch Drops API", "description": "Twitch rewards system", "category": "Gaming", "baseUrl": "https://dev.twitch.tv/docs/drops", "authType": "oauth2"},
271
+ {"name": "Discord GameSDK", "description": "Discord game integration", "category": "Gaming", "baseUrl": "https://discord.com/developers/docs/game-sdk", "authType": "oauth2"},
272
+
273
+ # Education APIs
274
+ {"name": "Coursera API", "description": "Online learning platform", "category": "Education", "baseUrl": "https://www.coursera.org/developer", "authType": "oauth2"},
275
+ {"name": "Udemy API", "description": "Online courses platform", "category": "Education", "baseUrl": "https://www.udemy.com/developers", "authType": "oauth2"},
276
+ {"name": "Khan Academy API", "description": "Free education platform", "category": "Education", "baseUrl": "https://github.com/Khan/khan-api", "authType": "oauth2"},
277
+ {"name": "Duolingo API", "description": "Language learning platform", "category": "Education", "baseUrl": "https://www.duolingo.com", "authType": "none"},
278
+ {"name": "edX API", "description": "Online learning platform", "category": "Education", "baseUrl": "https://openedx.atlassian.net/wiki/spaces/DOC/pages", "authType": "oauth2"},
279
+ {"name": "Canvas LMS API", "description": "Learning management system", "category": "Education", "baseUrl": "https://canvas.instructure.com/doc/api", "authType": "oauth2"},
280
+ {"name": "Moodle Web Services", "description": "Open source LMS", "category": "Education", "baseUrl": "https://docs.moodle.org/dev/Web_service_API_functions", "authType": "apiKey"},
281
+ {"name": "Blackboard API", "description": "LMS platform API", "category": "Education", "baseUrl": "https://developer.blackboard.com", "authType": "oauth2"},
282
+ {"name": "Schoology API", "description": "Education management", "category": "Education", "baseUrl": "https://developers.schoology.com", "authType": "oauth2"},
283
+ {"name": "ClassDojo API", "description": "Classroom management", "category": "Education", "baseUrl": "https://www.classdojo.com", "authType": "oauth2"},
284
+ {"name": "Quizlet API", "description": "Study tools platform", "category": "Education", "baseUrl": "https://quizlet.com/api", "authType": "oauth2"},
285
+ {"name": "Brainly API", "description": "Homework help platform", "category": "Education", "baseUrl": "https://brainly.com", "authType": "oauth2"},
286
+ {"name": "Wolfram Alpha API", "description": "Computational knowledge", "category": "Education", "baseUrl": "https://products.wolframalpha.com/api", "authType": "apiKey"},
287
+ {"name": "Symbolab API", "description": "Math solver API", "category": "Education", "baseUrl": "https://www.symbolab.com", "authType": "apiKey"},
288
+ {"name": "Photomath API", "description": "Math learning AI", "category": "Education", "baseUrl": "https://photomath.com", "authType": "apiKey"},
289
+
290
+ # Healthcare APIs
291
+ {"name": "Epic FHIR API", "description": "Healthcare interoperability", "category": "Health", "baseUrl": "https://fhir.epic.com", "authType": "oauth2"},
292
+ {"name": "Cerner FHIR API", "description": "Healthcare data platform", "category": "Health", "baseUrl": "https://fhir.cerner.com", "authType": "oauth2"},
293
+ {"name": "Allscripts API", "description": "Healthcare IT platform", "category": "Health", "baseUrl": "https://developer.allscripts.com", "authType": "oauth2"},
294
+ {"name": "athenahealth API", "description": "Healthcare network", "category": "Health", "baseUrl": "https://docs.athenahealth.com", "authType": "oauth2"},
295
+ {"name": "DrChrono API", "description": "Medical practice management", "category": "Health", "baseUrl": "https://www.drchrono.com/api", "authType": "oauth2"},
296
+ {"name": "Redox API", "description": "Healthcare data platform", "category": "Health", "baseUrl": "https://developer.redoxengine.com", "authType": "apiKey"},
297
+ {"name": "1up Health API", "description": "Health data aggregation", "category": "Health", "baseUrl": "https://1up.health/dev", "authType": "oauth2"},
298
+ {"name": "Human API", "description": "Health data platform", "category": "Health", "baseUrl": "https://docs.humanapi.co", "authType": "oauth2"},
299
+ {"name": "Validic API", "description": "Health data integration", "category": "Health", "baseUrl": "https://docs.validic.com", "authType": "apiKey"},
300
+ {"name": "Apple HealthKit", "description": "iOS health data", "category": "Health", "baseUrl": "https://developer.apple.com/documentation/healthkit", "authType": "none"},
301
+ {"name": "Google Fit API", "description": "Android health data", "category": "Health", "baseUrl": "https://developers.google.com/fit", "authType": "oauth2"},
302
+ {"name": "Samsung Health SDK", "description": "Samsung health data", "category": "Health", "baseUrl": "https://developer.samsung.com/health", "authType": "oauth2"},
303
+ {"name": "Garmin Health API", "description": "Garmin fitness data", "category": "Health", "baseUrl": "https://developer.garmin.com/health-api", "authType": "oauth2"},
304
+ {"name": "Oura Ring API", "description": "Sleep and fitness data", "category": "Health", "baseUrl": "https://cloud.ouraring.com/docs", "authType": "oauth2"},
305
+ {"name": "Whoop API", "description": "Fitness recovery data", "category": "Health", "baseUrl": "https://developer.whoop.com", "authType": "oauth2"},
306
+
307
+ # Real Estate APIs
308
+ {"name": "Zillow API", "description": "US real estate data", "category": "Real Estate", "baseUrl": "https://www.zillow.com/howto/api/APIOverview.htm", "authType": "apiKey"},
309
+ {"name": "Realtor.com API", "description": "US property listings", "category": "Real Estate", "baseUrl": "https://www.realtor.com/api", "authType": "apiKey"},
310
+ {"name": "Redfin API", "description": "Real estate brokerage", "category": "Real Estate", "baseUrl": "https://www.redfin.com", "authType": "apiKey"},
311
+ {"name": "Trulia API", "description": "Real estate marketplace", "category": "Real Estate", "baseUrl": "https://www.trulia.com/about/api", "authType": "apiKey"},
312
+ {"name": "ATTOM Property API", "description": "Property data platform", "category": "Real Estate", "baseUrl": "https://api.gateway.attomdata.com/propertyapi/v1.0.0", "authType": "apiKey"},
313
+ {"name": "CoreLogic API", "description": "Property analytics", "category": "Real Estate", "baseUrl": "https://www.corelogic.com/solutions/property-data", "authType": "apiKey"},
314
+ {"name": "Estated API", "description": "Property data API", "category": "Real Estate", "baseUrl": "https://estated.com/developers", "authType": "apiKey"},
315
+ {"name": "RentCast API", "description": "Rental property data", "category": "Real Estate", "baseUrl": "https://developers.rentcast.io", "authType": "apiKey"},
316
+ {"name": "Mashvisor API", "description": "Real estate investment", "category": "Real Estate", "baseUrl": "https://www.mashvisor.com/api", "authType": "apiKey"},
317
+ {"name": "Rightmove UK", "description": "UK property listings", "category": "Real Estate", "baseUrl": "https://www.rightmove.co.uk/developer", "authType": "apiKey"},
318
+ {"name": "Zoopla UK", "description": "UK property data", "category": "Real Estate", "baseUrl": "https://developer.zoopla.co.uk", "authType": "apiKey"},
319
+ {"name": "Domain Australia", "description": "Australian property", "category": "Real Estate", "baseUrl": "https://developer.domain.com.au", "authType": "oauth2"},
320
+ {"name": "Hemnet Sweden", "description": "Swedish property listings", "category": "Real Estate", "baseUrl": "https://www.hemnet.se", "authType": "apiKey"},
321
+ {"name": "Immobilienscout24", "description": "German property listings", "category": "Real Estate", "baseUrl": "https://api.immobilienscout24.de", "authType": "oauth2"},
322
+ {"name": "SeLoger France", "description": "French property listings", "category": "Real Estate", "baseUrl": "https://www.seloger.com", "authType": "apiKey"},
323
+
324
+ # Travel APIs
325
+ {"name": "Amadeus API", "description": "Travel booking platform", "category": "Travel", "baseUrl": "https://developers.amadeus.com", "authType": "oauth2"},
326
+ {"name": "Sabre API", "description": "Travel technology", "category": "Travel", "baseUrl": "https://developer.sabre.com", "authType": "oauth2"},
327
+ {"name": "Travelport API", "description": "Travel commerce platform", "category": "Travel", "baseUrl": "https://developer.travelport.com", "authType": "oauth2"},
328
+ {"name": "Skyscanner API", "description": "Flight comparison", "category": "Travel", "baseUrl": "https://partners.skyscanner.net", "authType": "apiKey"},
329
+ {"name": "Kiwi.com API", "description": "Flight booking", "category": "Travel", "baseUrl": "https://docs.kiwi.com", "authType": "apiKey"},
330
+ {"name": "Google Flights API", "description": "Flight search", "category": "Travel", "baseUrl": "https://developers.google.com/qpx-express", "authType": "apiKey"},
331
+ {"name": "Booking.com API", "description": "Hotel booking", "category": "Travel", "baseUrl": "https://developers.booking.com", "authType": "oauth2"},
332
+ {"name": "Expedia API", "description": "Travel booking", "category": "Travel", "baseUrl": "https://developers.expediagroup.com", "authType": "apiKey"},
333
+ {"name": "Hotels.com API", "description": "Hotel booking", "category": "Travel", "baseUrl": "https://developer.hotels.com", "authType": "oauth2"},
334
+ {"name": "Airbnb API", "description": "Vacation rentals", "category": "Travel", "baseUrl": "https://developer.airbnb.com", "authType": "oauth2"},
335
+ {"name": "VRBO API", "description": "Vacation rentals", "category": "Travel", "baseUrl": "https://www.vrbo.com/platform/developer", "authType": "oauth2"},
336
+ {"name": "TripAdvisor API", "description": "Travel reviews", "category": "Travel", "baseUrl": "https://www.tripadvisor.com/developers", "authType": "apiKey"},
337
+ {"name": "Yelp Fusion API", "description": "Local business reviews", "category": "Travel", "baseUrl": "https://www.yelp.com/developers", "authType": "apiKey"},
338
+ {"name": "Google Places API", "description": "Place information", "category": "Travel", "baseUrl": "https://developers.google.com/maps/documentation/places", "authType": "apiKey"},
339
+ {"name": "Foursquare Places API", "description": "Location intelligence", "category": "Travel", "baseUrl": "https://developer.foursquare.com", "authType": "oauth2"},
340
+ {"name": "Rome2Rio API", "description": "Multi-modal travel", "category": "Travel", "baseUrl": "https://www.rome2rio.com/documentation", "authType": "apiKey"},
341
+ {"name": "Sygic Travel API", "description": "Travel content", "category": "Travel", "baseUrl": "https://travel.sygic.com/en/api", "authType": "apiKey"},
342
+ {"name": "OpenTripMap API", "description": "Points of interest", "category": "Travel", "baseUrl": "https://opentripmap.io/docs", "authType": "apiKey"},
343
+ {"name": "TourRadar API", "description": "Tour booking", "category": "Travel", "baseUrl": "https://www.tourradar.com/partner", "authType": "apiKey"},
344
+ {"name": "Viator API", "description": "Tours and activities", "category": "Travel", "baseUrl": "https://viatorapi.viator.com", "authType": "apiKey"},
345
+ {"name": "GetYourGuide API", "description": "Tours and activities", "category": "Travel", "baseUrl": "https://partner.getyourguide.com", "authType": "apiKey"},
346
+ {"name": "Klook API", "description": "Asia activities", "category": "Travel", "baseUrl": "https://affiliate.klook.com", "authType": "apiKey"},
347
+ {"name": "Trainline API", "description": "European rail booking", "category": "Travel", "baseUrl": "https://www.thetrainline.com/trains/europe/rail-apis", "authType": "apiKey"},
348
+ {"name": "Omio API", "description": "European travel booking", "category": "Travel", "baseUrl": "https://www.omio.com", "authType": "apiKey"},
349
+ {"name": "FlixBus API", "description": "European bus booking", "category": "Travel", "baseUrl": "https://global.flixbus.com", "authType": "apiKey"},
350
+
351
+ # Food/Restaurant APIs
352
+ {"name": "Yelp Fusion", "description": "Restaurant reviews", "category": "Food", "baseUrl": "https://www.yelp.com/developers", "authType": "apiKey"},
353
+ {"name": "Zomato API", "description": "Restaurant search", "category": "Food", "baseUrl": "https://developers.zomato.com", "authType": "apiKey"},
354
+ {"name": "OpenTable API", "description": "Restaurant reservations", "category": "Food", "baseUrl": "https://www.opentable.com/partner/partners", "authType": "apiKey"},
355
+ {"name": "Resy API", "description": "Restaurant reservations", "category": "Food", "baseUrl": "https://resy.com", "authType": "apiKey"},
356
+ {"name": "TheFork API", "description": "European reservations", "category": "Food", "baseUrl": "https://partner.thefork.com", "authType": "apiKey"},
357
+ {"name": "DoorDash API", "description": "Food delivery", "category": "Food", "baseUrl": "https://developer.doordash.com", "authType": "oauth2"},
358
+ {"name": "Uber Eats API", "description": "Food delivery", "category": "Food", "baseUrl": "https://developer.uber.com/docs/eats", "authType": "oauth2"},
359
+ {"name": "Grubhub API", "description": "Food delivery", "category": "Food", "baseUrl": "https://about.grubhub.com/partner-with-us", "authType": "apiKey"},
360
+ {"name": "Postmates API", "description": "Local delivery", "category": "Food", "baseUrl": "https://postmates.com/developer", "authType": "oauth2"},
361
+ {"name": "Deliveroo API", "description": "UK food delivery", "category": "Food", "baseUrl": "https://restaurants.deliveroo.com", "authType": "apiKey"},
362
+ {"name": "Just Eat API", "description": "European food delivery", "category": "Food", "baseUrl": "https://developers.just-eat.com", "authType": "apiKey"},
363
+ {"name": "Seamless API", "description": "Food delivery NYC", "category": "Food", "baseUrl": "https://www.seamless.com", "authType": "apiKey"},
364
+ {"name": "Chowbus API", "description": "Asian food delivery", "category": "Food", "baseUrl": "https://www.chowbus.com", "authType": "apiKey"},
365
+ {"name": "Swiggy API", "description": "Indian food delivery", "category": "Food", "baseUrl": "https://www.swiggy.com", "authType": "apiKey"},
366
+ {"name": "Foodpanda API", "description": "Asian food delivery", "category": "Food", "baseUrl": "https://www.foodpanda.com", "authType": "apiKey"},
367
+ {"name": "iFood API", "description": "Brazilian food delivery", "category": "Food", "baseUrl": "https://portal.ifood.com.br", "authType": "apiKey"},
368
+ {"name": "Spoonacular API", "description": "Recipe and nutrition", "category": "Food", "baseUrl": "https://spoonacular.com/food-api", "authType": "apiKey"},
369
+ {"name": "Edamam API", "description": "Nutrition data", "category": "Food", "baseUrl": "https://developer.edamam.com", "authType": "apiKey"},
370
+ {"name": "Nutritionix API", "description": "Nutrition database", "category": "Food", "baseUrl": "https://www.nutritionix.com/business/api", "authType": "apiKey"},
371
+ {"name": "FatSecret API", "description": "Food and exercise", "category": "Food", "baseUrl": "https://platform.fatsecret.com", "authType": "oauth2"},
372
+ {"name": "MealDB API", "description": "Recipe database", "category": "Food", "baseUrl": "https://www.themealdb.com/api.php", "authType": "none"},
373
+ {"name": "CocktailDB API", "description": "Drink recipes", "category": "Food", "baseUrl": "https://www.thecocktaildb.com/api.php", "authType": "none"},
374
+ ]
375
+
376
+ def load_registry():
377
+ with open(REGISTRY_PATH, 'r') as f:
378
+ return json.load(f)
379
+
380
+ def save_registry(registry):
381
+ with open(REGISTRY_PATH, 'w') as f:
382
+ json.dump(registry, f, indent=2)
383
+
384
+ def normalize_name(name):
385
+ return name.lower().replace(" ", "").replace("-", "").replace("_", "")
386
+
387
+ def main():
388
+ print(f"šŸ¦ž APIClaw Night Expansion Batch B - {datetime.now().strftime('%Y-%m-%d %H:%M')}")
389
+ print("=" * 60)
390
+
391
+ registry = load_registry()
392
+ existing_apis = registry.get('apis', [])
393
+ existing_count = len(existing_apis)
394
+ print(f"šŸ“Š Current registry: {existing_count} APIs")
395
+
396
+ existing_names = set()
397
+ for api in existing_apis:
398
+ existing_names.add(normalize_name(api.get('name', '')))
399
+
400
+ added = 0
401
+ skipped = 0
402
+
403
+ for api in NICHE_APIS:
404
+ normalized = normalize_name(api['name'])
405
+ if normalized not in existing_names:
406
+ existing_apis.append(api)
407
+ existing_names.add(normalized)
408
+ added += 1
409
+ else:
410
+ skipped += 1
411
+
412
+ registry['apis'] = existing_apis
413
+ registry['count'] = len(existing_apis)
414
+ registry['lastUpdated'] = datetime.now().strftime('%Y-%m-%d')
415
+ registry['version'] = '3.2.1'
416
+
417
+ save_registry(registry)
418
+
419
+ print(f"āœ… Added: {added} new APIs")
420
+ print(f"ā­ļø Skipped (duplicates): {skipped}")
421
+ print(f"šŸ“Š New total: {len(existing_apis)} APIs")
422
+
423
+ return added
424
+
425
+ if __name__ == "__main__":
426
+ added = main()
427
+ print(f"\nšŸŽÆ Result: +{added} APIs")