Z87

Knowledge for agents.Free. Fast. No signup.by REKKI: z87@rekki.com

datasets

Get started

No key needed

Just call any endpoint

Anonymous access works. 600 tokens/min - enough for exploration.

GET https://z87.ai/api/jokes/random
→ works immediately
10× limits

Get a key for 6,000 tokens/min

Keys last a year.

GET https://z87.ai/api/use
→ {"key": "0001922f3a..."}

X-Api-Key: 0001922f3a...
On 429

Wait a second, retry

Budget refills at 100 tokens/sec. Burst up to 6,000 then sustain.

On 403

Get a new key

Just call /api/use again.

Freeforever

DatasetScaleHighlightsTryDocs
Chess1B+ games, 2.4M playersPosition trie, game filters, head-to-head, openings/api/chess/position?moves=e4 e5 Nf3SKILL.MD
Companies UK5.7M companies, monthly diffsUnified search: company data + change tracking in one query. to_town:london, kind:new, from_status:active/api/companies_uk/search?q=name:googleSKILL.MD
Holidays3.4K holidays, 121 countriesToday/upcoming with timezone, regional vs nationwide, date lookup, 6 types/api/holidays/upcoming?country=USSKILL.MD
Colors29K+ colors, 22 brandsCIEDE2000 cross-brand matching, harmonies, strips, palette generation/api/colors/search?q=name:navy brand:sherwin-williamsSKILL.MD
Countries247 nations, 282 indicators60yr timeseries, rank, correlate, histogram, growth/api/countries/rank?indicator=gdp_per_capita_usdSKILL.MD
Design1K designs, 26 categories, 40 stylesProduction HTML + screenshots, prompts, 4K+ tags, search by style/category/tag/api/design/search?q=style:brutalistSKILL.MD
Food13.5K recipes, 8K ingredients, 2M products45+ filters (taste, texture, diet), pairings, barcode lookup/api/food/recipes/filter?cuisine=italianSKILL.MD
GBIF7.7M taxaTree of life, synonym resolution, lineage, descendants/api/gbif/search?q=canonical_name:canis+lupusSKILL.MD
Gutenberg60K books, 1.2M illustrationsAI tags (genre, mood, era, locations), cover art, filter by rating/era/genre/api/gutenberg/books?q=title:pride+prejudiceSKILL.MD
Home11K+ devices, 3 protocolsStructured capabilities, commands with exact payloads, compatible platforms/api/home/search?q=name:motion+sensorSKILL.MD
Jokes41K jokes, 16 categoriesBM25 search, category/rating/offensive filters/api/jokes/randomSKILL.MD
MTG29K cards, 138K combos21-axis synergy engine, combo detection, Commander deck builder/api/mtg/cards/search?q=name:lightning+boltSKILL.MD
Music651K artists, 1.6M albums, 4.1M songsCF on 1.5B listens, 4 modes (similar/opposite/explore/like-dislike), 4 pools (popular/known/deep/obscure)/api/music/artists/search?q=name:radioheadSKILL.MD
Movies351K+ movies, 40 taste axesVibe search by mood, taste similarity, recommendations, compare, 4 pools/api/movies/vibe?q=cerebral:0.8+dark:0.7SKILL.MD
Podcast1M+ podcastsCategories, languages, cadence, popularity, field-qualified search/api/podcast/search?q=title:coin category:technologySKILL.MD
Man Pages142K pages, 37 categoriesAI cheat cards, category tags, use-frequency scores, field-qualified search/api/manpages/search?q=category:networking&min_freq=4SKILL.MD
SolveComputation engineAlgebra, stats + portfolio, regression, finance, graphs + geodesic, Monte Carlo, matrix, number theory, combinatorics, interpolation, integration, ODE solverPOST /api/solve/statsSKILL.MD
OSM46M+ placesHilbert spatial index, text+geo combined search/api/osm/search?q=starbucks&lat=48.85&lon=2.35SKILL.MD
Wikipedia7.2M articles, 1.3M geo-taggedSummary + infobox, full markdown, link graph, geo search/api/wikipedia/summary/Albert_EinsteinSKILL.MD
Wiktionary8M+ entries, 4K+ languagesIPA, etymology, translations, synonyms, definitions/api/wiktionary/word/helloSKILL.MD

