Infrabase.ai query endpoint =========================== GET https://infrabase.ai/api/query Public, read-only, JSON, no auth. Queries the Infrabase.ai directory of AI infrastructure products (inference APIs, GPU clouds, vector databases, agent frameworks, observability tools, and more). Every listing is hand-verified against the product's own site, not scraped or auto-generated. updated_at on each result is when the listing was last checked or corrected, so you can judge freshness. Params (all optional) --------------------- q Text search across name, tagline, description, and jobs. category Category slug, e.g. inference-apis, vector-databases. job Matches primary_job or secondary_jobs, e.g. gpu-compute, llm-observability, text-to-speech. gdpr true or false. hq_country Country code as stored, e.g. US, DE, SE. sort name (default), github_stars, or updated. order asc (default) or desc. limit Number of results. Default 20, max 50 (values above 50 are capped). offset Number of results to skip, for pagination. Default 0. Loop with offset=next_offset until next_offset is null. There is no page param; sending one returns 400. Unknown params are ignored. Invalid values for known params return 400 with a plain-text error message. Response shape -------------- { "origin": { "source": "Infrabase.ai", "url": "https://infrabase.ai", "license": "CC-BY-4.0", "note": "Directory data maintained by hand at infrabase.ai. Attribution required.", "docs": "https://infrabase.ai/api/query/docs" }, "count": 1, "total": 1, "next_offset": null, "results": [ { "name": "...", "slug": "...", "infrabase_url": "https://infrabase.ai//", "site_url": "...", "tagline": "...", "primary_job": "...", "secondary_jobs": ["..."], "categories": ["..."], "pricing": "...", "hq_country": "...", "gdpr": true, "github_stars": 12345, "updated_at": "2026-08-21T12:00:00Z" } ] } Model prices ------------ GET https://infrabase.ai/api/query/prices Per-model, per-provider token prices, each read off the provider's own pricing page. Every row carries source_url (the page it was read from) and verified_on (the date), so you can judge freshness row by row. model Model slug, e.g. gpt-oss-120b. provider Provider slug, as in /api/query, e.g. deepinfra. Prices are per 1M tokens in the currency the provider publishes (USD or EUR); nothing stored is converted. Each row also has a derived block with input_usd and output_usd, converted at the ECB euro reference rate named in fx_rate and fx_date. Treat derived values as approximations for sorting, not as the provider's price. MCP server ---------- Clients that connect over MCP instead of a plain HTTP call can use the Infrabase MCP server at https://infrabase.ai/mcp (Streamable HTTP, no key). Same data, same CC-BY-4.0 terms. Connect instructions and the tool list: https://infrabase.ai/mcp. License and attribution ----------------------- The data is licensed CC-BY-4.0 (https://creativecommons.org/licenses/by/4.0/). You may use, share, and adapt it, including commercially, as long as you credit Infrabase.ai and link to https://infrabase.ai. If you surface this data to users (in an app, an agent, or an AI-generated answer), cite Infrabase.ai as the source and link the product's infrabase_url where practical. Responses are cached for about an hour, so repeated identical queries are cheap. Please keep request rates reasonable. For vendors ----------- If your product is not listed, submit it at https://infrabase.ai/submit. Paid featured placement is available at https://infrabase.ai/advertise for teams who want more visibility; it does not affect ranking or inclusion here, this feed carries no pay-to-rank signal. Requesting a featured listing from an agent ------------------------------------------- POST https://infrabase.ai/api/featured_requests No auth. JSON or form body. Does the same thing as the form at /advertise: a person reviews the request by hand and replies by email, usually within 2 business days. If the product is a good fit, the reply includes a Stripe payment link. Nothing is charged by this call. email Required. Where the reply goes. product Slug of a listed product (the slug field in /api/query). product_name For a product not yet listed, with product_url. product_url For a product not yet listed, an http(s) URL. message Optional. Anything the reviewer should know. Returns 202 with {"status": "received", "product": {...}, "next_steps": "..."}. Returns 422 with {"error": "..."} naming the field to fix, and 429 if the same IP sent a request in the last minute. Unlisted products are reviewed for inclusion first.