Api Bridge

v1.0.0

Curated free public APIs for AI agents — geocoding, weather, forex, validation, facts, finance, and test data. Use when an agent needs real-world data withou...

0· 150·0 current·0 all-time
byAlex@alexuser

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for alexuser/api-bridge.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Api Bridge" (alexuser/api-bridge) from ClawHub.
Skill page: https://clawhub.ai/alexuser/api-bridge
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install api-bridge

ClawHub CLI

Package manager switcher

npx clawhub@latest install api-bridge
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description match the content: SKILL.md is a catalog of free public APIs with endpoint patterns and curl examples. The skill does not request unrelated credentials or binaries.
Instruction Scope
Instructions are limited to making HTTP requests (curl examples) to public APIs. However, some examples (e.g., ipapi.co/json) reveal the caller's public IP (the text even labels it as your sandbox egress IP). Calling arbitrary URL metadata endpoints (urlmeta) or image endpoints with user-supplied URLs can expose the agent environment to SSRF-like risks or leak infrastructure details; the doc does not explicitly warn about sanitizing user-provided URLs.
Install Mechanism
No install spec or code files are present (instruction-only), so nothing is written to disk or installed.
Credentials
The skill requests no environment variables or credentials. The recommended User-Agent header is purely informational and appropriate for Nominatim usage.
Persistence & Privilege
Skill is not always-enabled and is user-invocable; it does not request persistent privileges or attempt to modify other skills or system configuration.
Assessment
This skill is largely safe and coherent: it's a cookbook of free APIs and curl examples and does not ask for secrets. Before installing/use: 1) verify specific endpoints you plan to use — some entries may be out-of-date or require API keys in practice (e.g., double-check Polygon.io and any finance APIs); 2) respect rate limits and terms of service (Nominatim has strict usage policy and rate limits); 3) be aware that calls like ipapi.co/json reveal the agent's public/egress IP and that invoking URL-metadata endpoints on user-controlled URLs can cause SSRF or contact internal resources if the agent runs in an environment with network access; sanitize user-provided URLs and run tests from an isolated environment if privacy is a concern; 4) prefer server-side usage for endpoints marked non-CORS. If you need higher assurance, ask the publisher for a short changelog or evidence that listed APIs were recently validated.

Like a lobster shell, security has layers — review code before you run it.

latestvk97fk9jmpfzwtpcsd27z82dr99837h9r
150downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

API Bridge — Curated Public API Toolkit for AI Agents

AI agents constantly need real-world data. This skill provides a curated, tested collection of the highest-value free public APIs organized by use case. Each entry includes the endpoint pattern, output shape, and curl example.

Philosophy: Curation + examples = the product. These are stable, mostly key-free APIs with good uptime.

Quick Reference

CategoryAPINo KeyCORS
Weatherwttr.in
WeatherOpen-Meteo
Geocodingipapi (IP→location)
GeocodingNominatim (geocode)
Forexopen.er-api.org
CryptoCoinGecko
Validationurlmeta, icon.horse
Factscatfact.ninja
Imagesdog.ceo, thecatapi
FinancePolygon.io
ReferenceWikipedia REST
Test datajsonplaceholder, randomuser

Weather

wttr.in — Minimal Weather (CORS: ✅, No Key)

curl -s "wttr.in/San+Jose,CA?format=j1"

Use: Current conditions, 3-day forecast, moon phase, airport weather.

Output: JSON with current_condition, weather[] (daily), nearest_area.

# Specific location
curl -s "wttr.in/San+Jose,CA?format=3"
# Named locations work well; coordinates less so

Open-Meteo — Open Source Weather API (CORS: ✅, No Key)

Base: https://api.open-meteo.com/v1/forecast

curl -s "https://api.open-meteo.com/v1/forecast?latitude=37.34&longitude=-121.89&current=temperature_2m,relative_humidity_2m,weather_code,wind_speed_10m&temperature_unit=fahrenheit&wind_speed_unit=mph&timezone=America%2FLos_Angeles"