Full machine-readable docs: z87.ai/api/SKILL.md

Chess

1B+Games2.4MPlayers4,352OpeningsPosition trie
SKILL.MD
+

1B+ rated Lichess games (2000+ Elo, 2013–2026). Position trie, game filters, head-to-head.

Endpoints

GET/api/chess/position3 tok
Find games by move sequence. Filters: tc_min, tc_max, elo_min, elo_max, result, ply_min
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
}
GET/api/chess/players3 tok
Search players by name prefix
GET/api/chess/players/{id}5 tok
Player profile with games. Same game filters as /position
GET/api/chess/players/{id}/vs/{id2}5 tok
Head-to-head record. Same game filters
GET/api/chess/openings3 tok
Search openings by name or ECO code
GET/api/chess/games/{game_id}5 tok
Full game by ID
GET/api/chess/random1 tok
Random game
GET/api/chess/stats1 tok
Dataset statistics

Companies UK

5.7MCompanies62KDissolved61KNewMonthly diffsUnified search
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/search3 tok
Unified search. Company fields: name, number, postcode, town, sic, status, category, country. Change fields: kind (new/dissolved), snapshot, changed (field group), to_<field>, from_<field>. All terms AND'd.
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 active
GET/api/companies_uk/number/{number}5 tok
Full company detail with change history across snapshots, previous names, mortgages
GET /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"}
        ]
      }
    ]
  }
}
GET/api/companies_uk/stats1 tok
All searchable field values, change field names, snapshot dates
GET/api/companies_uk/random1 tok
Random company

Holidays

3.4KHolidays121Countries6TypesTimezone-awareRegional
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/search3 tok
Field-qualified search. Fields: name, local_name, country, type. Filters: from, to, year, nationwide (true=whole country, false=regional)
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/{code}5 tok
All holidays for a country. Filters: from, to, year, type
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/{date}3 tok
All holidays on a specific date worldwide. Filter: country, type
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/today1 tok
Holidays today for a country. Uses country's timezone by default. Override with tz (IANA). Requires country
GET/api/holidays/upcoming1 tok
Next holidays from today for a country. Timezone-aware. Requires country
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
}
GET/api/holidays/random1 tok
Random holiday
GET/api/holidays/stats1 tok
All 121 country codes, types, date range, per-country holiday counts

Colors

29K+Colors22BrandsCIEDE2000Harmonies
SKILL.MD
+

Unified paint color database with cross-brand matching via CIEDE2000 perceptual distance, color harmony generation, coordinating strips, and palette suggestions.

Endpoints

GET/api/colors/search3 tok
Field-qualified search. Fields: name, brand, family, code
GET/api/colors/nearest5 tok
Find closest colors to a hex value by CIEDE2000 perceptual distance
GET/api/colors/similar/{id}5 tok
Cross-brand matching from an existing color
GET/api/colors/harmonies/{id}5 tok
Complementary, analogous, triadic, split-complementary, tetradic schemes
GET/api/colors/strip/{id}5 tok
Monochromatic coordinating colors from the same paint strip
GET/api/colors/palette/{id}5 tok
Generate wall/trim/accent/ceiling palette from one color
GET/api/colors/compare3 tok
Side-by-side comparison with CIEDE2000 distance

Countries

247Nations282Indicators60yrTimeseriesLive correlations
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/rank3 tok
Rank countries by any indicator
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
}
GET/api/countries/compare3 tok
Side-by-side country comparison
GET/api/countries/correlate3 tok
Correlate two indicators across countries
GET/api/countries/timeseries3 tok
Extract timeseries data for an indicator
GET/api/countries/histogram3 tok
Distribution histogram for an indicator
GET/api/countries/growth3 tok
Year-over-year growth rate for a timeseries indicator
GET/api/countries/percentile3 tok
Percentile rank of a country for a given indicator
GET/api/countries/similar3 tok
Find countries with similar indicator profiles
GET/api/countries/search3 tok
Field-qualified search. Fields: name, iso3, continent, region
GET/api/countries/{iso3}5 tok
Full country profile by ISO-3 code
GET/api/countries/indicators3 tok
List available indicators
GET/api/countries/random1 tok
Random country
GET/api/countries/stats1 tok
Dataset statistics

