# Get Dev Activity Latest

Returns the latest subnet repository activity totals for one, seven and thirty days.

_Source: https://beta.taostats.io/docs/api-reference/dev-activity/get-dev-activity-latest_

_Last reviewed: 2026-09-18_

```http
GET https://api.taostats.io/api/dev_activity/latest/v1
```

Requires an API key in the `Authorization` header.

Returns the latest subnet repository activity totals for one, seven and thirty days. Metrics include commits, pull requests, issues, reviews, comments and contributor counts.

## Try it

Try this request in the browser on the HTML version of this page, or use the code samples below.

### Examples

Get the latest developer activity (commits, PRs) per subnet

```text
https://api.taostats.io/api/dev_activity/latest/v1?order=commits30d_desc&limit=20
```

Get developer activity for subnet 19

```text
https://api.taostats.io/api/dev_activity/latest/v1?netuid=19
```

### Code samples

**cURL**

```bash
curl -H "Authorization: <YOUR_API_KEY>" \
  "https://api.taostats.io/api/dev_activity/latest/v1?order=commits30d_desc&limit=20"
```

**JavaScript**

```js
const response = await fetch('https://api.taostats.io/api/dev_activity/latest/v1?order=commits30d_desc&limit=20', {
  headers: {
    Authorization: '<YOUR_API_KEY>',
  },
});
const data = await response.json();
```

**Python**

```python
import requests

response = requests.get(
    "https://api.taostats.io/api/dev_activity/latest/v1?order=commits30d_desc&limit=20",
    headers={"Authorization": "<YOUR_API_KEY>"},
)
data = response.json()
```

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `netuid` | query | `string` |  |  |
| `days_since_last_event_max` | query | `integer (int32)` |  |  |
| `order` | query | `string` |  | One of `commits1d_asc`, `commits1d_desc`, `commits7d_desc`, `commits7d_asc`, `commits30d_asc`, `commits30d_desc`, `prs_opened1d_asc`, `prs_opened1d_desc`, `prs_opened7d_asc`, `prs_opened7d_desc`, `prs_opened30d_asc`, `prs_opened30d_desc`, `prs_merged1d_asc`, `prs_merged1d_desc`, `prs_merged7d_asc`, `prs_merged7d_desc`, `prs_merged30d_asc`, `prs_merged30d_desc`, `issues_opened1d_asc`, `issues_opened1d_desc`, `issues_opened7d_asc`, `issues_opened7d_desc`, `issues_opened30d_asc`, `issues_opened30d_desc`, `issues_closed1d_asc`, `issues_closed1d_desc`, `issues_closed7d_asc`, `issues_closed7d_desc`, `issues_closed30d_asc`, `issues_closed30d_desc`, `reviews1d_asc`, `reviews1d_desc`, `reviews7d_asc`, `reviews7d_desc`, `reviews30d_asc`, `reviews30d_desc`, `comments1d_asc`, `comments1d_desc`, `comments7d_asc`, `comments7d_desc`, `comments30d_asc`, `comments30d_desc`, `unique_contributors1d_asc`, `unique_contributors1d_desc`, `unique_contributors7d_asc`, `unique_contributors7d_desc`, `unique_contributors30d_asc`, `unique_contributors30d_desc`, `last_event_at_asc`, `last_event_at_desc`, `days_since_last_event_asc`, `days_since_last_event_desc`. |
| `page` | query | `integer (int32)` |  |  |
| `limit` | query | `integer (int32)` |  |  |

## Responses

### `200` — Dev activity latest

| Field | Type | Required |
| --- | --- | --- |
| `data` | `array` | Yes |
| `data[].as_of_day` | `string` | Yes |
| `data[].comments_1d` | `integer (int32)` | Yes |
| `data[].comments_30d` | `integer (int32)` | Yes |
| `data[].comments_7d` | `integer (int32)` | Yes |
| `data[].commits_1d` | `integer (int32)` | Yes |
| `data[].commits_30d` | `integer (int32)` | Yes |
| `data[].commits_7d` | `integer (int32)` | Yes |
| `data[].days_since_last_event` | `integer (int32)` | Yes |
| `data[].issues_closed_1d` | `integer (int32)` | Yes |
| `data[].issues_closed_30d` | `integer (int32)` | Yes |
| `data[].issues_closed_7d` | `integer (int32)` | Yes |
| `data[].issues_opened_1d` | `integer (int32)` | Yes |
| `data[].issues_opened_30d` | `integer (int32)` | Yes |
| `data[].issues_opened_7d` | `integer (int32)` | Yes |
| `data[].last_event_at` | `string, nullable` |  |
| `data[].netuid` | `integer (int32)` | Yes |
| `data[].prs_merged_1d` | `integer (int32)` | Yes |
| `data[].prs_merged_30d` | `integer (int32)` | Yes |
| `data[].prs_merged_7d` | `integer (int32)` | Yes |
| `data[].prs_opened_1d` | `integer (int32)` | Yes |
| `data[].prs_opened_30d` | `integer (int32)` | Yes |
| `data[].prs_opened_7d` | `integer (int32)` | Yes |
| `data[].repo_url` | `string` | Yes |
| `data[].reviews_1d` | `integer (int32)` | Yes |
| `data[].reviews_30d` | `integer (int32)` | Yes |
| `data[].reviews_7d` | `integer (int32)` | Yes |
| `data[].unique_contributors_1d` | `integer (int32)` | Yes |
| `data[].unique_contributors_30d` | `integer (int32)` | Yes |
| `data[].unique_contributors_7d` | `integer (int32)` | Yes |
| `pagination` | `object` | Yes |
| `pagination.current_page` | `integer (int32)` | Yes |
| `pagination.next_page` | `integer (int32), nullable` |  |
| `pagination.per_page` | `integer (int32)` | Yes |
| `pagination.prev_page` | `integer (int32), nullable` |  |
| `pagination.total_items` | `integer (int32)` | Yes |
| `pagination.total_pages` | `integer (int32)` | Yes |

### Other responses

| Status | Meaning |
| --- | --- |
| `400` | Bad request |
| `500` | Internal server error |

Every request needs an `Authorization` header holding your API key — see [Getting started with the Taostats API](https://beta.taostats.io/docs/start-here/getting-started-with-taostats-api).