Use: Current conditions + hourly forecast, no key needed, global coverage.

Parameters:

  • latitude, longitude — required
  • current= — comma-separated variables: temperature_2m, relative_humidity_2m, weather_code, wind_speed_10m, precipitation, cloud_cover
  • hourly= — same variables for 48h forecast
  • daily= — daily forecast: temperature_2m_max, temperature_2m_min, precipitation_sum, weather_code
  • temperature_unit=fahrenheit|celsius
  • timezone=America%2FLos_Angeles (or auto)

Weather codes: 0=clear, 1-3=partly cloudy, 45-48=fog, 51-67=rain/drizzle, 71-77=snow, 80-82=rain showers, 95-99=thunderstorm.


Geocoding

ipapi.co — IP Geolocation (CORS: ❌, No Key)

Base: https://ipapi.co/json/ or https://ipapi.co/{IP}/json/

# Your sandbox出口IP
curl -s "https://ipapi.co/json/" | jq '.location, .city, .region, .country_name, .latitude, .longitude'
# Specific IP
curl -s "https://ipapi.co/8.8.8.8/json/" | jq '{city, region, country_name}'

Use: IP → city/region/country/lat-lon. Not CORS-friendly for browser use. Good for server/CLI agents.

Fields: ip, city, region, region_code, country_name, country_code, latitude, longitude, timezone, utc_offset, asn, org.


Nominatim — OpenStreetMap Geocoder (CORS: ✅, No Key, Rate Limited)

Base: https://nominatim.openstreetmap.org/search

curl -s "https://nominatim.openstreetmap.org/search?q=1600+Amphitheatre+Parkway,+Mountain+View,+CA&format=json&limit=1&addressdetails=1" \
  -H "User-Agent: api-bridge/1.0"

Use: Address → lat/lon (forward) or lat/lon → address (reverse).

Reverse:

curl -s "https://nominatim.openstreetmap.org/reverse?lat=37.4223&lon=-122.0848&format=json" \
  -H "User-Agent: api-bridge/1.0"

Parameters:

  • q= — search query
  • format=json — always use this
  • limit=1 — first result
  • addressdetails=1 — include parsed address components
  • accept-language=en — language preference

Rate limits: 1 req/sec. Always set User-Agent. Free for non-commercial use.


Forex

open.er-api.org — Free Forex (CORS: ❌, No Key)

Base: https://open.er-api.com/v6/latest/{CURRENCY}

curl -s "https://open.er-api.com/v6/latest/USD" | jq '.rates | {JPY, EUR, GBP, CNY, CAD}'

Use: Current exchange rates. USD as base, all currencies relative to it.

Output: { "rates": { "JPY": 149.5, "EUR": 0.92, ... }, "time_last_update_utc": "..." }


Crypto

CoinGecko — Crypto Prices (CORS: ✅, No Key, Rate Limited)

Base: https://api.coingecko.com/api/v3

# Simple price
curl -s "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd&include_24hr_change=true"

# Market data
curl -s "https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=bitcoin,ethereum&order=market_cap_desc&per_page=5&sparkline=false&price_change_percentage=24h"

Rate limit: 10-30 calls/min on free tier. Cache responses when possible.


Validation

icon.horse — Favicon Checker (CORS: ✅, No Key)

Base: https://icon.horse/

# Favicon URL for any domain
curl -s "https://icon.horse/feedburner.com"
# Returns: { "url": "https://feedburner.com/favicon.ico", "found": true }

Use: Find favicon for any domain — useful for link previews and metadata enrichment.


urlmeta — URL Metadata (CORS: ❌, No Key)

Base: https://urlmeta.org/?

curl -s "https://urlmeta.org/?url=https://example.com"

Use: Get Open Graph / Twitter card metadata for any URL without scraping.


Facts

catfact.ninja — Cat Facts (CORS: ✅, No Key)

curl -s "https://catfact.ninja/fact"
# {"fact":"Cats have over 20 vocalizations...","length":42}

Use: Random fact generation for demos, tests, social content. Also: /breeds, /fact endpoints.