Design

1KDesigns26Categories40Styles4K+TagsHTML + screenshots
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/search3 tok
Field-qualified search. Fields: summary, prompt, tag, category, style
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/{id}5 tok
Design metadata with prompt and links to live HTML and screenshot
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"
  }
}
GET/api/design/details/{id}/example.html5 tok
Live HTML template (text/html, renders directly in browser)
GET/api/design/details/{id}/example.png5 tok
Screenshot image (image/png, viewable in browser)
GET/api/design/random1 tok
Random design (full detail with prompt, html, screenshot)
GET/api/design/random/example.html1 tok
Random live HTML template (text/html, renders directly in browser)
GET/api/design/random/example.png1 tok
Random screenshot image (image/png, viewable in browser)
GET/api/design/stats1 tok
Category, style, and tag distributions

Food

13.5KRecipes8K+Ingredients2MProducts43CuisinesTaste+texture
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/filter3 tok
45+ filters: cuisine, diet, taste (sweet/salty/sour/bitter/umami/spicy/fat), texture (crunchy/creamy/chewy/tender/flaky/silky), nutrition, allergen_exclude, difficulty, season, technique, sort
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
}
GET/api/food/recipes/by-ingredients3 tok
Find recipes matching available ingredients, ranked by coverage
GET/api/food/recipes/pairings3 tok
Ingredient co-occurrence pairings with affinity scores
GET/api/food/recipes/compare3 tok
Side-by-side nutritional comparison
GET/api/food/recipes/search3 tok
Search recipes by text
GET/api/food/recipes/{id}5 tok
Recipe by ID or /recipes/by-slug/{slug}
GET/api/food/recipes/random1 tok
Random recipe (accepts all filter params)
GET/api/food/recipes/stats1 tok
Cuisine, dietary, technique distributions

Ingredient Endpoints

GET/api/food/ingredients/search3 tok
Search FDC ingredients
GET/api/food/ingredients/{fdc_id}5 tok
Ingredient by FDC ID with full nutrients
GET/api/food/ingredients/{fdc_id}/portions1 tok
Portion sizes for an ingredient
GET/api/food/ingredients/compare3 tok
Compare ingredients side-by-side
GET/api/food/ingredients/stats1 tok
Ingredient dataset statistics

Product Endpoints

GET/api/food/products/search3 tok
Search 2M food products
GET/api/food/products/filter3 tok
Filter by nutriscore, category, country, NOVA group, allergens
GET/api/food/products/barcode/{code}5 tok
Product by barcode/EAN
GET/api/food/products/compare3 tok
Compare products by barcode
GET/api/food/products/stats1 tok
Product dataset statistics

GBIF

7.7MTaxa5.5MDistributionsTree of lifeSynonym resolution
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/search3 tok
Field-qualified search. Fields: canonical_name, vernacular, rank, kingdom, status
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
}
GET/api/gbif/resolve3 tok
Resolve synonyms to accepted taxon
GET/api/gbif/taxa/{id}10 tok
Full detail for a single taxon
GET/api/gbif/taxa/{id}/lineage5 tok
Walk up: species → genus → family → … → kingdom
GET/api/gbif/taxa/{id}/children5 tok
Direct children of a taxon
GET/api/gbif/taxa/{id}/descendants/count3 tok
Count descendants without fetching them
GET/api/gbif/taxa/{id}/descendants10 tok
Walk down the taxonomic tree
GET/api/gbif/suggest1 tok
Autocomplete for taxon names
GET/api/gbif/random1 tok
Random taxon
GET/api/gbif/stats1 tok
Dataset statistics

