@nordsym/apiclaw 1.2.2 → 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.
- package/AGENTS.md +50 -33
- package/README.md +22 -12
- package/SOUL.md +60 -19
- package/STATUS.md +91 -169
- package/convex/_generated/api.d.ts +6 -0
- package/convex/directCall.ts +598 -0
- package/convex/providers.ts +341 -26
- package/convex/schema.ts +87 -0
- package/convex/usage.ts +260 -0
- package/convex/waitlist.ts +55 -0
- package/data/combined-02-26.json +22102 -0
- package/data/night-expansion-02-26-06-batch2.json +1898 -0
- package/data/night-expansion-02-26-06-batch3.json +1410 -0
- package/data/night-expansion-02-26-06.json +3146 -0
- package/data/night-expansion-02-26-full.json +9726 -0
- package/data/night-expansion-02-26-v2.json +330 -0
- package/data/night-expansion-02-26.json +171 -0
- package/dist/crypto.d.ts +7 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +67 -0
- package/dist/crypto.js.map +1 -0
- package/dist/execute-dynamic.d.ts +116 -0
- package/dist/execute-dynamic.d.ts.map +1 -0
- package/dist/execute-dynamic.js +456 -0
- package/dist/execute-dynamic.js.map +1 -0
- package/dist/execute.d.ts +2 -1
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +35 -5
- package/dist/execute.js.map +1 -1
- package/dist/index.js +33 -4
- package/dist/index.js.map +1 -1
- package/dist/registry/apis.json +2081 -3
- package/docs/PRD-customer-key-passthrough.md +184 -0
- package/landing/public/badges/available-on-apiclaw.svg +14 -0
- package/landing/scripts/generate-stats.js +75 -4
- package/landing/src/app/admin/page.tsx +1 -1
- package/landing/src/app/api/auth/magic-link/route.ts +1 -1
- package/landing/src/app/api/auth/session/route.ts +1 -1
- package/landing/src/app/api/auth/verify/route.ts +1 -1
- package/landing/src/app/api/og/route.tsx +5 -3
- package/landing/src/app/docs/page.tsx +5 -4
- package/landing/src/app/earn/page.tsx +14 -11
- package/landing/src/app/globals.css +16 -15
- package/landing/src/app/layout.tsx +2 -2
- package/landing/src/app/page.tsx +425 -254
- package/landing/src/app/providers/dashboard/[apiId]/actions/[actionId]/edit/page.tsx +600 -0
- package/landing/src/app/providers/dashboard/[apiId]/actions/new/page.tsx +583 -0
- package/landing/src/app/providers/dashboard/[apiId]/actions/page.tsx +301 -0
- package/landing/src/app/providers/dashboard/[apiId]/direct-call/page.tsx +659 -0
- package/landing/src/app/providers/dashboard/[apiId]/page.tsx +381 -0
- package/landing/src/app/providers/dashboard/[apiId]/test/page.tsx +418 -0
- package/landing/src/app/providers/dashboard/layout.tsx +292 -0
- package/landing/src/app/providers/dashboard/page.tsx +353 -290
- package/landing/src/app/providers/register/page.tsx +87 -10
- package/landing/src/components/AiClientDropdown.tsx +85 -0
- package/landing/src/components/ConfigHelperModal.tsx +113 -0
- package/landing/src/components/HeroTabs.tsx +187 -0
- package/landing/src/components/ShareIntegrationModal.tsx +198 -0
- package/landing/src/hooks/useDashboardData.ts +53 -1
- package/landing/src/lib/apis.json +46554 -174
- package/landing/src/lib/convex-client.ts +22 -3
- package/landing/src/lib/stats.json +4 -4
- package/landing/tsconfig.tsbuildinfo +1 -1
- package/night-expansion-02-26-06-batch2.py +368 -0
- package/night-expansion-02-26-06-batch3.py +299 -0
- package/night-expansion-02-26-06.py +756 -0
- package/package.json +1 -1
- package/scripts/bulk-add-public-apis-v2.py +418 -0
- package/scripts/night-expansion-02-26-v2.py +296 -0
- package/scripts/night-expansion-02-26.py +890 -0
- package/scripts/seed-complete-api.js +181 -0
- package/scripts/seed-demo-api.sh +44 -0
- package/src/crypto.ts +75 -0
- package/src/execute-dynamic.ts +589 -0
- package/src/execute.ts +41 -5
- package/src/index.ts +38 -4
- package/src/registry/apis.json +2081 -3
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
APIClaw Night Expansion 2026-02-26 06:00 - Batch 2
|
|
4
|
+
Target: 600+ more APIs to reach 1000+ for this run
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import json
|
|
8
|
+
import re
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
|
|
11
|
+
# Load existing to avoid duplicates
|
|
12
|
+
combined_file = Path("/Users/gustavhemmingsson/Projects/apiclaw/data/combined-02-26.json")
|
|
13
|
+
existing_ids = set()
|
|
14
|
+
if combined_file.exists():
|
|
15
|
+
with open(combined_file) as f:
|
|
16
|
+
for api in json.load(f):
|
|
17
|
+
existing_ids.add(api.get('id', ''))
|
|
18
|
+
|
|
19
|
+
print(f"Loaded {len(existing_ids)} existing API IDs")
|
|
20
|
+
|
|
21
|
+
def make_id(name):
|
|
22
|
+
slug = re.sub(r'[^a-z0-9]+', '-', name.lower()).strip('-')
|
|
23
|
+
return slug[:50]
|
|
24
|
+
|
|
25
|
+
# MASSIVE batch of additional APIs
|
|
26
|
+
batch2_apis = [
|
|
27
|
+
# Healthcare & Medical (expanded)
|
|
28
|
+
{"name": "OpenMRS", "desc": "Open source medical records", "cat": "Healthcare", "url": "https://wiki.openmrs.org/display/docs/REST+Web+Services+API+For+Clients", "auth": "apiKey"},
|
|
29
|
+
{"name": "HAPI FHIR", "desc": "Healthcare interoperability", "cat": "Healthcare", "url": "https://hapifhir.io/", "auth": "None"},
|
|
30
|
+
{"name": "DrugBank", "desc": "Drug information database", "cat": "Healthcare", "url": "https://docs.drugbank.com/v1/", "auth": "apiKey"},
|
|
31
|
+
{"name": "RxNorm", "desc": "Drug naming standards", "cat": "Healthcare", "url": "https://lhncbc.nlm.nih.gov/RxNav/APIs/", "auth": "None"},
|
|
32
|
+
{"name": "OpenFDA Drug", "desc": "FDA drug data", "cat": "Healthcare", "url": "https://open.fda.gov/apis/drug/", "auth": "None"},
|
|
33
|
+
{"name": "ClinicalTrials.gov", "desc": "Clinical trial data", "cat": "Healthcare", "url": "https://clinicaltrials.gov/api/", "auth": "None"},
|
|
34
|
+
{"name": "Healthcare.gov", "desc": "US healthcare data", "cat": "Healthcare", "url": "https://www.healthcare.gov/developers/", "auth": "None"},
|
|
35
|
+
{"name": "BioDigital", "desc": "3D human anatomy", "cat": "Healthcare", "url": "https://developer.biodigital.com/", "auth": "apiKey"},
|
|
36
|
+
{"name": "infermedica", "desc": "Medical diagnosis AI", "cat": "Healthcare", "url": "https://developer.infermedica.com/docs/", "auth": "apiKey"},
|
|
37
|
+
{"name": "MedlinePlus", "desc": "Health information", "cat": "Healthcare", "url": "https://medlineplus.gov/webservices.html", "auth": "None"},
|
|
38
|
+
|
|
39
|
+
# Logistics & Supply Chain
|
|
40
|
+
{"name": "Shippo", "desc": "Multi-carrier shipping", "cat": "Shipping", "url": "https://goshippo.com/docs/", "auth": "apiKey"},
|
|
41
|
+
{"name": "EasyPost", "desc": "Shipping API", "cat": "Shipping", "url": "https://www.easypost.com/docs/api", "auth": "apiKey"},
|
|
42
|
+
{"name": "Shipstation", "desc": "Order management", "cat": "Shipping", "url": "https://www.shipstation.com/docs/api/", "auth": "apiKey"},
|
|
43
|
+
{"name": "PostNord", "desc": "Nordic postal service", "cat": "Shipping", "url": "https://developer.postnord.com/", "auth": "apiKey"},
|
|
44
|
+
{"name": "Deutsche Post", "desc": "German postal service", "cat": "Shipping", "url": "https://developer.dhl.com/", "auth": "apiKey"},
|
|
45
|
+
{"name": "Royal Mail", "desc": "UK postal service", "cat": "Shipping", "url": "https://developer.royalmail.com/", "auth": "apiKey"},
|
|
46
|
+
{"name": "Australia Post", "desc": "Australian postal", "cat": "Shipping", "url": "https://developers.auspost.com.au/", "auth": "apiKey"},
|
|
47
|
+
{"name": "USPS", "desc": "US Postal Service", "cat": "Shipping", "url": "https://www.usps.com/business/web-tools-apis/", "auth": "apiKey"},
|
|
48
|
+
{"name": "Pitney Bowes", "desc": "Shipping and mailing", "cat": "Shipping", "url": "https://shipping360.pitneybowes.com/api/", "auth": "apiKey"},
|
|
49
|
+
{"name": "Freightos", "desc": "Freight rates", "cat": "Shipping", "url": "https://www.freightos.com/freight-api/", "auth": "apiKey"},
|
|
50
|
+
|
|
51
|
+
# HR & Recruiting
|
|
52
|
+
{"name": "Greenhouse", "desc": "Recruiting software", "cat": "HR", "url": "https://developers.greenhouse.io/", "auth": "apiKey"},
|
|
53
|
+
{"name": "Lever", "desc": "Recruiting platform", "cat": "HR", "url": "https://hire.lever.co/developer/documentation", "auth": "apiKey"},
|
|
54
|
+
{"name": "Workable", "desc": "Recruiting software", "cat": "HR", "url": "https://workable.readme.io/reference", "auth": "apiKey"},
|
|
55
|
+
{"name": "BambooHR", "desc": "HR software", "cat": "HR", "url": "https://documentation.bamboohr.com/reference", "auth": "apiKey"},
|
|
56
|
+
{"name": "Gusto", "desc": "Payroll and benefits", "cat": "HR", "url": "https://docs.gusto.com/", "auth": "OAuth"},
|
|
57
|
+
{"name": "Rippling", "desc": "HR platform", "cat": "HR", "url": "https://developer.rippling.com/", "auth": "OAuth"},
|
|
58
|
+
{"name": "Personio", "desc": "HR management", "cat": "HR", "url": "https://developer.personio.de/reference", "auth": "apiKey"},
|
|
59
|
+
{"name": "HiBob", "desc": "HR platform", "cat": "HR", "url": "https://apidocs.hibob.com/", "auth": "apiKey"},
|
|
60
|
+
{"name": "Namely", "desc": "HR software", "cat": "HR", "url": "https://developers.namely.com/", "auth": "OAuth"},
|
|
61
|
+
{"name": "Zenefits", "desc": "HR platform", "cat": "HR", "url": "https://developers.zenefits.com/", "auth": "OAuth"},
|
|
62
|
+
|
|
63
|
+
# Legal & Compliance
|
|
64
|
+
{"name": "DocuSign", "desc": "Electronic signatures", "cat": "Legal", "url": "https://developers.docusign.com/", "auth": "OAuth"},
|
|
65
|
+
{"name": "HelloSign", "desc": "E-signatures", "cat": "Legal", "url": "https://developers.hellosign.com/", "auth": "apiKey"},
|
|
66
|
+
{"name": "PandaDoc", "desc": "Document automation", "cat": "Legal", "url": "https://developers.pandadoc.com/", "auth": "apiKey"},
|
|
67
|
+
{"name": "Ironclad", "desc": "Contract management", "cat": "Legal", "url": "https://developer.ironcladapp.com/", "auth": "OAuth"},
|
|
68
|
+
{"name": "ContractWorks", "desc": "Contract management", "cat": "Legal", "url": "https://www.contractworks.com/api", "auth": "apiKey"},
|
|
69
|
+
{"name": "Clio", "desc": "Legal practice management", "cat": "Legal", "url": "https://developers.clio.com/", "auth": "OAuth"},
|
|
70
|
+
{"name": "GDPR API", "desc": "GDPR compliance", "cat": "Legal", "url": "https://gdpr-info.eu/", "auth": "None"},
|
|
71
|
+
{"name": "Vanta", "desc": "Compliance automation", "cat": "Security", "url": "https://www.vanta.com/api", "auth": "apiKey"},
|
|
72
|
+
{"name": "Drata", "desc": "Compliance platform", "cat": "Security", "url": "https://drata.com/platform/api", "auth": "apiKey"},
|
|
73
|
+
{"name": "OneTrust", "desc": "Privacy management", "cat": "Legal", "url": "https://developer.onetrust.com/", "auth": "OAuth"},
|
|
74
|
+
|
|
75
|
+
# Customer Support
|
|
76
|
+
{"name": "Zendesk", "desc": "Customer service", "cat": "Support", "url": "https://developer.zendesk.com/", "auth": "OAuth"},
|
|
77
|
+
{"name": "Freshdesk", "desc": "Help desk software", "cat": "Support", "url": "https://developers.freshdesk.com/", "auth": "apiKey"},
|
|
78
|
+
{"name": "Intercom", "desc": "Customer messaging", "cat": "Support", "url": "https://developers.intercom.com/", "auth": "OAuth"},
|
|
79
|
+
{"name": "Helpscout", "desc": "Customer support", "cat": "Support", "url": "https://developer.helpscout.com/", "auth": "OAuth"},
|
|
80
|
+
{"name": "Crisp", "desc": "Customer messaging", "cat": "Support", "url": "https://docs.crisp.chat/api/v1/", "auth": "apiKey"},
|
|
81
|
+
{"name": "Drift", "desc": "Conversational marketing", "cat": "Marketing", "url": "https://devdocs.drift.com/", "auth": "OAuth"},
|
|
82
|
+
{"name": "Tawk.to", "desc": "Live chat", "cat": "Support", "url": "https://developer.tawk.to/", "auth": "apiKey"},
|
|
83
|
+
{"name": "LiveChat", "desc": "Live chat software", "cat": "Support", "url": "https://developers.livechat.com/", "auth": "OAuth"},
|
|
84
|
+
{"name": "Kustomer", "desc": "Customer service", "cat": "Support", "url": "https://developer.kustomer.com/", "auth": "apiKey"},
|
|
85
|
+
{"name": "Gorgias", "desc": "E-commerce support", "cat": "Support", "url": "https://developers.gorgias.com/", "auth": "apiKey"},
|
|
86
|
+
|
|
87
|
+
# Marketing Automation
|
|
88
|
+
{"name": "HubSpot", "desc": "Marketing platform", "cat": "Marketing", "url": "https://developers.hubspot.com/", "auth": "OAuth"},
|
|
89
|
+
{"name": "Marketo", "desc": "Marketing automation", "cat": "Marketing", "url": "https://developers.marketo.com/", "auth": "OAuth"},
|
|
90
|
+
{"name": "Pardot", "desc": "B2B marketing", "cat": "Marketing", "url": "https://developer.salesforce.com/docs/marketing/pardot/", "auth": "OAuth"},
|
|
91
|
+
{"name": "ActiveCampaign", "desc": "Email marketing", "cat": "Marketing", "url": "https://developers.activecampaign.com/", "auth": "apiKey"},
|
|
92
|
+
{"name": "Klaviyo", "desc": "E-commerce marketing", "cat": "Marketing", "url": "https://developers.klaviyo.com/", "auth": "apiKey"},
|
|
93
|
+
{"name": "Braze", "desc": "Customer engagement", "cat": "Marketing", "url": "https://www.braze.com/docs/api/", "auth": "apiKey"},
|
|
94
|
+
{"name": "Iterable", "desc": "Cross-channel marketing", "cat": "Marketing", "url": "https://api.iterable.com/api/docs", "auth": "apiKey"},
|
|
95
|
+
{"name": "Customer.io", "desc": "Messaging automation", "cat": "Marketing", "url": "https://customer.io/docs/api/", "auth": "apiKey"},
|
|
96
|
+
{"name": "Drip", "desc": "E-commerce CRM", "cat": "Marketing", "url": "https://developer.drip.com/", "auth": "OAuth"},
|
|
97
|
+
{"name": "Omnisend", "desc": "E-commerce marketing", "cat": "Marketing", "url": "https://api-docs.omnisend.com/", "auth": "apiKey"},
|
|
98
|
+
|
|
99
|
+
# Accounting & Invoicing
|
|
100
|
+
{"name": "QuickBooks", "desc": "Accounting software", "cat": "Finance", "url": "https://developer.intuit.com/app/developer/qbo/docs/", "auth": "OAuth"},
|
|
101
|
+
{"name": "Xero", "desc": "Accounting platform", "cat": "Finance", "url": "https://developer.xero.com/", "auth": "OAuth"},
|
|
102
|
+
{"name": "FreshBooks", "desc": "Invoicing software", "cat": "Finance", "url": "https://www.freshbooks.com/api/", "auth": "OAuth"},
|
|
103
|
+
{"name": "Wave", "desc": "Small business accounting", "cat": "Finance", "url": "https://developer.waveapps.com/", "auth": "OAuth"},
|
|
104
|
+
{"name": "Sage", "desc": "Accounting software", "cat": "Finance", "url": "https://developer.sage.com/", "auth": "OAuth"},
|
|
105
|
+
{"name": "Zoho Books", "desc": "Accounting software", "cat": "Finance", "url": "https://www.zoho.com/books/api/v3/", "auth": "OAuth"},
|
|
106
|
+
{"name": "Invoice Ninja", "desc": "Invoicing platform", "cat": "Finance", "url": "https://invoice-ninja.readthedocs.io/", "auth": "apiKey"},
|
|
107
|
+
{"name": "Harvest", "desc": "Time tracking", "cat": "Productivity", "url": "https://help.getharvest.com/api-v2/", "auth": "OAuth"},
|
|
108
|
+
{"name": "Chargebee", "desc": "Subscription billing", "cat": "Finance", "url": "https://www.chargebee.com/docs/2.0/api_v2.html", "auth": "apiKey"},
|
|
109
|
+
{"name": "Recurly", "desc": "Subscription management", "cat": "Finance", "url": "https://developers.recurly.com/", "auth": "apiKey"},
|
|
110
|
+
|
|
111
|
+
# CRM
|
|
112
|
+
{"name": "Salesforce API", "desc": "CRM platform", "cat": "Business", "url": "https://developer.salesforce.com/docs/apis", "auth": "OAuth"},
|
|
113
|
+
{"name": "Pipedrive", "desc": "Sales CRM", "cat": "Business", "url": "https://developers.pipedrive.com/", "auth": "OAuth"},
|
|
114
|
+
{"name": "Zoho CRM", "desc": "CRM platform", "cat": "Business", "url": "https://www.zoho.com/crm/developer/docs/api/", "auth": "OAuth"},
|
|
115
|
+
{"name": "Close", "desc": "Sales CRM", "cat": "Business", "url": "https://developer.close.com/", "auth": "apiKey"},
|
|
116
|
+
{"name": "Copper", "desc": "Google CRM", "cat": "Business", "url": "https://developer.copper.com/", "auth": "apiKey"},
|
|
117
|
+
{"name": "Insightly", "desc": "CRM and project", "cat": "Business", "url": "https://api.insight.ly/v3.1/Help", "auth": "apiKey"},
|
|
118
|
+
{"name": "Nimble", "desc": "Social CRM", "cat": "Business", "url": "https://nimble.com/api/", "auth": "apiKey"},
|
|
119
|
+
{"name": "Freshsales", "desc": "Sales CRM", "cat": "Business", "url": "https://developers.freshsales.io/", "auth": "apiKey"},
|
|
120
|
+
{"name": "Monday.com", "desc": "Work OS", "cat": "Productivity", "url": "https://developer.monday.com/", "auth": "apiKey"},
|
|
121
|
+
{"name": "ClickUp", "desc": "Project management", "cat": "Productivity", "url": "https://clickup.com/api", "auth": "OAuth"},
|
|
122
|
+
|
|
123
|
+
# Database & Backend
|
|
124
|
+
{"name": "Supabase", "desc": "Open source Firebase", "cat": "Database", "url": "https://supabase.com/docs/reference/", "auth": "apiKey"},
|
|
125
|
+
{"name": "Firebase", "desc": "App development platform", "cat": "Database", "url": "https://firebase.google.com/docs/reference", "auth": "apiKey"},
|
|
126
|
+
{"name": "PlanetScale", "desc": "Serverless MySQL", "cat": "Database", "url": "https://planetscale.com/docs/api/", "auth": "apiKey"},
|
|
127
|
+
{"name": "Fauna", "desc": "Serverless database", "cat": "Database", "url": "https://docs.fauna.com/fauna/current/api/", "auth": "apiKey"},
|
|
128
|
+
{"name": "Hasura", "desc": "GraphQL engine", "cat": "Database", "url": "https://hasura.io/docs/latest/api-reference/", "auth": "apiKey"},
|
|
129
|
+
{"name": "Neon", "desc": "Serverless Postgres", "cat": "Database", "url": "https://neon.tech/docs/introduction/", "auth": "apiKey"},
|
|
130
|
+
{"name": "Cockroach Labs", "desc": "Distributed SQL", "cat": "Database", "url": "https://www.cockroachlabs.com/docs/api/", "auth": "apiKey"},
|
|
131
|
+
{"name": "Upstash", "desc": "Serverless Redis", "cat": "Database", "url": "https://docs.upstash.com/", "auth": "apiKey"},
|
|
132
|
+
{"name": "Astra DB", "desc": "Cloud Cassandra", "cat": "Database", "url": "https://docs.datastax.com/en/astra/docs/", "auth": "apiKey"},
|
|
133
|
+
{"name": "SingleStore", "desc": "Real-time database", "cat": "Database", "url": "https://docs.singlestore.com/", "auth": "apiKey"},
|
|
134
|
+
|
|
135
|
+
# Monitoring & Observability
|
|
136
|
+
{"name": "Datadog", "desc": "Monitoring platform", "cat": "DevOps", "url": "https://docs.datadoghq.com/api/", "auth": "apiKey"},
|
|
137
|
+
{"name": "New Relic", "desc": "Observability platform", "cat": "DevOps", "url": "https://docs.newrelic.com/docs/apis/", "auth": "apiKey"},
|
|
138
|
+
{"name": "Sentry", "desc": "Error tracking", "cat": "DevOps", "url": "https://docs.sentry.io/api/", "auth": "apiKey"},
|
|
139
|
+
{"name": "PagerDuty", "desc": "Incident response", "cat": "DevOps", "url": "https://developer.pagerduty.com/", "auth": "apiKey"},
|
|
140
|
+
{"name": "Grafana Cloud", "desc": "Monitoring stack", "cat": "DevOps", "url": "https://grafana.com/docs/grafana-cloud/api/", "auth": "apiKey"},
|
|
141
|
+
{"name": "Splunk", "desc": "Data platform", "cat": "DevOps", "url": "https://dev.splunk.com/", "auth": "apiKey"},
|
|
142
|
+
{"name": "LogRocket", "desc": "Frontend monitoring", "cat": "DevOps", "url": "https://docs.logrocket.com/", "auth": "apiKey"},
|
|
143
|
+
{"name": "Rollbar", "desc": "Error tracking", "cat": "DevOps", "url": "https://docs.rollbar.com/", "auth": "apiKey"},
|
|
144
|
+
{"name": "Bugsnag", "desc": "Error monitoring", "cat": "DevOps", "url": "https://bugsnagapiv2.docs.apiary.io/", "auth": "apiKey"},
|
|
145
|
+
{"name": "Airbrake", "desc": "Error monitoring", "cat": "DevOps", "url": "https://airbrake.io/docs/api/", "auth": "apiKey"},
|
|
146
|
+
|
|
147
|
+
# Media & Video
|
|
148
|
+
{"name": "Cloudflare Stream", "desc": "Video streaming", "cat": "Video", "url": "https://developers.cloudflare.com/stream/", "auth": "apiKey"},
|
|
149
|
+
{"name": "Mux", "desc": "Video infrastructure", "cat": "Video", "url": "https://docs.mux.com/", "auth": "apiKey"},
|
|
150
|
+
{"name": "Wistia", "desc": "Video hosting", "cat": "Video", "url": "https://wistia.com/support/developers", "auth": "apiKey"},
|
|
151
|
+
{"name": "Vimeo API", "desc": "Video platform", "cat": "Video", "url": "https://developer.vimeo.com/api/reference", "auth": "OAuth"},
|
|
152
|
+
{"name": "Brightcove", "desc": "Video technology", "cat": "Video", "url": "https://apis.support.brightcove.com/", "auth": "OAuth"},
|
|
153
|
+
{"name": "JW Player", "desc": "Video player", "cat": "Video", "url": "https://developer.jwplayer.com/", "auth": "apiKey"},
|
|
154
|
+
{"name": "Kaltura", "desc": "Video platform", "cat": "Video", "url": "https://developer.kaltura.com/", "auth": "apiKey"},
|
|
155
|
+
{"name": "api.video", "desc": "Video API", "cat": "Video", "url": "https://docs.api.video/", "auth": "apiKey"},
|
|
156
|
+
{"name": "Ziggeo", "desc": "Video recording", "cat": "Video", "url": "https://ziggeo.com/docs/", "auth": "apiKey"},
|
|
157
|
+
{"name": "Agora", "desc": "Real-time engagement", "cat": "Video", "url": "https://docs.agora.io/", "auth": "apiKey"},
|
|
158
|
+
|
|
159
|
+
# Forms & Surveys
|
|
160
|
+
{"name": "Typeform", "desc": "Online forms", "cat": "Productivity", "url": "https://developer.typeform.com/", "auth": "OAuth"},
|
|
161
|
+
{"name": "SurveyMonkey", "desc": "Survey platform", "cat": "Productivity", "url": "https://developer.surveymonkey.com/", "auth": "OAuth"},
|
|
162
|
+
{"name": "Google Forms", "desc": "Forms builder", "cat": "Productivity", "url": "https://developers.google.com/forms/api", "auth": "OAuth"},
|
|
163
|
+
{"name": "Tally", "desc": "Form builder", "cat": "Productivity", "url": "https://tally.so/help/webhooks", "auth": "apiKey"},
|
|
164
|
+
{"name": "Paperform", "desc": "Online forms", "cat": "Productivity", "url": "https://paperform.co/help/articles/api-overview/", "auth": "apiKey"},
|
|
165
|
+
{"name": "Formstack", "desc": "Form builder", "cat": "Productivity", "url": "https://developers.formstack.com/", "auth": "OAuth"},
|
|
166
|
+
{"name": "Cognito Forms", "desc": "Form builder", "cat": "Productivity", "url": "https://www.cognitoforms.com/api", "auth": "apiKey"},
|
|
167
|
+
{"name": "Wufoo", "desc": "Online forms", "cat": "Productivity", "url": "https://wufoo.github.io/docs/", "auth": "apiKey"},
|
|
168
|
+
{"name": "Formbricks", "desc": "Open source surveys", "cat": "Productivity", "url": "https://formbricks.com/docs/api", "auth": "apiKey"},
|
|
169
|
+
{"name": "Qualtrics", "desc": "Experience management", "cat": "Productivity", "url": "https://api.qualtrics.com/", "auth": "apiKey"},
|
|
170
|
+
|
|
171
|
+
# Scheduling & Calendar
|
|
172
|
+
{"name": "Calendly", "desc": "Scheduling automation", "cat": "Productivity", "url": "https://developer.calendly.com/", "auth": "OAuth"},
|
|
173
|
+
{"name": "Cal.com", "desc": "Open source scheduling", "cat": "Productivity", "url": "https://cal.com/docs/api", "auth": "apiKey"},
|
|
174
|
+
{"name": "Cronofy", "desc": "Calendar API", "cat": "Productivity", "url": "https://docs.cronofy.com/", "auth": "OAuth"},
|
|
175
|
+
{"name": "Nylas", "desc": "Communications platform", "cat": "Productivity", "url": "https://developer.nylas.com/", "auth": "OAuth"},
|
|
176
|
+
{"name": "Acuity Scheduling", "desc": "Appointment scheduling", "cat": "Productivity", "url": "https://developers.acuityscheduling.com/", "auth": "OAuth"},
|
|
177
|
+
{"name": "Doodle", "desc": "Meeting scheduling", "cat": "Productivity", "url": "https://doodle.com/api", "auth": "OAuth"},
|
|
178
|
+
{"name": "SimplyBook", "desc": "Booking system", "cat": "Productivity", "url": "https://simplybook.me/api/developer", "auth": "apiKey"},
|
|
179
|
+
{"name": "YouCanBook.me", "desc": "Booking pages", "cat": "Productivity", "url": "https://api.youcanbook.me/", "auth": "apiKey"},
|
|
180
|
+
{"name": "Appointlet", "desc": "Scheduling software", "cat": "Productivity", "url": "https://developers.appointlet.com/", "auth": "apiKey"},
|
|
181
|
+
{"name": "Setmore", "desc": "Appointment scheduling", "cat": "Productivity", "url": "https://setmore.com/api", "auth": "apiKey"},
|
|
182
|
+
|
|
183
|
+
# Social Media Management
|
|
184
|
+
{"name": "Hootsuite", "desc": "Social media management", "cat": "Social", "url": "https://developer.hootsuite.com/", "auth": "OAuth"},
|
|
185
|
+
{"name": "Sprout Social", "desc": "Social management", "cat": "Social", "url": "https://developers.sproutsocial.com/", "auth": "OAuth"},
|
|
186
|
+
{"name": "Later", "desc": "Social scheduling", "cat": "Social", "url": "https://developers.later.com/", "auth": "OAuth"},
|
|
187
|
+
{"name": "Sprinklr", "desc": "CXM platform", "cat": "Social", "url": "https://developer.sprinklr.com/", "auth": "OAuth"},
|
|
188
|
+
{"name": "Agorapulse", "desc": "Social media tool", "cat": "Social", "url": "https://api.agorapulse.com/", "auth": "OAuth"},
|
|
189
|
+
{"name": "SocialBee", "desc": "Social scheduling", "cat": "Social", "url": "https://socialbee.com/api/", "auth": "apiKey"},
|
|
190
|
+
{"name": "Publer", "desc": "Social scheduling", "cat": "Social", "url": "https://publer.io/api/", "auth": "apiKey"},
|
|
191
|
+
{"name": "Loomly", "desc": "Brand success platform", "cat": "Social", "url": "https://www.loomly.com/api", "auth": "apiKey"},
|
|
192
|
+
{"name": "Sendible", "desc": "Social management", "cat": "Social", "url": "https://sendible.com/api", "auth": "OAuth"},
|
|
193
|
+
{"name": "CoSchedule", "desc": "Marketing calendar", "cat": "Marketing", "url": "https://coschedule.com/api", "auth": "apiKey"},
|
|
194
|
+
|
|
195
|
+
# E-commerce Tools
|
|
196
|
+
{"name": "Shipbob", "desc": "Fulfillment platform", "cat": "E-commerce", "url": "https://developer.shipbob.com/", "auth": "OAuth"},
|
|
197
|
+
{"name": "Printful", "desc": "Print on demand", "cat": "E-commerce", "url": "https://developers.printful.com/", "auth": "OAuth"},
|
|
198
|
+
{"name": "Printify", "desc": "Print on demand", "cat": "E-commerce", "url": "https://developers.printify.com/", "auth": "OAuth"},
|
|
199
|
+
{"name": "Gooten", "desc": "Print on demand", "cat": "E-commerce", "url": "https://www.gooten.com/api/", "auth": "apiKey"},
|
|
200
|
+
{"name": "Oberlo", "desc": "Dropshipping", "cat": "E-commerce", "url": "https://www.oberlo.com/api", "auth": "OAuth"},
|
|
201
|
+
{"name": "Spocket", "desc": "Dropshipping", "cat": "E-commerce", "url": "https://www.spocket.co/api", "auth": "apiKey"},
|
|
202
|
+
{"name": "ShipEngine", "desc": "Shipping API", "cat": "Shipping", "url": "https://shipengine.github.io/shipengine-openapi/", "auth": "apiKey"},
|
|
203
|
+
{"name": "Returnly", "desc": "Returns platform", "cat": "E-commerce", "url": "https://developers.returnly.com/", "auth": "apiKey"},
|
|
204
|
+
{"name": "Loop Returns", "desc": "Returns management", "cat": "E-commerce", "url": "https://developers.loopreturns.com/", "auth": "apiKey"},
|
|
205
|
+
{"name": "Recharge", "desc": "Subscriptions", "cat": "E-commerce", "url": "https://developer.rechargepayments.com/", "auth": "apiKey"},
|
|
206
|
+
|
|
207
|
+
# Review & Feedback
|
|
208
|
+
{"name": "Trustpilot", "desc": "Review platform", "cat": "Marketing", "url": "https://documentation-apidocumentation.trustpilot.com/", "auth": "OAuth"},
|
|
209
|
+
{"name": "Yotpo", "desc": "E-commerce marketing", "cat": "Marketing", "url": "https://developers.yotpo.com/", "auth": "apiKey"},
|
|
210
|
+
{"name": "Judge.me", "desc": "Product reviews", "cat": "E-commerce", "url": "https://judge.me/api", "auth": "apiKey"},
|
|
211
|
+
{"name": "Bazaarvoice", "desc": "User content", "cat": "Marketing", "url": "https://developer.bazaarvoice.com/", "auth": "apiKey"},
|
|
212
|
+
{"name": "PowerReviews", "desc": "Review software", "cat": "Marketing", "url": "https://www.powerreviews.com/api/", "auth": "apiKey"},
|
|
213
|
+
{"name": "Stamped.io", "desc": "Reviews and loyalty", "cat": "Marketing", "url": "https://developers.stamped.io/", "auth": "apiKey"},
|
|
214
|
+
{"name": "Loox", "desc": "Photo reviews", "cat": "E-commerce", "url": "https://loox.io/api", "auth": "apiKey"},
|
|
215
|
+
{"name": "Reviews.io", "desc": "Review collection", "cat": "Marketing", "url": "https://developers.reviews.io/", "auth": "apiKey"},
|
|
216
|
+
{"name": "G2", "desc": "Software reviews", "cat": "Marketing", "url": "https://documentation.g2.com/", "auth": "apiKey"},
|
|
217
|
+
{"name": "Capterra", "desc": "Software reviews", "cat": "Marketing", "url": "https://www.capterra.com/api/", "auth": "apiKey"},
|
|
218
|
+
|
|
219
|
+
# Workflow Automation
|
|
220
|
+
{"name": "Zapier", "desc": "Workflow automation", "cat": "Automation", "url": "https://platform.zapier.com/", "auth": "OAuth"},
|
|
221
|
+
{"name": "Make", "desc": "Automation platform", "cat": "Automation", "url": "https://www.make.com/en/api-documentation", "auth": "apiKey"},
|
|
222
|
+
{"name": "n8n", "desc": "Workflow automation", "cat": "Automation", "url": "https://docs.n8n.io/api/", "auth": "apiKey"},
|
|
223
|
+
{"name": "Tray.io", "desc": "Integration platform", "cat": "Automation", "url": "https://tray.io/documentation/", "auth": "OAuth"},
|
|
224
|
+
{"name": "Workato", "desc": "Enterprise automation", "cat": "Automation", "url": "https://docs.workato.com/api-reference/", "auth": "OAuth"},
|
|
225
|
+
{"name": "Pipedream", "desc": "Integration platform", "cat": "Automation", "url": "https://pipedream.com/docs/api/", "auth": "apiKey"},
|
|
226
|
+
{"name": "IFTTT", "desc": "Applet automation", "cat": "Automation", "url": "https://ifttt.com/docs", "auth": "OAuth"},
|
|
227
|
+
{"name": "Parabola", "desc": "Data automation", "cat": "Automation", "url": "https://parabola.io/api/", "auth": "apiKey"},
|
|
228
|
+
{"name": "Bardeen", "desc": "Browser automation", "cat": "Automation", "url": "https://www.bardeen.ai/api", "auth": "apiKey"},
|
|
229
|
+
{"name": "Activepieces", "desc": "Open source automation", "cat": "Automation", "url": "https://www.activepieces.com/docs/api", "auth": "apiKey"},
|
|
230
|
+
|
|
231
|
+
# Document Processing
|
|
232
|
+
{"name": "AWS Textract", "desc": "Document analysis", "cat": "AI", "url": "https://docs.aws.amazon.com/textract/", "auth": "apiKey"},
|
|
233
|
+
{"name": "Google Document AI", "desc": "Document processing", "cat": "AI", "url": "https://cloud.google.com/document-ai/docs/", "auth": "OAuth"},
|
|
234
|
+
{"name": "Azure Form Recognizer", "desc": "Form extraction", "cat": "AI", "url": "https://docs.microsoft.com/en-us/azure/applied-ai-services/form-recognizer/", "auth": "apiKey"},
|
|
235
|
+
{"name": "Docparser", "desc": "Document parsing", "cat": "Documents", "url": "https://dev.docparser.com/", "auth": "apiKey"},
|
|
236
|
+
{"name": "Rossum", "desc": "Document AI", "cat": "AI", "url": "https://elis.rossum.ai/api/docs/", "auth": "apiKey"},
|
|
237
|
+
{"name": "Hyperscience", "desc": "Document automation", "cat": "AI", "url": "https://www.hyperscience.com/api/", "auth": "apiKey"},
|
|
238
|
+
{"name": "Klippa", "desc": "Document processing", "cat": "Documents", "url": "https://docs.klippa.com/", "auth": "apiKey"},
|
|
239
|
+
{"name": "Mindee", "desc": "Document parsing", "cat": "AI", "url": "https://developers.mindee.com/", "auth": "apiKey"},
|
|
240
|
+
{"name": "Nanonets", "desc": "OCR and AI", "cat": "AI", "url": "https://nanonets.com/documentation/", "auth": "apiKey"},
|
|
241
|
+
{"name": "Veryfi", "desc": "Document intelligence", "cat": "AI", "url": "https://www.veryfi.com/api/", "auth": "apiKey"},
|
|
242
|
+
|
|
243
|
+
# Voice & Telephony
|
|
244
|
+
{"name": "Vonage", "desc": "Communications API", "cat": "Communication", "url": "https://developer.vonage.com/", "auth": "apiKey"},
|
|
245
|
+
{"name": "Plivo", "desc": "Voice and SMS", "cat": "Communication", "url": "https://www.plivo.com/docs/", "auth": "apiKey"},
|
|
246
|
+
{"name": "Bandwidth", "desc": "Communications API", "cat": "Communication", "url": "https://dev.bandwidth.com/", "auth": "apiKey"},
|
|
247
|
+
{"name": "SignalWire", "desc": "Communications platform", "cat": "Communication", "url": "https://signalwire.com/docs", "auth": "apiKey"},
|
|
248
|
+
{"name": "Sinch", "desc": "Messaging and voice", "cat": "Communication", "url": "https://developers.sinch.com/", "auth": "apiKey"},
|
|
249
|
+
{"name": "Voximplant", "desc": "Cloud communications", "cat": "Communication", "url": "https://voximplant.com/docs/", "auth": "apiKey"},
|
|
250
|
+
{"name": "Daily", "desc": "Video and audio", "cat": "Video", "url": "https://docs.daily.co/", "auth": "apiKey"},
|
|
251
|
+
{"name": "Livekit", "desc": "Real-time video", "cat": "Video", "url": "https://docs.livekit.io/", "auth": "apiKey"},
|
|
252
|
+
{"name": "Dyte", "desc": "Video SDK", "cat": "Video", "url": "https://docs.dyte.io/", "auth": "apiKey"},
|
|
253
|
+
{"name": "Whereby", "desc": "Video meetings", "cat": "Video", "url": "https://whereby.dev/", "auth": "apiKey"},
|
|
254
|
+
|
|
255
|
+
# Data Enrichment
|
|
256
|
+
{"name": "Clearbit", "desc": "Business intelligence", "cat": "Business", "url": "https://clearbit.com/docs", "auth": "apiKey"},
|
|
257
|
+
{"name": "ZoomInfo", "desc": "B2B data", "cat": "Business", "url": "https://developers.zoominfo.com/", "auth": "apiKey"},
|
|
258
|
+
{"name": "FullContact", "desc": "Identity resolution", "cat": "Business", "url": "https://docs.fullcontact.com/", "auth": "apiKey"},
|
|
259
|
+
{"name": "Pipl", "desc": "People search", "cat": "Business", "url": "https://pipl.com/api/", "auth": "apiKey"},
|
|
260
|
+
{"name": "Apollo.io", "desc": "Sales intelligence", "cat": "Business", "url": "https://apolloio.github.io/apollo-api-docs/", "auth": "apiKey"},
|
|
261
|
+
{"name": "LeadIQ", "desc": "Sales prospecting", "cat": "Business", "url": "https://docs.leadiq.com/", "auth": "apiKey"},
|
|
262
|
+
{"name": "Lusha", "desc": "Contact data", "cat": "Business", "url": "https://www.lusha.com/api/", "auth": "apiKey"},
|
|
263
|
+
{"name": "Snov.io", "desc": "Sales automation", "cat": "Marketing", "url": "https://snov.io/api", "auth": "apiKey"},
|
|
264
|
+
{"name": "RocketReach", "desc": "Professional data", "cat": "Business", "url": "https://rocketreach.co/api/", "auth": "apiKey"},
|
|
265
|
+
{"name": "People Data Labs", "desc": "People data", "cat": "Business", "url": "https://docs.peopledatalabs.com/", "auth": "apiKey"},
|
|
266
|
+
|
|
267
|
+
# Banking & Fintech
|
|
268
|
+
{"name": "Plaid", "desc": "Financial data", "cat": "Finance", "url": "https://plaid.com/docs/", "auth": "apiKey"},
|
|
269
|
+
{"name": "Yodlee", "desc": "Financial aggregation", "cat": "Finance", "url": "https://developer.yodlee.com/", "auth": "OAuth"},
|
|
270
|
+
{"name": "MX", "desc": "Financial data", "cat": "Finance", "url": "https://docs.mx.com/", "auth": "apiKey"},
|
|
271
|
+
{"name": "Finicity", "desc": "Financial data", "cat": "Finance", "url": "https://docs.finicity.com/", "auth": "apiKey"},
|
|
272
|
+
{"name": "Tink", "desc": "Open banking", "cat": "Finance", "url": "https://docs.tink.com/", "auth": "OAuth"},
|
|
273
|
+
{"name": "TrueLayer", "desc": "Open banking", "cat": "Finance", "url": "https://docs.truelayer.com/", "auth": "OAuth"},
|
|
274
|
+
{"name": "Yapily", "desc": "Open banking", "cat": "Finance", "url": "https://docs.yapily.com/", "auth": "apiKey"},
|
|
275
|
+
{"name": "Salt Edge", "desc": "Financial data", "cat": "Finance", "url": "https://docs.saltedge.com/", "auth": "apiKey"},
|
|
276
|
+
{"name": "Belvo", "desc": "Open finance", "cat": "Finance", "url": "https://developers.belvo.com/", "auth": "apiKey"},
|
|
277
|
+
{"name": "Basiq", "desc": "Financial data", "cat": "Finance", "url": "https://basiq.io/api/", "auth": "apiKey"},
|
|
278
|
+
|
|
279
|
+
# Payments (expanded)
|
|
280
|
+
{"name": "Adyen", "desc": "Global payments", "cat": "Finance", "url": "https://docs.adyen.com/", "auth": "apiKey"},
|
|
281
|
+
{"name": "Checkout.com", "desc": "Payment gateway", "cat": "Finance", "url": "https://www.checkout.com/docs/api-reference", "auth": "apiKey"},
|
|
282
|
+
{"name": "Paddle", "desc": "SaaS payments", "cat": "Finance", "url": "https://developer.paddle.com/", "auth": "apiKey"},
|
|
283
|
+
{"name": "Lemonsqueezy", "desc": "Digital product payments", "cat": "Finance", "url": "https://docs.lemonsqueezy.com/api", "auth": "apiKey"},
|
|
284
|
+
{"name": "Gumroad", "desc": "Creator payments", "cat": "Finance", "url": "https://app.gumroad.com/api", "auth": "OAuth"},
|
|
285
|
+
{"name": "Paystack", "desc": "African payments", "cat": "Finance", "url": "https://paystack.com/docs/api/", "auth": "apiKey"},
|
|
286
|
+
{"name": "Flutterwave", "desc": "African payments", "cat": "Finance", "url": "https://developer.flutterwave.com/", "auth": "apiKey"},
|
|
287
|
+
{"name": "Razorpay", "desc": "Indian payments", "cat": "Finance", "url": "https://razorpay.com/docs/api/", "auth": "apiKey"},
|
|
288
|
+
{"name": "Mollie", "desc": "European payments", "cat": "Finance", "url": "https://docs.mollie.com/", "auth": "apiKey"},
|
|
289
|
+
{"name": "GoCardless", "desc": "Direct debit", "cat": "Finance", "url": "https://developer.gocardless.com/", "auth": "OAuth"},
|
|
290
|
+
|
|
291
|
+
# Cloud Infrastructure
|
|
292
|
+
{"name": "AWS", "desc": "Cloud platform", "cat": "Cloud", "url": "https://docs.aws.amazon.com/", "auth": "apiKey"},
|
|
293
|
+
{"name": "Azure", "desc": "Cloud platform", "cat": "Cloud", "url": "https://docs.microsoft.com/en-us/rest/api/azure/", "auth": "OAuth"},
|
|
294
|
+
{"name": "Google Cloud", "desc": "Cloud platform", "cat": "Cloud", "url": "https://cloud.google.com/apis", "auth": "OAuth"},
|
|
295
|
+
{"name": "DigitalOcean", "desc": "Cloud platform", "cat": "Cloud", "url": "https://docs.digitalocean.com/reference/api/", "auth": "apiKey"},
|
|
296
|
+
{"name": "Linode", "desc": "Cloud hosting", "cat": "Cloud", "url": "https://www.linode.com/docs/api/", "auth": "apiKey"},
|
|
297
|
+
{"name": "Vultr", "desc": "Cloud compute", "cat": "Cloud", "url": "https://www.vultr.com/api/", "auth": "apiKey"},
|
|
298
|
+
{"name": "Hetzner", "desc": "Cloud hosting", "cat": "Cloud", "url": "https://docs.hetzner.cloud/", "auth": "apiKey"},
|
|
299
|
+
{"name": "Fly.io", "desc": "App platform", "cat": "Cloud", "url": "https://fly.io/docs/reference/", "auth": "apiKey"},
|
|
300
|
+
{"name": "Railway", "desc": "App platform", "cat": "Cloud", "url": "https://docs.railway.app/reference/", "auth": "apiKey"},
|
|
301
|
+
{"name": "Render", "desc": "Cloud platform", "cat": "Cloud", "url": "https://render.com/docs/api", "auth": "apiKey"},
|
|
302
|
+
|
|
303
|
+
# CDN & Edge
|
|
304
|
+
{"name": "Cloudflare", "desc": "CDN and security", "cat": "Infrastructure", "url": "https://api.cloudflare.com/", "auth": "apiKey"},
|
|
305
|
+
{"name": "Fastly", "desc": "Edge cloud", "cat": "Infrastructure", "url": "https://developer.fastly.com/", "auth": "apiKey"},
|
|
306
|
+
{"name": "Akamai", "desc": "CDN platform", "cat": "Infrastructure", "url": "https://developer.akamai.com/", "auth": "OAuth"},
|
|
307
|
+
{"name": "Bunny CDN", "desc": "CDN service", "cat": "Infrastructure", "url": "https://docs.bunny.net/", "auth": "apiKey"},
|
|
308
|
+
{"name": "KeyCDN", "desc": "CDN service", "cat": "Infrastructure", "url": "https://www.keycdn.com/api", "auth": "apiKey"},
|
|
309
|
+
{"name": "StackPath", "desc": "Edge platform", "cat": "Infrastructure", "url": "https://stackpath.dev/", "auth": "OAuth"},
|
|
310
|
+
{"name": "Vercel", "desc": "Frontend platform", "cat": "Development", "url": "https://vercel.com/docs/api", "auth": "apiKey"},
|
|
311
|
+
{"name": "Netlify", "desc": "Web platform", "cat": "Development", "url": "https://docs.netlify.com/api/get-started/", "auth": "apiKey"},
|
|
312
|
+
{"name": "Deno Deploy", "desc": "Edge functions", "cat": "Development", "url": "https://deno.com/deploy/docs/", "auth": "apiKey"},
|
|
313
|
+
{"name": "Lambda", "desc": "Serverless compute", "cat": "Cloud", "url": "https://docs.aws.amazon.com/lambda/", "auth": "apiKey"},
|
|
314
|
+
|
|
315
|
+
# Random APIs
|
|
316
|
+
{"name": "Advice Slip", "desc": "Random advice", "cat": "Entertainment", "url": "https://api.adviceslip.com/", "auth": "None"},
|
|
317
|
+
{"name": "Affirmations", "desc": "Positive affirmations", "cat": "Entertainment", "url": "https://www.affirmations.dev/", "auth": "None"},
|
|
318
|
+
{"name": "Agify", "desc": "Age prediction", "cat": "Tools", "url": "https://agify.io/", "auth": "None"},
|
|
319
|
+
{"name": "Nationalize", "desc": "Nationality prediction", "cat": "Tools", "url": "https://nationalize.io/", "auth": "None"},
|
|
320
|
+
{"name": "Genderize", "desc": "Gender prediction", "cat": "Tools", "url": "https://genderize.io/", "auth": "None"},
|
|
321
|
+
{"name": "BoredAPI", "desc": "Random activities", "cat": "Entertainment", "url": "https://www.boredapi.com/", "auth": "None"},
|
|
322
|
+
{"name": "Chuck Norris", "desc": "Chuck Norris jokes", "cat": "Entertainment", "url": "https://api.chucknorris.io/", "auth": "None"},
|
|
323
|
+
{"name": "Dad Jokes", "desc": "Dad jokes", "cat": "Entertainment", "url": "https://icanhazdadjoke.com/api", "auth": "None"},
|
|
324
|
+
{"name": "Corporate BS", "desc": "Corporate buzzwords", "cat": "Entertainment", "url": "https://corporatebs-generator.sameerkumar.website/", "auth": "None"},
|
|
325
|
+
{"name": "Evil Insult", "desc": "Random insults", "cat": "Entertainment", "url": "https://evilinsult.com/api/", "auth": "None"},
|
|
326
|
+
]
|
|
327
|
+
|
|
328
|
+
# Convert and dedupe
|
|
329
|
+
new_apis = []
|
|
330
|
+
seen_ids = set()
|
|
331
|
+
|
|
332
|
+
for api in batch2_apis:
|
|
333
|
+
api_id = make_id(api.get('name', ''))
|
|
334
|
+
|
|
335
|
+
if api_id in existing_ids or api_id in seen_ids or not api_id:
|
|
336
|
+
continue
|
|
337
|
+
|
|
338
|
+
seen_ids.add(api_id)
|
|
339
|
+
|
|
340
|
+
entry = {
|
|
341
|
+
"id": api_id,
|
|
342
|
+
"name": api.get('name', api_id),
|
|
343
|
+
"description": api.get('desc', ''),
|
|
344
|
+
"category": api.get('cat', 'Uncategorized'),
|
|
345
|
+
"link": api.get('url', ''),
|
|
346
|
+
"auth": api.get('auth', 'None')
|
|
347
|
+
}
|
|
348
|
+
new_apis.append(entry)
|
|
349
|
+
|
|
350
|
+
print(f"New unique APIs in batch 2: {len(new_apis)}")
|
|
351
|
+
|
|
352
|
+
# Save batch 2
|
|
353
|
+
output_file = Path("/Users/gustavhemmingsson/Projects/apiclaw/data/night-expansion-02-26-06-batch2.json")
|
|
354
|
+
with open(output_file, 'w') as f:
|
|
355
|
+
json.dump(new_apis, f, indent=2)
|
|
356
|
+
|
|
357
|
+
print(f"Saved {len(new_apis)} APIs to {output_file}")
|
|
358
|
+
|
|
359
|
+
# Update combined file
|
|
360
|
+
with open(combined_file) as f:
|
|
361
|
+
combined_apis = json.load(f)
|
|
362
|
+
|
|
363
|
+
combined_apis.extend(new_apis)
|
|
364
|
+
|
|
365
|
+
with open(combined_file, 'w') as f:
|
|
366
|
+
json.dump(combined_apis, f, indent=2)
|
|
367
|
+
|
|
368
|
+
print(f"Updated combined file: {len(combined_apis)} total APIs")
|