Maven Central Scraper
Search Maven Central packages or list version-history rows through the official Maven Central Solr JSON API, returning normalized JVM coordinates, package URLs, latest versions, packaging types, version counts, repository IDs, timestamps, file extensions, and tags.
Overview
Maven Central Scraper gives agents and developer tooling a structured route into the public JVM package index. Search by keyword, Maven group ID, artifact ID, packaging type, classifier, or SHA-1 checksum, or list recent version rows for one exact package. The tool normalizes group IDs, artifact IDs, coordinates, package URLs, latest versions, packaging labels, version counts, repository IDs, last-updated timestamps, file extensions, tags, version-specific URLs, POM URLs, and JAR URLs when available. It is designed for dependency discovery, Java and Kotlin ecosystem research, software supply-chain inventory, SBOM enrichment, stale dependency checks, package recommendation systems, and agent-readable JVM package context.
Last validated: Jul 3, 2026
Playground
Input
mode"search" | "versions"default: "search"search = package search; versions = recent version rows for one exact group_id and artifact_id.
sha1stringOptional SHA-1 checksum lookup. When supplied, other search filters are ignored.
limitintegerdefault: 10Maximum package or version rows to return.
querystringKeyword query for package search, such as spring, jackson, logging, kafka, or junit.
group_idstringOptional Maven group ID filter, such as org.springframework.boot or com.fasterxml.jackson.core.
packagingstringOptional packaging filter such as jar, pom, aar, war, or bundle.
classifierstringOptional classifier filter such as sources or javadoc.
artifact_idstringOptional Maven artifact ID filter, such as spring-boot-starter-web or jackson-databind.
Output
modestringrequiredMode used for this run
countintegerrequiredNumber of package or version rows returned
querystringSolr query used
group_idstringGroup ID filter used
versionsobject[]Version-history rows for one artifact
artifactsobject[]Package search rows
source_urlstringrequiredMaven Central Solr JSON URL fetched
artifact_idstringArtifact ID filter used
total_matchesintegerTotal matching rows reported by Maven Central
Examples
spring-search
{
"mode": "search",
"limit": 3,
"query": "spring",
"group_id": "org.springframework"
}jackson-versions
{
"mode": "versions",
"limit": 3,
"group_id": "com.fasterxml.jackson.core",
"artifact_id": "jackson-databind"
}Use cases
FAQ
Does Maven Central Scraper require an API key?
No. Version 0.1 uses Maven Central's public Solr search API through Better Fetch and only returns package metadata that is publicly visible.
Can it list versions for one artifact?
Yes. Use versions mode with group_id and artifact_id to fetch bounded version-history rows from the Maven Central gav core.
Does it download package files or inspect dependencies?
No. It returns metadata, package URLs, and direct POM or JAR URLs when those can be derived. It does not download artifacts, parse POM dependency graphs, or scan binaries.
Use it anywhere
MCP (Claude, Cursor, any client)
# Add the Better Fetch MCP connector (or paste the URL into # Claude → Settings → Connectors → Add custom connector): claude mcp add --transport http better-fetch https://betterfetch.co/api/mcp \ --header "Authorization: Bearer bf_your_key_here" # Then ask for the tool by name: maven_central_scraper
REST
curl -sS -X POST "https://betterfetch.co/api/tools/maven_central_scraper/run" \
-H "Authorization: Bearer bf_your_key_here" \
-H "Content-Type: application/json" \
-d '{"input": {"mode":"search","limit":3,"query":"spring","group_id":"org.springframework"}}'Run locally
git clone https://github.com/better-fetch/tools/tree/main/tools/maven-central-scraper && cd maven-central-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"mode":"search","limit":3,"query":"spring","group_id":"org.springframework"}'