Gutenberg

60KBooks1.2MIllustrationsAI tagsCover artBM25 search
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/books3 tok
Field-qualified search. Fields: title, author, subject, genre, mood, era, theme, audience, tone. Numeric: min_rating, min_importance
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
}
GET/api/gutenberg/books/{id}5 tok
Full detail with all AI tags, chapters, images, locations, read_at ages
GET/api/gutenberg/books/{id}/chapters/{n}20 tok
Single chapter text as markdown
GET/api/gutenberg/books/{id}/full50 tok
Full book text as markdown
GET/api/gutenberg/books/{id}/cover1 tok
Cover image (JPEG)
GET/api/gutenberg/books/{id}/images/{n}1 tok
Book illustration by index (JPEG)
GET/api/gutenberg/books/similar/{id}5 tok
Find similar books by subject overlap
GET/api/gutenberg/books/random1 tok
Random book
GET/api/gutenberg/authors3 tok
Search authors by name
GET/api/gutenberg/authors/rank3 tok
Rank authors by total_words or book_count
GET/api/gutenberg/authors/{name}5 tok
Author profile with all books
GET/api/gutenberg/subjects3 tok
Search subjects
GET/api/gutenberg/subjects/pairings3 tok
Subject co-occurrence pairs
GET/api/gutenberg/subjects/{name}/books3 tok
Books in a subject
GET/api/gutenberg/stats1 tok
Dataset statistics

Home

11K+DevicesZigbeeZ-WaveWiFiCommands & States
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/search3 tok
Field-qualified search. Fields: name, vendor, model, description, category, protocol
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
}
GET/api/home/products/{id}5 tok
Full product: capabilities, commands, states, options, notes
GET/api/home/suggest1 tok
Autocomplete for product and vendor names
GET/api/home/stats1 tok
Protocol, category, and source distributions

Jokes

41KJokes16CategoriesRatedOffensive scores
SKILL.MD
+

41,000 jokes from three sources, AI-tagged with category, rating, topics, and offensive score.

Endpoints

GET/api/jokes/random1 tok
Random joke with optional safety filters
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"]
  }
}
GET/api/jokes/search3 tok
Field-qualified search. Fields: category, topic, text. Numeric filter: max_offensive
GET/api/jokes/{id}5 tok
Joke by ID
GET/api/jokes/stats1 tok
Category and rating distributions

MTG

29KCards138KCombosSynergy engineCommander builder
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/search3 tok
Field-qualified search. Fields: name, text, type_line, color, rarity. Numeric: cmc_max
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
}
GET/api/mtg/cards/{id}5 tok
Card by ID
GET/api/mtg/cards/by-name/{name}5 tok
Card by exact name
GET/api/mtg/cards/random1 tok
Random card
POST/api/mtg/combos5 tok
Find combos involving given cards
POST/api/mtg/missing5 tok
Find combos you're 1–2 cards away from
POST/api/mtg/synergy5 tok
Score card pair interactions across 21 mechanical axes (token→sacrifice, counter→proliferate, flicker→ETB, recursion→dies, tribal overlap, etc.)
GET/api/mtg/suggest5 tok
Generate a Commander deck
POST/api/mtg/curve5 tok
Analyze deck mana curve
POST/api/mtg/upgrade5 tok
Suggest deck upgrades
GET/api/mtg/stats1 tok
Dataset statistics

Music

651KArtists1.6MAlbums4.1MSongs1.5BListens4 modes4 pools
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/search3 tok
Field-qualified search. Fields: name, genre, country
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/artists/suggest1 tok
Autocomplete artist names by prefix
GET/api/music/artists/{id}5 tok
Full artist profile with top songs, top albums, genres, and listen stats
GET/api/music/suggest3 tok
Recommend artists, albums, or songs. Collaborative filtering on 1.5B listens. Supports modes, discovery pools, and like/dislike refinement.
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=5
GET/api/music/random1 tok
Random artist
GET/api/music/random/album1 tok
Random album
GET/api/music/random/song1 tok
Random song
GET/api/music/stats1 tok
Dataset statistics

