Discover which free or low-cost AI APIs are reachable from the current environment, verify them safely, and recommend a task-to-provider routing plan.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill free-api-discovery --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Free Api Discovery?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-free-api-discovery)More formats (shields.io, HTML) on the badges page.
---
name: free-api-discovery
description: Discover which free or low-cost AI APIs are reachable from the current environment, verify them safely, and recommend a task-to-provider routing plan.
tags: [ai, api, discovery, llm, model, free, devops]
version: 1.0.1
---
# Free AI API Discovery and Routing
## When to use
- You need to find which AI APIs are reachable from the current environment.
- You want a low-cost fallback when a preferred provider is unavailable.
- You need a simple routing recommendation for chat, code, speech, or multimodal tasks.
## Workflow
1. Check network reachability.
Probe candidate endpoints with a short timeout and record whether the host is reachable.
2. Verify credentials only after approval.
Ask for the minimum key needed and avoid printing full secrets in logs.
3. Test one capability at a time.
Confirm chat, model listing, speech, or image endpoints separately.
4. Recommend routing.
Map each task type to the lowest-cost reliable provider that actually worked.
## Example reachability probe
```python
import socket
import ssl
import urllib.error
import urllib.request
socket.setdefaulttimeout(8)
ctx = ssl.create_default_context()
services = {
"Groq": "https://api.groq.com",
"OpenRouter": "https://openrouter.ai/api/v1",
"DeepSeek": "https://api.deepseek.com",
"Mistral": "https://api.mistral.ai/v1",
}
for name, url in services.items():
try:
req = urllib.request.Request(url)
with urllib.request.urlopen(req, context=ctx, timeout=6) as resp:
print(f"{name}: HTTP {resp.status}")
except urllib.error.HTTPError as exc:
print(f"{name}: HTTP {exc.code} (reachable, auth may be required)")
except Exception as exc:
print(f"{name}: not reachable ({exc})")
```
## Recommended output
- Reachable providers
- Providers that need valid credentials
- Best provider by task type
- Cost or quota notes
- Risks or missing coverage
## Guardrails
- Do not store API keys unless the user explicitly approves it.
- Mask secrets in notes and logs.
- Keep routing recommendations based on verified results, not assumptions.
- Treat provider availability and quotas as time-sensitive and re-check when needed.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!