Data & API

AgentSpot publishes its full directory as static JSON at stable, versioned URLs. No key, no rate limit, CORS enabled — built for agents and developers.

Start here

These are files, not a query service: there are no ?q=, ?tag=, or ?sort= parameters, and adding one is ignored. Search is served by shape instead — fetch the compact index, filter it in your own process, then fetch the single listing you care about. The index is a fraction of the size of the full dataset and carries every field you need to shortlist.

curl -s https://agentspot.dev/data/index.json     # all 81, search fields only
curl -s https://agentspot.dev/data/listings/agent/openclaw.json   # one listing, every field

Endpoints

URLContents
/data/index.jsonCompact index. Every active listing (81) with search fields only. Fetch this first.
/data/listings/<id>.jsonA single listing, in full — the id verbatim, e.g. /data/listings/agent/openclaw.json.
/data/all.jsonEvery active listing with every published field.
/data/agents.jsonAgents (27), in full.
/data/skills.jsonSkills (15), in full.
/data/tools.jsonTools (21), in full.
/data/coding.jsonCoding (10), in full.
/data/learn.jsonLearn (8), in full.
/data/schema.jsonJSON Schema (2020-12) for every payload above.
/data/openapi.jsonOpenAPI 3.1 description of these endpoints.
/.well-known/agent.jsonDiscovery document — every URL on this page, machine-readable, so nothing has to be guessed.

Shape

Every payload is the same envelope: a _license attribution block, a generated timestamp, an api_version, a count, and a listings array — even the single-listing files, so one parser handles all of them. Internal bookkeeping (raw metric history, review notes) is never published.

{
  "_license": "CC-BY-4.0",
  "_license_url": "https://creativecommons.org/licenses/by/4.0/",
  "_attribution": "Data from AgentSpot (https://agentspot.dev)",
  "api_version": 2,
  "generated": "…",
  "count": 81,
  "listings": [ … ]
}

Listing fields

Fields marked index also appear in the compact index; the rest are in the full payloads only.

FieldTypeMeaning
id index string Stable identifier, `<category>/<slug>`. Never reused.
name index string The project's own name.
category index string One of: agent, skill, tool, coding, education.
description index string A one- or two-sentence summary written by us — never copied from the README.
url index string Canonical AgentSpot page for this listing.
repo_url index string Source repository. Read this before running anything.
website_url string ∣ null The project's own site or docs, when it has one.
license string SPDX identifier where GitHub could classify it, otherwise "Other (see repo)".
package index object ∣ null Registry coordinates for the published package, when one exists. `null` means the project is installed from source.
install index string ∣ null One-line install command derived from `package`. A starting point, not a substitute for the project's own instructions — check the repo for required flags, runtimes, and configuration.
can_run_locally index boolean ∣ null Whether the project can run entirely on your own machine, with no required hosted service. `null` where the question does not apply (a book, a prompt pack) or has not been assessed.
is_mcp_server index boolean Heuristic: the project describes itself with MCP (Model Context Protocol) topics. A shortlisting hint, not a verified capability — we do not currently publish per-listing MCP endpoint URLs or config snippets.
open_source boolean False for listings whose source is not publicly available.
first_party boolean True for tools published by the lab or vendor whose model they serve.
derivative_of object ∣ null Set when this listing is a fork that has overtaken the project it came from; points back at the original.
github_stars index integer ∣ null Stars at `last_verified`.
downloads object ∣ null Downloads over the trailing 7 days, from the registry named in `source`. Container pulls count restarts as well as installs, so they are discounted in the score.
popularity_score index number ∣ null Composite 0–100 score. `null` when the listing is `unranked`. The formula is published at /methodology/.
unranked boolean Listed and shown, but deliberately excluded from popularity ordering. `editorial_note` says why.
growth object ∣ null Change over the trailing week, held steady between weekly updates. `null` until a listing has enough history.
tags index array The project's own repository topics, lightly cleaned.
first_listed string The date this listing first appeared here.
last_verified string The date the metrics above were last refreshed from public APIs.
editorial_note string ∣ null A public note from us, where a listing needs one.
sponsored object Sponsorship never affects inclusion, ordering, or `popularity_score`. `active` is false on every listing today.
tier string "standard" for every listing today; reserved for a future curated tier.
curation object ∣ null Reserved for future independent evaluation results. `null` today.

On install: it is derived mechanically from the package a project publishes, and it is a starting point rather than an instruction. Nothing here is vetted; read the repository, pin the version, and prefer rebuilding a capability from source over installing an artifact blindly. See the disclaimer.

Stability

api_version is 2. Listing ids are stable and never reused. New fields may be added without a version bump — parse defensively and ignore what you do not recognise; removing or retyping a field would bump the version.

Licensing & attribution

Factual data (names, star counts, links) is not copyrightable, but we publish the compiled dataset under CC-BY-4.0: reuse it freely with attribution to AgentSpot (https://agentspot.dev). The same license is declared in every payload and in llms.txt.

For LLMs & answer engines

An orientation file for AI crawlers lives at llms.txt (mirrored at /.well-known/llms.txt), with a full prose index of every listing at llms-full.txt. Every page carries Schema.org JSON-LD, and new listings are announced in the RSS feed. We deliberately welcome AI crawlers — see our robots.txt.