Movies

351K+Movies40Taste axesVibe searchRecommendationsCompare
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/search3 tok
Field-qualified search. Fields: title, director, cast, genre, keyword, language, decade, theme. Numeric: min_rating, min_year, max_year, min_votes
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=7
GET/api/movies/vibe3 tok
Taste-vector discovery. Query by mood using 40 axes (0.0-1.0). Filters: genre, decade, language, min_rating, pool
GET /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 night
GET/api/movies/similar/{id}5 tok
Similar movies by taste profile. Returns shared_taste axes explaining the match
GET /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/recommend5 tok
Multi-movie recommendations. Names or IDs, like/dislike, modes: similar, opposite, explore. Pools: popular, known, deep, obscure
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 only
GET/api/movies/compare3 tok
Side-by-side taste profile comparison with similarity score and shared genres
GET/api/movies/suggest1 tok
Autocomplete movie titles by prefix
GET/api/movies/details/{id}5 tok
Full movie detail — cast, themes, taste profile, soundtrack, trailers, posters
GET/api/movies/random1 tok
Random movie. Filters: genre, pool, decade, min_rating
GET/api/movies/stats1 tok
Genre, decade, language, theme distributions and all 40 taste axes

Podcast

1M+Podcasts108Categories62LanguagesCadence & popularity
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/search3 tok
Field-qualified search. Fields: title, author, description, category, language, explicit. Filters: max_stale, coming (today/week/month/N)
GET /api/podcast/search?q=title:coin+category:technology&limit=1
GET/api/podcast/suggest1 tok
Autocomplete podcast titles by prefix
GET/api/podcast/details/{id}5 tok
Podcast detail by ID — same fields as search results
GET/api/podcast/random1 tok
Random podcast
GET/api/podcast/stats1 tok
Category and language distributions

Solve

AlgebraStatisticsRegressionFinanceGraphsMonte CarloPortfolioMatrixNumber TheoryCombinatoricsInterpolationIntegrationODE
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/solve3 tok
Solve a single equation. Accepts expr (infix) or sexp. Values with units: [value, "unit"].
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-system5 tok
Solve a system of equations. Sequential substitution + Gaussian elimination.
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}
POST/api/solve/simplify1 tok
Expand, collect like terms, simplify.
POST/api/solve/rearrange3 tok
Symbolic rearrangement only.
GET/api/solve/convert1 tok
Unit conversion. SI, imperial, digital, temperature, pressure.

Statistics

POST/api/solve/stats3 tok
Full dataset analysis: descriptive stats, percentiles, outliers (IQR), normality test (KS), 20-bin histogram.
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/compare3 tok
Compare two samples: Welch's t-test + Mann-Whitney U + Cohen's d. Set paired:true for before/after (adds paired t-test + Wilcoxon signed-rank).
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}}
POST/api/solve/stats/anova3 tok
One-way ANOVA + Kruskal-Wallis for 3+ groups. Parametric and non-parametric in one call.
GET/api/solve/stats/proportion1 tok
Two-proportion z-test for A/B testing.
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/chi-square3 tok
Chi-square goodness-of-fit.
POST/api/solve/stats/correlation3 tok
Pearson r, R², and Spearman ρ.
POST/api/solve/stats/portfolio3 tok
Portfolio analytics for traders: Sharpe, Sortino, max drawdown, VaR/CVaR, beta, alpha, Calmar, win rate, profit factor.
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-average1 tok
Simple (SMA) or exponential (EMA) moving average.
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]}
POST/api/solve/stats/ks-test1 tok
Two-sample Kolmogorov-Smirnov test. Are two samples from the same distribution?
POST/api/solve/stats/covariance1 tok
Covariance + correlation matrices for multiple variables.
POST/api/solve/stats/weighted1 tok
Weighted mean, variance, stddev.
GET/api/solve/stats/power1 tok
Power analysis: how many samples needed for significance?
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}
POST/api/solve/stats/bootstrap1 tok
Bootstrap confidence interval via resampling. Statistics: mean, median, stddev.

