Better Fetch

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

search = package search; versions = recent version rows for one exact group_id and artifact_id.

Optional SHA-1 checksum lookup. When supplied, other search filters are ignored.

Maximum package or version rows to return.

Keyword query for package search, such as spring, jackson, logging, kafka, or junit.

Optional Maven group ID filter, such as org.springframework.boot or com.fasterxml.jackson.core.

Optional packaging filter such as jar, pom, aar, war, or bundle.

Optional classifier filter such as sources or javadoc.

Optional Maven artifact ID filter, such as spring-boot-starter-web or jackson-databind.

Sign in to run this tool

~1 credit per run · runs against your account

Input

mode"search" | "versions"default: "search"

search = package search; versions = recent version rows for one exact group_id and artifact_id.

sha1string

Optional SHA-1 checksum lookup. When supplied, other search filters are ignored.

limitintegerdefault: 10

Maximum package or version rows to return.

querystring

Keyword query for package search, such as spring, jackson, logging, kafka, or junit.

group_idstring

Optional Maven group ID filter, such as org.springframework.boot or com.fasterxml.jackson.core.

packagingstring

Optional packaging filter such as jar, pom, aar, war, or bundle.

classifierstring

Optional classifier filter such as sources or javadoc.

artifact_idstring

Optional Maven artifact ID filter, such as spring-boot-starter-web or jackson-databind.

Output

modestringrequired

Mode used for this run

countintegerrequired

Number of package or version rows returned

querystring

Solr query used

group_idstring

Group ID filter used

versionsobject[]

Version-history rows for one artifact

artifactsobject[]

Package search rows

source_urlstringrequired

Maven Central Solr JSON URL fetched

artifact_idstring

Artifact ID filter used

total_matchesinteger

Total 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

Dependency discovery

Search Maven Central by keyword, group ID, artifact ID, or packaging type and return compact package records with coordinates, latest versions, timestamps, and package URLs.

Version monitoring

List recent version rows for a known group ID and artifact ID to track release cadence, packaging, file extensions, and direct POM or JAR URLs.

Supply-chain inventory

Attach Maven Central version counts, repository IDs, update timestamps, tags, and canonical coordinates to SBOM, dependency audit, or developer portal datasets.

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"}'