Speeder.ai API documentation

Base URL: https://speeder.ai. These GET operations are public and require no Authorization header, API key, account, payment, or OAuth flow. They expose published marketplace information, not private account data. No public write or outreach operation is supported.

Download the OpenAPI 3.1 specification for machine-readable operation and response definitions.

Browse published domains

GET /api/marketplace returns a listings array, total, page, pageSize, and hasMore. Asking prices and price filters are in US dollar cents. A null asking price means make an offer. A listed price is an asking price, not proof of an appraisal or a guaranteed sale.

curl -H 'Accept: application/json' 'https://speeder.ai/api/marketplace?limit=5'
  • limit: default 24, maximum 100. Use a positive integer.
  • q: domain-name search. category: filter by category. tld: extension, such as com, ai, or si.
  • minPrice and maxPrice: optional non-negative integer price bounds in cents. The maximum must not be below the minimum.
  • sort: newest (default), price_asc, or price_desc.
  • page: start at 1 and increment while hasMore is true. The maximum page number is 1,000,000.

Read one listing

GET /api/marketplace/listings/{id} accepts a listing UUID or its URL slug. Start with id or url_slug from the browse response. The response includes one listing with the same public fields used in browse results. Missing or non-public listings are not available anonymously.

Example fixture

This intentionally fictional, minimal browse response illustrates the format. It is not a live listing, an availability check, or a sandbox that executes product actions.

{
  "listings": [
    {
      "id": "00000000-0000-4000-8000-000000000001",
      "domain": "sample.example",
      "asking_price_cents": null,
      "url_slug": "sample-example",
      "category": null,
      "description": null,
      "created_at": "2026-10-01T00:00:00Z",
      "verified": false
    }
  ],
  "total": 1,
  "page": 1,
  "pageSize": 24,
  "hasMore": false
}

Errors and safe use

Responses are JSON. Check HTTP status before parsing success fields. Invalid searches can return 400, a missing listing returns 404, and temporary server or upstream failures return 503. Treat 429 as a backoff signal if returned by the hosting layer. Avoid aggressive polling; retry temporary failures with increasing delays. Public reads do not grant permission to buy, sell, modify a portfolio, or send messages on a user's behalf.

For Markdown pages use Accept: text/markdown; JSON API operations keep their existing JSON response format. More discovery links are in the developer portal and agent guide. Questions can be sent to support@speeder.ai.