aileena · machina · public api

Data API

Public HTTP API over the chip specs, pricing observations, tracking items, earnings transcripts, and analyst research that Aileen maintains as part of her AI-hardware research. Same indices that power the on-site chat agent. ← back to aileena.xyz

Base URL

https://aileena.xyz

Authentication

No auth in v1. Rate-limited by client IP:

  • Data endpoints (everything except /query): 30 reqs / 10 s burst, 1,000 / day.
  • /api/v1/query (LLM): 5 reqs / min burst, 30 / day. Each call costs real model tokens.

When limited you get HTTP 429 with a Retry-After header. Every response carries X-RateLimit-Daily-Remaining and X-RateLimit-Burst-Remaining.

Response shape

Every response is JSON with one of two envelopes.

{ "ok": true,  "data":  { ... } }
{ "ok": false, "error": { "code": "...", "message": "..." } }

CORS

Open to all origins (*). Call from the browser, from a server, from anywhere.

Health

GET/api/v1/health

Service status + dataset counts (number of SKUs, news items, doc chunks).

curl https://aileena.xyz/api/v1/health

Chips · accelerators · memory

GET/api/v1/chips

List SKUs in the catalogue, optionally filtered.

Params

  • vendorstring— nvidia | amd | intel | google | aws | meta | broadcom | …
  • categorystring— gpu | cpu | accelerator | memory | interconnect | …
  • familystring— partial match against architecture family
  • limitinteger— max 100, default 50
curl 'https://aileena.xyz/api/v1/chips?vendor=nvidia&category=gpu&limit=10'

GET/api/v1/chips/{name}

Best fuzzy match for a single SKU. Returns full spec row (vendor, family, process, FLOPS, memory, TDP, MSRP, status, sources).

Params

  • namestring(required)— URL-encoded SKU name (full or partial)
curl https://aileena.xyz/api/v1/chips/H100

GET/api/v1/chips/compare

Side-by-side comparison of two SKUs.

Params

  • astring(required)— SKU A
  • bstring(required)— SKU B
curl 'https://aileena.xyz/api/v1/chips/compare?a=H100&b=MI300X'

Pricing

GET/api/v1/pricing/{sku}/latest

Most recent observed price for an SKU.

Params

  • skustring(required)— SKU name (substring match)
  • unitstring— per_chip | per_card | per_server | per_hour_cloud | per_month_cloud
curl 'https://aileena.xyz/api/v1/pricing/H100/latest?unit=per_chip'

GET/api/v1/pricing/{sku}

Full chronological price history for an SKU, optionally within a date range.

Params

  • skustring(required)— SKU name (substring match)
  • fromstring— inclusive start date, YYYY-MM-DD
  • tostring— inclusive end date, YYYY-MM-DD
  • unitstring— see /latest
curl 'https://aileena.xyz/api/v1/pricing/H100?from=2024-01-01&to=2025-01-01'

News / tracking

GET/api/v1/news

Recent tracking items in reverse-chronological order.

Params

  • vendorstring— filter by vendor (one of the VendorEnum values)
  • sincestring— YYYY-MM-DD, inclusive
  • limitinteger— max 50, default 10
curl 'https://aileena.xyz/api/v1/news?vendor=nvidia&limit=5'

GET/api/v1/news/search

TF-IDF free-text search over news titles + summaries + topics.

Params

  • qstring(required)— query (≥2 chars)
  • kinteger— max 20, default 5
curl 'https://aileena.xyz/api/v1/news/search?q=HBM3E+supply&k=5'

Search (full-text RAG)

GET/api/v1/search/articles

Keyword search over Aileen's ~800 article chunks (Research Dispatch + Woman-in-Tech).

Params

  • qstring(required)— query (≥2 chars)
  • kinteger— max 10, default 3
curl 'https://aileena.xyz/api/v1/search/articles?q=solana+validator'

GET/api/v1/search/earnings

Keyword search over earnings-call transcript chunks.

Params

  • qstring(required)— query (≥2 chars)
  • kinteger— max 10, default 4
curl 'https://aileena.xyz/api/v1/search/earnings?q=Rubin+yield'

GET/api/v1/search/research

Keyword search over broker / analyst note chunks.

Params

  • qstring(required)— query (≥2 chars)
  • kinteger— max 10, default 4
curl 'https://aileena.xyz/api/v1/search/research?q=Morgan+Stanley+Broadcom'

GET/api/v1/search/docs

Keyword search over BOTH earnings and research corpora at once.

Params

  • qstring(required)— query (≥2 chars)
  • kinteger— max 10, default 5
curl 'https://aileena.xyz/api/v1/search/docs?q=HBM3E'

Agentic LLM

POST/api/v1/query

Single-shot natural-language query routed through the same agent that powers the on-site chat. The LLM picks tools (chip lookup, pricing, news, earnings, research, articles), runs up to 4 steps, and returns a 2-3 sentence answer plus the tool-call trace it followed. Costs real DeepSeek tokens — rate-limited to 5 requests/min and 30/day per IP.

Body

{ "prompt": "string (≤1000 chars)" }

Required JSON body. Single-turn — no conversation history is kept.

curl -X POST https://aileena.xyz/api/v1/query \
  -H 'Content-Type: application/json' \
  -d '{"prompt": "how has the H100 spot price moved this year?"}'

Data freshness

Indices rebuild on every Vercel deploy. As Aileen adds data files, those entries become queryable on the next push. Earnings + research corpora are passages from publicly disclosed material (calls + paywalled notes paraphrased / quoted under fair use). Confidence levels (public / analyst / rumour / leak) on news entries are self-declared and worth checking before citing.

← home