Get started
Just call any endpoint
Anonymous access works. 600 tokens/min - enough for exploration.
GET https://z87.ai/api/jokes/random
→ works immediately
Get a key for 6,000 tokens/min
Keys last a year.
GET https://z87.ai/api/use
→ {"key": "0001922f3a..."}
X-Api-Key: 0001922f3a...
Wait a second, retry
Budget refills at 100 tokens/sec. Burst up to 6,000 then sustain.
Get a new key
Just call /api/use again.
Freeforever
| Dataset | Scale | Highlights | Try | Docs |
|---|---|---|---|---|
| Chess | 1B+ games, 2.4M players | Position trie, game filters, head-to-head, openings | /api/chess/position?moves=e4 e5 Nf3 | SKILL.MD |
| Companies UK | 5.7M companies, monthly diffs | Unified search: company data + change tracking in one query. to_town:london, kind:new, from_status:active | /api/companies_uk/search?q=name:google | SKILL.MD |
| Holidays | 3.4K holidays, 121 countries | Today/upcoming with timezone, regional vs nationwide, date lookup, 6 types | /api/holidays/upcoming?country=US | SKILL.MD |
| Colors | 29K+ colors, 22 brands | CIEDE2000 cross-brand matching, harmonies, strips, palette generation | /api/colors/search?q=name:navy brand:sherwin-williams | SKILL.MD |
| Countries | 247 nations, 282 indicators | 60yr timeseries, rank, correlate, histogram, growth | /api/countries/rank?indicator=gdp_per_capita_usd | SKILL.MD |
| Design | 1K designs, 26 categories, 40 styles | Production HTML + screenshots, prompts, 4K+ tags, search by style/category/tag | /api/design/search?q=style:brutalist | SKILL.MD |
| Food | 13.5K recipes, 8K ingredients, 2M products | 45+ filters (taste, texture, diet), pairings, barcode lookup | /api/food/recipes/filter?cuisine=italian | SKILL.MD |
| GBIF | 7.7M taxa | Tree of life, synonym resolution, lineage, descendants | /api/gbif/search?q=canonical_name:canis+lupus | SKILL.MD |
| Gutenberg | 60K books, 1.2M illustrations | AI tags (genre, mood, era, locations), cover art, filter by rating/era/genre | /api/gutenberg/books?q=title:pride+prejudice | SKILL.MD |
| Home | 11K+ devices, 3 protocols | Structured capabilities, commands with exact payloads, compatible platforms | /api/home/search?q=name:motion+sensor | SKILL.MD |
| Jokes | 41K jokes, 16 categories | BM25 search, category/rating/offensive filters | /api/jokes/random | SKILL.MD |
| MTG | 29K cards, 138K combos | 21-axis synergy engine, combo detection, Commander deck builder | /api/mtg/cards/search?q=name:lightning+bolt | SKILL.MD |
| Music | 651K artists, 1.6M albums, 4.1M songs | CF on 1.5B listens, 4 modes (similar/opposite/explore/like-dislike), 4 pools (popular/known/deep/obscure) | /api/music/artists/search?q=name:radiohead | SKILL.MD |
| Movies | 351K+ movies, 40 taste axes | Vibe search by mood, taste similarity, recommendations, compare, 4 pools | /api/movies/vibe?q=cerebral:0.8+dark:0.7 | SKILL.MD |
| Podcast | 1M+ podcasts | Categories, languages, cadence, popularity, field-qualified search | /api/podcast/search?q=title:coin category:technology | SKILL.MD |
| Man Pages | 142K pages, 37 categories | AI cheat cards, category tags, use-frequency scores, field-qualified search | /api/manpages/search?q=category:networking&min_freq=4 | SKILL.MD |
| Solve | Computation engine | Algebra, stats + portfolio, regression, finance, graphs + geodesic, Monte Carlo, matrix, number theory, combinatorics, interpolation, integration, ODE solver | POST /api/solve/stats | SKILL.MD |
| OSM | 46M+ places | Hilbert spatial index, text+geo combined search | /api/osm/search?q=starbucks&lat=48.85&lon=2.35 | SKILL.MD |
| Wikipedia | 7.2M articles, 1.3M geo-tagged | Summary + infobox, full markdown, link graph, geo search | /api/wikipedia/summary/Albert_Einstein | SKILL.MD |
| Wiktionary | 8M+ entries, 4K+ languages | IPA, etymology, translations, synonyms, definitions | /api/wiktionary/word/hello | SKILL.MD |
Full machine-readable docs: z87.ai/api/SKILL.md
Chess
SKILL.MD+
1B+ rated Lichess games (2000+ Elo, 2013–2026). Position trie, game filters, head-to-head.
Endpoints
GET /api/chess/position?moves=e4%20e5%20Nf3&limit=1
{
"games": [
{
"black": "Ukraine-team-creator",
"black_elo": 3111,
"eco": "C40",
"game_id": 155475799400,
"opening": "King's Knight Opening",
"ply_count": 3,
"result": "1-0",
"white": "MayhemPI_cluster",
"white_elo": 3220
}
],
"limit": 1,
"offset": 0,
"total": 66486348
}Companies UK
SKILL.MD+
5.7M UK companies from Companies House. Unified search index: company data and monthly change tracking in one query. Find companies by name, track who moved to London, who changed status, who incorporated last month — all with field:value syntax.
Endpoints
GET /api/companies_uk/search?q=name:google&limit=1
{
"companies": [
{
"number": "12372612",
"name": "CAR GOOGLE LTD",
"postcode": "UB8 1JG",
"town": "UXBRIDGE",
"status": "Active",
"category": "Private Limited Company",
"incorporation_date": "2019-12-09",
"sic_codes": ["45111 - Sale of new cars and light motor vehicles"]
}
],
"total": 30
}
# Change tracking — same endpoint, same index:
# /search?q=kind:new sic:software — new software companies
# /search?q=to_town:london from_town:manchester — relocated Manchester → London
# /search?q=from_status:active to_status:liquidation — entering liquidation
# /search?q=changed:mortgages name:holdings — mortgage activity at holdings cos
# /search?q=kind:dissolved postcode:EC1V — dissolved in EC1V
# /search?q=to_status:active category:community — community interest cos becoming activeGET /api/companies_uk/number/11743365
{
"company": {
"number": "11743365",
"name": "!BIG IMPACT GRAPHICS LIMITED",
"postcode": "EC1V 2NX",
"status": "Active",
"changes": [
{
"snapshot": "2026-03",
"kind": "changed",
"fields": [
{"field": "address_line1", "from": "COMPANIES HOUSE DEFAULT ADDRESS", "to": "124 CITY ROAD"},
{"field": "town", "from": "CARDIFF", "to": "LONDON"},
{"field": "postcode", "from": "CF14 8LH", "to": "EC1V 2NX"}
]
}
]
}
}Holidays
SKILL.MD+
3,391 public holidays across 121 countries (2026–2027). Regional vs nationwide tracking with county-level granularity. Timezone-aware today/upcoming endpoints default to each country's local time.
Endpoints
GET /api/holidays/search?q=name:christmas&limit=2
{
"holidays": [
{
"date": "2026-12-25",
"name": "Christmas Day",
"local_name": "Nadal",
"country_code": "AD",
"types": ["Public"],
"nationwide": true,
"fixed": false
},
{
"date": "2027-12-25",
"name": "Christmas Day",
"local_name": "Nadal",
"country_code": "AD",
"types": ["Public"],
"nationwide": true,
"fixed": false
}
],
"total": 294
}GET /api/holidays/country/US?year=2026&limit=2
{
"country_code": "US",
"holidays": [
{"date": "2026-01-01", "name": "New Year's Day", "nationwide": true},
{"date": "2026-01-19", "name": "Martin Luther King, Jr. Day", "nationwide": true}
],
"total": 16
}GET /api/holidays/date/2026-12-25?limit=3
{
"date": "2026-12-25",
"holidays": [
{"name": "Christmas Day", "country_code": "AD"},
{"name": "Christmas Day", "country_code": "AL"},
{"name": "Christmas Day", "country_code": "AR"}
],
"total": 107
}GET /api/holidays/upcoming?country=US&limit=2
{
"date": "2026-04-09",
"tz": "America/New_York",
"country_code": "US",
"holidays": [
{"date": "2026-05-25", "name": "Memorial Day", "nationwide": true},
{"date": "2026-06-19", "name": "Juneteenth", "nationwide": true}
],
"total": 26
}Colors
SKILL.MD+
Unified paint color database with cross-brand matching via CIEDE2000 perceptual distance, color harmony generation, coordinating strips, and palette suggestions.
Endpoints
Countries
SKILL.MD+
247 countries, 282 indicators (57 static, 225 timeseries) across economics, health, demographics, energy, environment, education. World Bank, WHO, UNDP.
Endpoints
GET /api/countries/rank?indicator=gdp_per_capita_usd&limit=1
{
"entries": [
{
"country": "Monaco",
"iso3": "MCO",
"rank": 1,
"value": 256580.515122745
}
],
"indicator": "gdp_per_capita_usd",
"limit": 1,
"offset": 0,
"total": 223
}Design
SKILL.MD+
1,003 production-grade frontend designs with live HTML, screenshots, prompts, and structured metadata. Search by category, style, tag, or free text across summaries and prompts.
Endpoints
GET /api/design/search?q=style:brutalist&limit=1
{
"designs": [
{
"id": 57,
"category": "Web App / Dashboard",
"style": "Brutalist",
"tags": ["brutalist", "code-review", "diff-view", "..."],
"summary": "Raw brutalist code review tool with three rigid columns..."
}
],
"total": 46
}GET /api/design/details/0
{
"design": {
"id": 0,
"category": "Web App / Dashboard",
"style": "Bauhaus Minimal",
"tags": ["bauhaus", "server-monitoring", "..."],
"summary": "Server monitoring dashboard with 4×3 server tile grid...",
"prompt": "Design a server monitoring dashboard...",
"html": "https://z87.ai/api/design/details/0/example.html",
"screenshot": "https://z87.ai/api/design/details/0/example.png"
}
}Food
SKILL.MD+
13.5K recipes with taste/texture profiles and 45+ filter params. 8K+ USDA FDC ingredients with portion sizes. 2M products with Nutri-Score, NOVA ratings, and barcode lookup.
Recipe Endpoints
GET /api/food/recipes/filter?cuisine=italian&is_vegetarian=true&limit=1
{
"limit": 1,
"offset": 0,
"recipes": [
{
"cuisine": "italian",
"difficulty": "easy",
"id": 70,
"is_vegetarian": true,
"taste_profile": { "umami": 7, "fat": 7, "salty": 6, "sour": 4 },
"title": "Swiss Chard Pasta With Toasted Hazelnuts and Parmesan",
"total_time_minutes": 40
}
],
"total": 815
}Ingredient Endpoints
Product Endpoints
GBIF
SKILL.MD+
GBIF Backbone Taxonomy: 7.7M taxa with full hierarchy, synonym resolution, tree navigation, and full-text search across the tree of life.
Endpoints
GET /api/gbif/search?q=canonical_name:canis+lupus&limit=1
{
"limit": 1,
"offset": 0,
"taxa": [
{
"canonical_name": "Canis lupus lupus",
"id": 7193871,
"kingdom": "Animalia",
"rank": "subspecies",
"status": "accepted"
}
],
"total": 44
}Gutenberg
SKILL.MD+
60,000 Project Gutenberg books with cover art, 1.2M illustrations, and AI-generated tags: genre, mood, era, locations, comparable books, five-word summaries, and read-at ages.
Endpoints
GET /api/gutenberg/books?q=title:pride+prejudice&limit=1
{
"books": [
{
"id": 1342,
"title": "Pride and Prejudice",
"author": "Jane Austen",
"genre": ["fiction", "romance"],
"mood": ["romantic", "humorous"],
"rating": 5,
"importance": 5,
"era": "romantic",
"five_words": "Witty woman outwits her prejudice"
}
],
"total": 3
}Home
SKILL.MD+
11K+ smart home devices from Z2M, Z-Wave JS, Tasmota, ESPHome. Structured capabilities with exact command payloads and state descriptions.
Endpoints
GET /api/home/search?q=name:motion+sensor&limit=1
{
"products": [
{
"id": 5681,
"name": "IWATSU Motion Sensor",
"vendor": "IWATSU",
"model": "Motion Sensor",
"category": "sensor",
"protocols": ["zwave"]
}
],
"total": 262
}Jokes
SKILL.MD+
41,000 jokes from three sources, AI-tagged with category, rating, topics, and offensive score.
Endpoints
GET /api/jokes/random
{
"joke": {
"body": "What's Canada's spy agency?\nThe CI, eh?",
"category": "wordplay",
"id": 16672,
"offensive_score": 0,
"rating": "clean",
"title": "What's Canada's spy agency?",
"topics": ["canada"]
}
}MTG
SKILL.MD+
29K Magic: The Gathering cards with mechanical synergy engine (token/sacrifice, counter/proliferate, flicker/ETB, recursion, tribal), combo detection, and Commander deck builder.
Endpoints
GET /api/mtg/cards/search?q=name:lightning+bolt&limit=1
{
"cards": [
{
"cmc": 1.0,
"id": 14351,
"mana_cost": "{R}",
"name": "Lightning Bolt",
"rarity": "Common",
"type_line": "Instant"
}
],
"limit": 1,
"offset": 0,
"total": 1
}Music
SKILL.MD+
651K artists, 1.6M albums, 4.1M songs from MusicBrainz + ListenBrainz. Collaborative filtering on 1.5B real listens. Four modes (similar, opposite, explore, like/dislike) and four discovery pools (popular, known, deep, obscure).
Endpoints
GET /api/music/artists/search?q=name:radiohead&limit=1
{
"artists": [
{
"country": "GB",
"genres": ["alternative rock", "art rock", "electronic", "experimental"],
"id": 46,
"listen_count": 5711195,
"listener_count": 21322,
"name": "Radiohead",
"type": "Group"
}
],
"limit": 1,
"offset": 0,
"total": 1
}GET /api/music/suggest?artists=46,1,45&limit=3
{"like": ["Radiohead", "Massive Attack", "Portishead"],
"suggestions": [
{"name": "Pixies", "score": 0.999},
{"name": "Moby", "score": 0.999},
{"name": "Blur", "score": 0.999}],
"type": "artists", "mode": "similar", "pool": "popular"}
# modes: similar (default), opposite, explore
GET /api/music/suggest?artists=46,1&mode=opposite&limit=5
# like/dislike — refine with negative signal
GET /api/music/suggest?like=46,1&dislike=40&limit=5
# explore — orthogonal to both likes and dislikes
GET /api/music/suggest?like=46,1&dislike=40&mode=explore&limit=5
# discovery pools: popular (default), known, deep, obscure
GET /api/music/suggest?artists=46,1&pool=deep&limit=5
GET /api/music/suggest?songs=500,600&pool=obscure&limit=5Movies
SKILL.MD+
351K+ movies with 40-axis taste profiles (cerebral, dark, humor, tension, romantic, etc.), cast, themes, ratings, and soundtrack data. Mood-based discovery via taste-vector search, collaborative similarity, and side-by-side comparison.
Endpoints
GET /api/movies/search?q=genre:horror+language:en&min_rating=8&limit=3
{
"movies": [
{"id": 268, "title": "Alien", "year": 1979,
"genres": ["Horror", "Science Fiction"], "tmdb_rating": 8.16},
{"id": 423, "title": "The Shining", "year": 1980,
"genres": ["Horror", "Thriller"], "tmdb_rating": 8.22},
{"id": 542, "title": "Psycho", "year": 1960,
"genres": ["Horror", "Mystery", "Thriller"], "tmdb_rating": 8.41}
],
"total": 334
}
# /search?q=director:nolan — 75 results
# /search?q=cast:dicaprio+decade:2010s
# /search?q=keyword:time+travel&min_rating=7GET /api/movies/vibe?q=cerebral:0.9+dark:0.8+tension:0.9&min_rating=7&limit=3
{
"movies": [
{"id": 51958, "title": "La table", "score": 0.506,
"genres": ["Drama", "Thriller"], "tmdb_rating": 8.0},
{"id": 96814, "title": "Inside", "score": 0.495,
"genres": ["Drama", "Horror", "Mystery"], "tmdb_rating": 7.01}
],
"query": {"cerebral": 0.9, "dark": 0.8, "tension": 0.9}
}
# /vibe?q=feel_good:0.9+humor:0.8 — feel-good comedies
# /vibe?q=romantic:0.8+tragic:0.7 — tragic love stories
# /vibe?q=family_friendly:0.9+humor:0.7 — family movie nightGET /api/movies/similar/19?limit=3 (Inception)
{
"movie": {"id": 19, "title": "Inception", "year": 2010},
"similar": [
{"id": 903, "title": "Oblivion", "score": 0.962,
"shared_taste": ["visual_style", "world_building", "mystery"]},
{"id": 1201, "title": "Source Code", "score": 0.961,
"shared_taste": ["tension", "cerebral", "pacing_speed", "complexity"]},
{"id": 1232, "title": "Minority Report", "score": 0.959,
"shared_taste": ["tension", "visual_style", "world_building", "cerebral"]}
]
}GET /api/movies/recommend?movies=inception,the+dark+knight&limit=3
{
"like": [{"id": 19, "title": "Inception"},
{"id": 18, "title": "The Dark Knight"}],
"suggestions": [
{"id": 317, "title": "The Dark Knight Rises", "score": 0.977,
"shared_taste": ["tension", "action_intensity", "redemption_arc"]},
{"id": 1232, "title": "Minority Report", "score": 0.976,
"shared_taste": ["tension", "visual_style", "world_building", "cerebral"]},
{"id": 18472, "title": "Batman: The Long Halloween, Part Two", "score": 0.970,
"shared_taste": ["tension", "complexity", "mystery"]}
]
}
# modes: similar (default), opposite, explore
# /recommend?like=inception&dislike=transformers
# /recommend?movies=inception&pool=deep — deep cuts onlyPodcast
SKILL.MD+
1M+ podcasts from PodcastIndex with categories, language, episode counts, popularity scores, and cadence estimates. Field-qualified search across title, author, description, category, language, and explicit.
Endpoints
GET /api/podcast/search?q=title:coin+category:technology&limit=1
Solve
SKILL.MD+
Computation engine. Pure compute, no stored data. Symbolic algebra, statistics (descriptive, inferential, portfolio analytics), regression, finance, graph algorithms, Monte Carlo, matrix operations, number theory, combinatorics, interpolation, numerical integration, ODE solver, geodesic distance.
Algebra
POST /api/solve/solve
{"expr": "F = m * v^2 / r",
"known": {"m": [5, "kg"], "v": [36, "km/h"], "r": [200, "cm"]},
"solve": "F"}
{"result": {"symbol": "F", "value": 250.0, "unit": "N"}, "verified": true}POST /api/solve/solve-system
{"equations": ["v = u + a*t", "s = u*t + 0.5*a*t^2"],
"known": {"s": 100, "u": 0, "t": 5}, "solve": ["a", "v"]}
{"results": [{"symbol": "a", "value": 8.0}, {"symbol": "v", "value": 40.0}],
"verified": true}Statistics
POST /api/solve/stats
{"data": [2, 4, 4, 4, 5, 5, 7, 9]}
{"count": 8, "mean": 5.0, "median": 4.5, "stddev": 2.138,
"skewness": 0.656, "kurtosis": -0.152,
"percentiles": {"p5": 2.7, "p25": 4.0, "p50": 4.5, "p75": 5.5, "p95": 8.4},
"outliers": [], "normality": {"statistic": 0.12, "p_value": 0.72},
"histogram": [{"low": 2.0, "high": 2.35, "count": 1}, ...]}POST /api/solve/stats/compare
{"a": [23, 25, 28, 30, 32], "b": [20, 22, 24, 26, 28]}
{"welch_t": {"t_statistic": 1.668, "p_value": 0.135, "cohens_d": 1.05,
"mean_difference": 3.6, "confidence_interval_95": [-1.46, 8.66]},
"mann_whitney": {"u_statistic": 5.0, "p_value": 0.15}}GET /api/solve/stats/proportion?x1=52&n1=100&x2=45&n2=100
{"z_statistic": 0.99, "p_value": 0.32, "p1": 0.52, "p2": 0.45,
"difference": 0.07, "confidence_interval_95": [-0.07, 0.21]}POST /api/solve/stats/portfolio
{"returns": [0.01, -0.02, 0.015, 0.005, -0.01, 0.02],
"risk_free_rate": 0.02, "periods_per_year": 252}
{"sharpe_ratio": 1.42, "sortino_ratio": 2.18, "max_drawdown": 0.02,
"var_95": 0.02, "cvar_95": 0.02, "win_rate": 0.667,
"annualized_return": 0.63, "annualized_volatility": 0.22}POST /api/solve/stats/moving-average
{"data": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "window": 3, "method": "sma"}
{"method": "sma", "window": 3, "values": [2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]}GET /api/solve/stats/power?effect_size=0.5&alpha=0.05&power=0.8
{"required_n": 32, "effect_size": 0.5, "alpha": 0.05, "power": 0.8}Regression
POST /api/solve/regression
{"x": [1, 2, 3, 4, 5], "y": [2.1, 3.9, 6.2, 7.8, 10.1], "model": "linear"}
{"model": "linear", "coefficients": [0.05, 1.99], "r_squared": 0.997,
"formula": "y = 0.050000 + 1.990000 * x"}Finance
POST /api/solve/finance/npv
{"rate": 0.10, "cash_flows": [-1000, 300, 420, 680]}
{"npv": 130.73, "rate": 0.1}POST /api/solve/finance/amortization
{"principal": 200000, "annual_rate": 0.06, "periods": 360}
{"payment": 1199.10, "total_interest": 231676.38,
"schedule": [{"period": 1, "payment": 1199.10, "principal": 199.10,
"interest": 1000.0, "balance": 199800.90}, ...]}POST /api/solve/finance/black-scholes
{"spot": 100, "strike": 100, "time": 1.0, "rate": 0.05, "volatility": 0.20}
{"call_price": 10.45, "put_price": 5.57,
"call_delta": 0.637, "put_delta": -0.363,
"gamma": 0.019, "vega": 0.375}Graph Algorithms
POST /api/solve/graph/shortest-path
{"edges": [["A","B",1], ["B","C",2], ["A","C",10]], "from": "A", "to": "C"}
{"distance": 3.0, "path": ["A", "B", "C"]}Monte Carlo
POST /api/solve/monte-carlo/simulate
{"distribution": {"type": "normal", "mean": 100, "stddev": 15}, "n": 10000}
{"n": 10000, "mean": 100.03, "stddev": 14.94,
"percentiles": {"p5": 75.4, "p25": 90.0, "p50": 100.1, "p75": 109.9, "p95": 124.9},
"histogram": [{"low": 44.6, "high": 50.2, "count": 5}, ...]}POST /api/solve/monte-carlo/expression
{"variables": {"price": {"type": "uniform", "min": 90, "max": 110},
"qty": {"type": "normal", "mean": 100, "stddev": 10}},
"expression": "price * qty", "n": 10000}
{"n": 10000, "mean": 9982.5, "stddev": 1144.0,
"percentiles": {"p5": 8128, "p50": 9953, "p95": 11901}}Matrix
POST /api/solve/matrix/determinant
{"matrix": [[6, 1, 1], [4, -2, 5], [2, 8, 7]]}
{"determinant": -306.0, "size": 3}POST /api/solve/matrix/inverse
{"matrix": [[4, 7], [2, 6]]}
{"matrix": [[0.6, -0.7], [-0.2, 0.4]], "size": 2}POST /api/solve/matrix/multiply
{"a": [[1, 2], [3, 4]], "b": [[5, 6], [7, 8]]}
{"matrix": [[19, 22], [43, 50]], "rows": 2, "cols": 2}POST /api/solve/matrix/eigenvalues
{"matrix": [[2, 1], [1, 2]]}
{"eigenvalues": [3.0, 1.0], "iterations": 2}Number Theory
GET /api/solve/number-theory/factorize?n=360
{"n": 360, "factors": [[2, 3], [3, 2], [5, 1]], "is_prime": false}GET /api/solve/number-theory/is-prime?n=104729
{"n": 104729, "is_prime": true}GET /api/solve/number-theory/gcd?a=48&b=18
{"gcd": 6, "lcm": 144, "a": 48, "b": 18}GET /api/solve/number-theory/mod-pow?base=3&exponent=100&modulus=1000000007
{"result": 886041711, "base": 3, "exponent": 100, "modulus": 1000000007}Combinatorics
GET /api/solve/combinatorics/combinations?n=52&r=5
{"n": 52, "r": 5, "value": 2598960.0}GET /api/solve/combinatorics/binomial-probability?n=10&k=5&p=0.5
{"n": 10, "k": 5, "p": 0.5, "probability": 0.2461, "cumulative": 0.6230}Interpolation
POST /api/solve/interpolate
{"x": [0, 1, 2, 3, 4], "y": [0, 1, 4, 9, 16], "at": [0.5, 2.5], "method": "cubic_spline"}
{"method": "cubic_spline", "values": [{"x": 0.5, "y": 0.25}, {"x": 2.5, "y": 6.25}]}Integration
POST /api/solve/integrate
{"x": [0, 0.25, 0.5, 0.75, 1.0], "y": [0, 0.0625, 0.25, 0.5625, 1.0]}
{"trapezoidal": 0.34375, "simpsons": 0.33333, "n": 5}ODE Solver
POST /api/solve/ode
{"expr": "y * (1 - y)", "y0": 0.01, "t_start": 0, "t_end": 10, "steps": 1000}
{"method": "rk4", "steps": 1000, "points": [{"t": 0.0, "y": 0.01}, ..., {"t": 10.0, "y": 0.9999}]}Geodesic Distance
GET /api/solve/geo/distance?lat1=51.5074&lon1=-0.1278&lat2=48.8566&lon2=2.3522
{"km": 343.5, "miles": 213.4, "nautical_miles": 185.5}Restaurants
SKILL.MD+
10K London restaurants with full menus, Michelin stars, ingredient category scores (seafood, meat, game, etc.), capacity estimates, and must-order dishes. More cities coming soon.
Endpoints
GET /api/restaurants/search?q=cuisine:indian&limit=1
{
"restaurants": [
{
"id": 1135,
"name": "Dishoom King's Cross",
"city": "London",
"state": "England",
"country": "GB",
"rating": 4.8,
"price": "$$",
"classification": "upscale_casual",
"michelin_stars": 0,
"cuisines": ["indian", "south_asian"]
}
],
"total": 1289,
"limit": 1,
"offset": 0
}
# ingredient filters — find restaurants strong in game meats
GET /api/restaurants/search?q=&min_game=7&sort=game&limit=5
# combine text + filters
GET /api/restaurants/search?q=cuisine:seafood&min_seafood=8&michelin_min=1GET /api/restaurants/nearby?lat=51.51&lng=-0.13&radius_km=2&q=cuisine:japanese&limit=3
Man Pages
SKILL.MD+
142K Linux man pages with AI-generated cheat cards, category tags, use-frequency scores, and plain-english descriptions. Field-qualified search across name, description, options, synopsis, section, package, and category.
Endpoints
GET /api/manpages/search?q=category:networking&min_freq=4&limit=2
{
"pages": [
{
"id": 5992,
"name": "curl",
"one_liner": "A versatile command-line tool for transferring data to or from servers via URLs.",
"card": "# Download a file\ncurl -O https://example.com/file.tar.gz\n# POST JSON data\ncurl -X POST -H \"Content-Type: application/json\" -d '{\"key\":\"val\"}' https://api.site.com\n# Follow redirects and show headers\ncurl -LI https://example.com",
"section": "1",
"categories": ["networking", "web"],
"use_frequency": 5
}
],
"total": 147
}
# Browse by category
GET /api/manpages/search?q=category:shell&min_freq=4
GET /api/manpages/search?q=category:crypto
GET /api/manpages/search?q=category:container
# Search by name or content
GET /api/manpages/search?q=name:git+section:1
GET /api/manpages/search?q=description:socket+section:2OSM
SKILL.MD+
46M+ OpenStreetMap POIs with Hilbert-curve spatial index and BM25 text search.
Endpoints
GET /api/osm/search?q=starbucks&lat=48.8566&lon=2.3522&radius_km=5&limit=2
{
"elements": [
{
"category": "amenity",
"id": 3438053662,
"lat": 48.87618,
"lon": 2.3445282,
"name": "Starbucks"
}
],
"limit": 2,
"offset": 0,
"total": 43
}Wikipedia
SKILL.MD+
7.2M English Wikipedia articles with full markdown content, infoboxes, inter-article links, and geographic coordinates.
Endpoints
GET /api/wikipedia/summary/Albert_Einstein
{
"infobox": {
"Awards": "Nobel Prize in Physics (1921)...",
"Born": "14 March 1879, Ulm, Germany",
"Fields": "Physics",
"Known for": "General relativity, E=mc²..."
},
"link_count": 1096,
"summary": "Albert Einstein (14 March 1879 – 18 April 1955) was a German-born theoretical physicist...",
"title": "Albert Einstein",
"url": "Albert_Einstein"
}Wiktionary
SKILL.MD+
8M+ Wiktionary entries across 4,000+ languages with definitions, IPA, etymology, translations, and synonyms.
Endpoints
GET /api/wiktionary/word/hello
{
"entry": {
"languages": [
{
"language": "English",
"pronunciations": ["/hɛˈloʊ/"],
"senses": [
{ "definitions": ["A greeting..."], "pos": "interjection" },
{ "definitions": ["\"Hello!\" or an equivalent greeting."], "pos": "noun" }
],
"synonyms": ["hi", "howdy", "g'day"]
}
],
"word": "hello"
}
}Paidper query
Law
Coming soonChemistry
Coming soonWeather
Coming soonWhy Z87
ANSI Z87.1 is the standard stamped into every pair of safety glasses. If you see the mark, you know the lens will hold. We named the API after it. Claws that query the world without grounded data are flying blind. Z87 is the lens.
Terms of Use
This service is intended for open, automated access; humans and agents may use the API without restriction.
All data is provided "as is" and "as available", without warranty of any kind, express or implied. We make no guarantees regarding accuracy, completeness, reliability, availability, or fitness for any purpose.
To the fullest extent permitted by law, we disclaim all liability for any loss or damage arising from use of the service or reliance on its data, including for indirect, incidental, or consequential damages.
This service must not be relied upon for medical, legal, financial, or safety-critical decisions.
We reserve the right to suspend or revoke access to the service at any time, for any reason, without notice.
By using the API you agree to these terms and to the upstream licenses of each dataset listed below.
Privacy
We aim to collect as little data as possible. We temporarily process visitor IP addresses solely for rate limiting and abuse prevention; this data is used strictly for internal purposes and is never sold or shared for external use. We do not use cookies, tracking pixels, or third-party analytics.
Processing is based on our legitimate interests in maintaining the security, availability, and fair use of the service. IP addresses are retained for a short period (typically a few days) until log rotation, and then deleted.
You have rights under UK data protection law, including the right to access or request the deletion of your data, and the right to lodge a complaint with the Information Commissioner's Office (ICO).
Last updated: 25 March 2026.
Licenses
The z87 API code is MIT licensed. Each dataset carries its upstream license:
- chess - Lichess game data is CC0 1.0 (public domain).
- colors - Compilation of publicly available paint color data. MIT licensed.
- countries - World Bank data is CC BY 4.0. Additional sources: WHO, UNDP, CIA World Factbook (public domain). Attribution required for World Bank data.
- design - Original compilation. MIT licensed.
- food - USDA FoodData Central is CC0/public domain. Open Food Facts product data is ODbL 1.0 (attribution and share-alike required). Recipes are original compilations under MIT. Nutritional data is informational only.
- gbif - GBIF Backbone Taxonomy is CC BY 4.0. Cite: GBIF Secretariat, GBIF Backbone Taxonomy, doi:10.15468/39omei.
- companies_uk - Contains public sector information from Companies House, licensed under the Open Government Licence v3.0. Crown Copyright.
- gutenberg - Project Gutenberg texts are public domain in the United States. Verify public domain status in your jurisdiction before redistribution.
- home - Aggregated from: zigbee2mqtt (GPL-3.0), zwave-js (MIT), Blakadder templates (CC-BY-SA-4.0), ESPHome device configs (MIT), Home Assistant integrations (Apache-2.0). Each record retains its source license.
- jokes - Collected from public domain sources. Content may be offensive. Offensive scores are machine-generated approximations.
- mtg - Card data from Scryfall under Wizards of the Coast Fan Content Policy. Magic: The Gathering is a trademark of Wizards of the Coast/Hasbro. Not affiliated with or endorsed by WotC.
- music - MusicBrainz core data is CC0 (public domain). ListenBrainz listen data is CC-BY-SA 3.0.
- movies - Movie metadata sourced from TMDB (CC BY-NC 4.0). Taste profiles, themes, and soundtrack analysis are AI-generated. Attribution required.
- podcast - PodcastIndex database is MIT licensed. Feed metadata (titles, descriptions, URLs) originates from podcast publishers via RSS.
- solve - Original implementation. MIT licensed.
- osm - OpenStreetMap data is ODbL 1.0. © OpenStreetMap contributors. Attribution and share-alike required.
- manpages - Man pages carry individual upstream licenses (GPL, MIT, BSD, etc). Metadata aggregated from Debian/Ubuntu package repositories.
- restaurants - Compilation of publicly available restaurant data. MIT licensed.
- wikipedia - Wikipedia content is CC BY-SA 4.0. Attribution and share-alike required.
- wiktionary - Wiktionary content is CC BY-SA 4.0. Attribution and share-alike required.