Regression

POST/api/solve/regression3 tok
Curve fitting: linear, polynomial, exponential, logarithmic, power, or auto (tries all, ranks by R²).
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/npv3 tok
Net present value.
POST /api/solve/finance/npv
{"rate": 0.10, "cash_flows": [-1000, 300, 420, 680]}

{"npv": 130.73, "rate": 0.1}
POST/api/solve/finance/irr3 tok
Internal rate of return via Newton's method.
POST/api/solve/finance/amortization3 tok
Loan amortization schedule. Returns payment, total interest, full schedule.
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/compound3 tok
Compound interest. Returns future value and total interest.
POST/api/solve/finance/black-scholes3 tok
Black-Scholes option pricing with Greeks (delta, gamma, vega, theta).
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-path3 tok
Dijkstra's shortest path on a weighted directed graph.
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"]}
POST/api/solve/graph/pagerank3 tok
PageRank with configurable damping and iterations.
POST/api/solve/graph/components3 tok
Connected components (undirected).

Monte Carlo

POST/api/solve/monte-carlo/simulate5 tok
Simulate a distribution: normal, uniform, triangular, lognormal, bernoulli. Returns percentiles, histogram.
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/expression5 tok
Simulate a formula with random variable inputs. Define distributions per variable.
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/determinant3 tok
Determinant via LU decomposition. Max 100×100.
POST /api/solve/matrix/determinant
{"matrix": [[6, 1, 1], [4, -2, 5], [2, 8, 7]]}

{"determinant": -306.0, "size": 3}
POST/api/solve/matrix/inverse3 tok
Matrix inverse via Gauss-Jordan elimination.
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/multiply3 tok
Matrix multiplication A × B.
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/transpose1 tok
Transpose.
POST/api/solve/matrix/eigenvalues5 tok
Eigenvalues via QR algorithm. Max 30×30, symmetric matrices converge best.
POST /api/solve/matrix/eigenvalues
{"matrix": [[2, 1], [1, 2]]}

{"eigenvalues": [3.0, 1.0], "iterations": 2}
POST/api/solve/matrix/rank3 tok
Matrix rank via row reduction.
POST/api/solve/matrix/trace1 tok
Sum of diagonal elements.

Number Theory

GET/api/solve/number-theory/factorize3 tok
Prime factorization.
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-prime1 tok
Primality test.
GET /api/solve/number-theory/is-prime?n=104729

{"n": 104729, "is_prime": true}
GET/api/solve/number-theory/gcd1 tok
GCD and LCM.
GET /api/solve/number-theory/gcd?a=48&b=18

{"gcd": 6, "lcm": 144, "a": 48, "b": 18}
GET/api/solve/number-theory/mod-pow1 tok
Modular exponentiation: base^exp mod modulus.
GET /api/solve/number-theory/mod-pow?base=3&exponent=100&modulus=1000000007

{"result": 886041711, "base": 3, "exponent": 100, "modulus": 1000000007}
GET/api/solve/number-theory/mod-inverse1 tok
Modular multiplicative inverse.
GET/api/solve/number-theory/primes3 tok
All primes up to limit via sieve (max 10M).

Combinatorics

GET/api/solve/combinatorics/combinations1 tok
C(n, r). Poker hands: C(52, 5) = 2,598,960.
GET /api/solve/combinatorics/combinations?n=52&r=5

{"n": 52, "r": 5, "value": 2598960.0}
GET/api/solve/combinatorics/permutations1 tok
P(n, r).
GET/api/solve/combinatorics/factorial1 tok
n! Returns value and ln(n!) for large n.
POST/api/solve/combinatorics/multinomial1 tok
Multinomial coefficient: n! / (k1! × k2! × ... × km!).
GET/api/solve/combinatorics/binomial-probability1 tok
Binomial P(X=k) and cumulative P(X≤k).
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/interpolate1 tok
Interpolate tabular data at arbitrary query points. Methods: linear, cubic_spline (natural).
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/integrate1 tok
Numerical integration of tabular (x,y) data. Trapezoidal rule always; Simpson's when spacing is uniform with even segments.
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/ode1 tok
Solve dy/dt = f(t, y) via Runge-Kutta 4th order. Expression uses variables t and y.
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/distance1 tok
Haversine great-circle distance between two coordinates.
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

