# Maven Central API
> Maven Central — the package repository at the heart of the Java and JVM ecosystem (Java, Kotlin, Scala, Groovy, Android) — as an API. Search the repository for artifacts by keyword and get each artifact's groupId:artifactId, latest version, total number of versions, packaging type and last-updated date; look up a single artifact by its group and artifact coordinates; and list its full version history (newest first) with release dates and published file types. Live from the official Maven Central search service. Ideal for dependency dashboards, build tooling, supply-chain and security analysis, developer portals and JVM ecosystem analytics. Open data from Maven Central.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/maven-api/..."
```

## Pricing
- **Free** (Free) — 3,490 calls/Mo, 2 req/s
- **Starter** ($4/Mo) — 48,000 calls/Mo, 8 req/s
- **Pro** ($12/Mo) — 237,400 calls/Mo, 20 req/s
- **Mega** ($33/Mo) — 1,191,000 calls/Mo, 50 req/s

## Endpoints

### Maven

#### `GET /v1/artifact` — One artifact summary

**Parameters:**
- `group` (query, required, string) — groupId, e.g. com.google.guava Example: `com.google.guava`
- `artifact` (query, required, string) — artifactId, e.g. guava Example: `guava`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/maven-api/v1/artifact?group=com.google.guava&artifact=guava"
```

**Response:**
```json
{
    "data": {
        "artifact": {
            "id": "com.google.guava:guava",
            "group": "com.google.guava",
            "artifact": "guava",
            "packaging": "bundle",
            "last_updated": "2025-04-14T17:25:22.422Z",
            "version_count": 150,
            "latest_version": "33.4.8-jre",
            "file_extensions": [
                ".module",
                "-sources.jar",
                ".pom",
                "-javadoc.jar",
                ".jar"
            ],
            "maven_central_url": "https://central.sonatype.com/artifact/com.google.guava/guava"
        }
    },
    "meta": {
        "timestamp": "2026-05-31T11:22:24.869Z",
        "request_id": "bf87b2b0-a16c-4602-9647-8a5c3e5e8098"
    },
    "status": "ok",
    "message": "Artifact retrieved",
    "success": true
}
```

#### `GET /v1/search` — Search Maven Central artifacts

**Parameters:**
- `q` (query, required, string) — Search term, e.g. guava, jackson Example: `guava`
- `limit` (query, optional, string) — Results per page (1-100, default 20) Example: `20`
- `start` (query, optional, string) — Pagination offset Example: `0`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/maven-api/v1/search?q=guava&limit=20&start=0"
```

**Response:**
```json
{
    "data": {
        "count": 20,
        "limit": 20,
        "query": "guava",
        "start": 0,
        "total": 386,
        "results": [
            {
                "id": "com.google.guava:guava",
                "group": "com.google.guava",
                "artifact": "guava",
                "packaging": "bundle",
                "last_updated": "2025-04-14T17:25:22.422Z",
                "version_count": 150,
                "latest_version": "33.4.8-jre",
                "file_extensions": [
                    ".module",
                    "-sources.jar",
                    ".pom",
                    "-javadoc.jar",
                    ".jar"
                ],
                "maven_central_url": "https://central.sonatype.com/artifact/com.google.guava/guava"
            },
            {
                "id": "com.github.cowwoc.requirements:guava",
                "group": "com.github.cowwoc.requirements",
                "artifact": "guava",
                "packaging": "jar",
                "last_updated": "2025-02-18T19:26:40.013Z",
                "version_count": 36,
                "latest_version": "11.0",
                "file_extensions": [
                    "-sources.jar",
                    ".pom",
                    "-javadoc.jar",
                    ".jar"
                ],
                "maven_central_url": "https://central.sonatype.com/artifact/com.github.cowwoc.requirements/guava"
            },
            {
                "id": 
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/versions` — Version history of an artifact

**Parameters:**
- `group` (query, required, string) — groupId, e.g. com.google.guava Example: `com.google.guava`
- `artifact` (query, required, string) — artifactId, e.g. guava Example: `guava`
- `limit` (query, optional, string) — Max versions (1-200, default 50) Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/maven-api/v1/versions?group=com.google.guava&artifact=guava&limit=50"
```

**Response:**
```json
{
    "data": {
        "count": 50,
        "group": "com.google.guava",
        "total": 150,
        "artifact": "guava",
        "versions": [
            {
                "version": "33.4.8-jre",
                "released": "2025-04-14T17:25:22.422Z",
                "packaging": "bundle",
                "file_extensions": [
                    ".module",
                    "-sources.jar",
                    ".pom",
                    "-javadoc.jar",
                    ".jar"
                ]
            },
            {
                "version": "33.4.8-android",
                "released": "2025-04-14T17:15:19.688Z",
                "packaging": "bundle",
                "file_extensions": [
                    ".module",
                    "-sources.jar",
                    ".pom",
                    "-javadoc.jar",
                    ".jar"
                ]
            },
            {
                "version": "33.4.7-jre",
                "released": "2025-04-08T12:57:43.405Z",
                "packaging": "bundle",
                "file_extensions": [
                    ".module",
                    "-sources.jar",
                    ".pom",
                    "-javadoc.jar",
                    ".jar"
                ]
            },
            {
                "version": "33.4.7-android",
                "released": "2025-04-08T12:40:31.778Z",
                "packaging": "bundle",
                "file_extensions": [
                    ".mo
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Source & endpoints

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/maven-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "Live Maven Central data. /v1/search?q= searches artifacts (returns groupId:artifactId, latest version, version count, packaging, last updated); /v1/artifact?group=&artifact= returns one artifact's summary; /v1/versions?group=&artifact= lists its versions (newest first). Coordinates are groupId + artifactId, e.g. com.google.guava + guava.",
        "source": "Maven Central (the Java / JVM package repository)",
        "endpoints": [
            "/v1/search",
            "/v1/artifact",
            "/v1/versions",
            "/v1/meta"
        ]
    },
    "meta": {
        "timestamp": "2026-05-31T11:22:25.315Z",
        "request_id": "c51b1c12-96dd-41d1-a8d5-1d7fb931615b"
    },
    "status": "ok",
    "message": "Meta retrieved",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/maven-api
OpenAPI spec: https://www.oanor.com/api/maven-api/openapi.json