dog.ceo — Random Dog Images (CORS: ✅, No Key)

curl -s "https://dog.ceo/api/breeds/image/random"
# {"message":"https://.../images/n02102040_1005.jpg","status":"success"}

curl -s "https://dog.ceo/api/breeds/list/all" | jq '.message | keys'

Use: Random images for demos, placeholders, UI testing.


thecatapi — Random Cat Images (CORS: ✅, No Key)

curl -s "https://api.thecatapi.com/v1/images/search"
# [{"id":"d5D", "url":"https://...","width":1600,"height":1200}]

Finance

Polygon.io — Market Status & Stock Quotes (CORS: ❌, No Key)

Base: https://api.polygon.io/v1

# Market status
curl -s "https://api.polygon.io/v1/marketstatus?apiKey=DEMO_KEY"

# Last trade for a stock  
curl -s "https://api.polygon.io/v2/aggs/ticker/AAPL/prev?adjusted=true&apiKey=DEMO_KEY"

Note: DEMO_KEY works for some endpoints. Real keys are free at polygon.io.

Also useful:

  • https://api.polygon.io/v2/aggs/ticker/{TICKER}/prev — previous day close
  • https://api.polygon.io/v2/aggs/ticker/{TICKER}/range?from={DATE}&to={DATE} — historical range

Reference

Wikipedia REST API — Article Summaries (CORS: ✅, No Key)

Base: https://en.wikipedia.org/api/rest_v1

# Article summary
curl -s "https://en.wikipedia.org/api/rest_v1/page/summary/OpenAI" | jq '{title, extract, thumbnail}'

# Related pages
curl -s "https://en.wikipedia.org/api/rest_v1/page/related/OpenAI" | jq '.pages[:3] | .[].title'

Use: Factual summaries, links, thumbnails for topics. Good for enriching agent responses with context.


Test Data

jsonplaceholder — Fake JSON API (CORS: ✅, No Key)

Base: https://jsonplaceholder.typicode.com

# Posts
curl -s "https://jsonplaceholder.typicode.com/posts?userId=1" | jq '.[0]'
# Comments
curl -s "https://jsonplaceholder.typicode.com/comments?postId=1" | jq '.[0]'
# Users
curl -s "https://jsonplaceholder.typicode.com/users/1" | jq '{name, email, phone}'
# Todos
curl -s "https://jsonplaceholder.typicode.com/todos?completed=false" | jq '.[0]'

Use: API prototyping, testing HTTP clients, mock backend during development.


randomuser.me — Fake User Profiles (CORS: ✅, No Key)

curl -s "https://randomuser.me/api/?results=3" | jq '.results[] | {name: .name, email, phone, location}'

Use: Generate realistic fake users with names, emails, photos, addresses for demos and tests.


Reliability Notes

✅ Reliable (tested, stable)

  • wttr.in — always up, lightweight
  • api.open-meteo.com — professional open source project, excellent uptime
  • api.coingecko.com — large project, stable
  • catfact.ninja — simple, reliable
  • dog.ceo / thecatapi.com — pet image APIs, very stable
  • jsonplaceholder.typicode.com — standard test API
  • randomuser.me — standard test API
  • en.wikipedia.org/api/rest_v1 — Wikipedia infrastructure, very stable

⚠️ Use with caution

  • nominatim.openstreetmap.org — rate limited to 1 req/sec, requires User-Agent
  • open.er-api.org — simple project, less redundancy
  • icon.horse — small project, less redundancy
  • polygon.io — free tier sufficient for light use

❌ Avoid / Unreliable

  • worldtimeapi.org — frequently down (2026-03 check failed)
  • dog-api.kinduff.com — certificate expired, broken (2026-03 check failed)

Adding to an OpenClaw Skill

Install as a skill in your workspace skills directory:

# In your OpenClaw workspace:
ls skills/
# Add api-bridge/ subdirectory with this SKILL.md

The skill is documentation-first — no code to install. Agents read the SKILL.md and invoke the APIs directly.

Comments

Loading comments...