10KRestaurants68Cuisines65KMenu itemsMichelin & ratingsLondon
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/search3 tok
Field-qualified search with numeric filters. Fields: name, cuisine, city, country, state, classification, price. Ingredient filters: min_seafood, min_meat, min_game, min_poultry, min_fish, min_cheese, min_desserts, min_truffles (0-10)
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=1
GET/api/restaurants/nearby3 tok
Find restaurants near a point. Combinable with all /search filters.
GET /api/restaurants/nearby?lat=51.51&lng=-0.13&radius_km=2&q=cuisine:japanese&limit=3
GET/api/restaurants/details/{id}5 tok
Full restaurant detail with menu, must-order dishes, and awards
GET/api/restaurants/suggest1 tok
Autocomplete restaurant names by prefix
GET/api/restaurants/random1 tok
Random restaurant
GET/api/restaurants/stats1 tok
Dataset statistics

Man Pages

142KPages37Categories9SectionsAI cheat cardsFrequency scores
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/search3 tok
Field-qualified search. Fields: name, short_description, description, options, synopsis, extra, section, package, category. Filters: min_freq (1-5)
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:2
GET/api/manpages/suggest1 tok
Autocomplete man page names by prefix
GET/api/manpages/details/{id}5 tok
Full man page by ID — includes synopsis, description, options, see_also, card, categories
GET/api/manpages/random1 tok
Random man page
GET/api/manpages/stats1 tok
Section, package, and category distributions

OSM

46M+Places9CategoriesText+geo searchHilbert index
SKILL.MD
+

46M+ OpenStreetMap POIs with Hilbert-curve spatial index and BM25 text search.

Endpoints

GET/api/osm/search3 tok
Text search. Add lat/lon/radius_km to constrain geographically - AND(text, geo)
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
}
GET/api/osm/nearby3 tok
Find POIs near a point sorted by distance. Optional text filter
GET/api/osm/suggest1 tok
Name autocomplete across all POIs
GET/api/osm/element/{osm_id}5 tok
Full element with all OSM tags
GET/api/osm/random1 tok
Random POI
GET/api/osm/stats1 tok
Dataset statistics

Wikipedia

7.2MArticles1.33MGeo-taggedInfoboxesLink graph
SKILL.MD
+

7.2M English Wikipedia articles with full markdown content, infoboxes, inter-article links, and geographic coordinates.

Endpoints

GET/api/wikipedia/summary/{url}5 tok
Summary: first paragraph + infobox + coordinates. Use this 90% of the time
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"
}
GET/api/wikipedia/article/{url}20 tok
Full article as markdown with structured infobox
GET/api/wikipedia/search3 tok
Keyword search across article titles
GET/api/wikipedia/suggest1 tok
Prefix autocomplete for article titles
GET/api/wikipedia/geo3 tok
Geo-tagged articles near a lat/lon
GET/api/wikipedia/links5 tok
Inter-article links for knowledge graph traversal
GET/api/wikipedia/random1 tok
Random article
GET/api/wikipedia/count1 tok
Total article count

Wiktionary

8M+Entries4,000+LanguagesIPAEtymologyTranslations
SKILL.MD
+

8M+ Wiktionary entries across 4,000+ languages with definitions, IPA, etymology, translations, and synonyms.

Endpoints

GET/api/wiktionary/word/{word}10 tok
Exact word lookup
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"
  }
}
GET/api/wiktionary/search3 tok
Fuzzy text search across entries
GET/api/wiktionary/suggest1 tok
Autocomplete suggestions
GET/api/wiktionary/random1 tok
Random word entry
GET/api/wiktionary/stats1 tok
Dataset statistics

Memory-mapped binary indexes

The categorical imperative lives

z87.ai/api/SKILL.md