Skip to main content
The REST API is now versioned. For more information, see "About API versioning."

REST API endpoints for repository traffic

Use the REST API to retrieve information provided in your repository graph.

About repository traffic

You can use these endpoints to retrieve information provided in your repository graph, for repositories that you have write access to. For more information, see Viewing traffic to a repository.

Get repository clones

Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Administration" repository permissions (read)

Parameters for "Get repository clones"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
owner string Required

The account owner of the repository. The name is not case sensitive.

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

Query parameters
Name, Type, Description
per string

The time frame to display results for.

Default: day

Can be one of: day, week

http_status_code

status_codeDescription
200

OK

403

Forbidden

code_samples

request_example

get/repos/{owner}/{repo}/traffic/clones
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/traffic/clones

Response

Status: 200
{ "count": 173, "uniques": 128, "clones": [ { "timestamp": "2016-10-10T00:00:00Z", "count": 2, "uniques": 1 }, { "timestamp": "2016-10-11T00:00:00Z", "count": 17, "uniques": 16 }, { "timestamp": "2016-10-12T00:00:00Z", "count": 21, "uniques": 15 }, { "timestamp": "2016-10-13T00:00:00Z", "count": 8, "uniques": 7 }, { "timestamp": "2016-10-14T00:00:00Z", "count": 5, "uniques": 5 }, { "timestamp": "2016-10-15T00:00:00Z", "count": 2, "uniques": 2 }, { "timestamp": "2016-10-16T00:00:00Z", "count": 8, "uniques": 7 }, { "timestamp": "2016-10-17T00:00:00Z", "count": 26, "uniques": 15 }, { "timestamp": "2016-10-18T00:00:00Z", "count": 19, "uniques": 17 }, { "timestamp": "2016-10-19T00:00:00Z", "count": 19, "uniques": 14 }, { "timestamp": "2016-10-20T00:00:00Z", "count": 19, "uniques": 15 }, { "timestamp": "2016-10-21T00:00:00Z", "count": 9, "uniques": 7 }, { "timestamp": "2016-10-22T00:00:00Z", "count": 5, "uniques": 5 }, { "timestamp": "2016-10-23T00:00:00Z", "count": 6, "uniques": 5 }, { "timestamp": "2016-10-24T00:00:00Z", "count": 7, "uniques": 5 } ] }

Get top referral paths

Get the top 10 popular contents over the last 14 days.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Administration" repository permissions (read)

Parameters for "Get top referral paths"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
owner string Required

The account owner of the repository. The name is not case sensitive.

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

http_status_code

status_codeDescription
200

OK

403

Forbidden

code_samples

request_example

get/repos/{owner}/{repo}/traffic/popular/paths
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/traffic/popular/paths

Response

Status: 200
[ { "path": "/github/hubot", "title": "github/hubot: A customizable life embetterment robot.", "count": 3542, "uniques": 2225 }, { "path": "/github/hubot/blob/master/docs/scripting.md", "title": "hubot/scripting.md at master · github/hubot · GitHub", "count": 1707, "uniques": 804 }, { "path": "/github/hubot/tree/master/docs", "title": "hubot/docs at master · github/hubot · GitHub", "count": 685, "uniques": 435 }, { "path": "/github/hubot/tree/master/src", "title": "hubot/src at master · github/hubot · GitHub", "count": 577, "uniques": 347 }, { "path": "/github/hubot/blob/master/docs/index.md", "title": "hubot/index.md at master · github/hubot · GitHub", "count": 379, "uniques": 259 }, { "path": "/github/hubot/blob/master/docs/adapters.md", "title": "hubot/adapters.md at master · github/hubot · GitHub", "count": 354, "uniques": 201 }, { "path": "/github/hubot/tree/master/examples", "title": "hubot/examples at master · github/hubot · GitHub", "count": 340, "uniques": 260 }, { "path": "/github/hubot/blob/master/docs/deploying/heroku.md", "title": "hubot/heroku.md at master · github/hubot · GitHub", "count": 324, "uniques": 217 }, { "path": "/github/hubot/blob/master/src/robot.coffee", "title": "hubot/robot.coffee at master · github/hubot · GitHub", "count": 293, "uniques": 191 }, { "path": "/github/hubot/blob/master/LICENSE.md", "title": "hubot/LICENSE.md at master · github/hubot · GitHub", "count": 281, "uniques": 222 } ]

Get top referral sources

Get the top 10 referrers over the last 14 days.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Administration" repository permissions (read)

Parameters for "Get top referral sources"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
owner string Required

The account owner of the repository. The name is not case sensitive.

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

http_status_code

status_codeDescription
200

OK

403

Forbidden

code_samples

request_example

get/repos/{owner}/{repo}/traffic/popular/referrers
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/traffic/popular/referrers

Response

Status: 200
[ { "referrer": "Google", "count": 4, "uniques": 3 }, { "referrer": "stackoverflow.com", "count": 2, "uniques": 2 }, { "referrer": "eggsonbread.com", "count": 1, "uniques": 1 }, { "referrer": "yandex.ru", "count": 1, "uniques": 1 } ]

Get page views

Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Administration" repository permissions (read)

Parameters for "Get page views"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
owner string Required

The account owner of the repository. The name is not case sensitive.

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

Query parameters
Name, Type, Description
per string

The time frame to display results for.

Default: day

Can be one of: day, week

http_status_code

status_codeDescription
200

OK

403

Forbidden

code_samples

request_example

get/repos/{owner}/{repo}/traffic/views
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/traffic/views

Response

Status: 200
{ "count": 14850, "uniques": 3782, "views": [ { "timestamp": "2016-10-10T00:00:00Z", "count": 440, "uniques": 143 }, { "timestamp": "2016-10-11T00:00:00Z", "count": 1308, "uniques": 414 }, { "timestamp": "2016-10-12T00:00:00Z", "count": 1486, "uniques": 452 }, { "timestamp": "2016-10-13T00:00:00Z", "count": 1170, "uniques": 401 }, { "timestamp": "2016-10-14T00:00:00Z", "count": 868, "uniques": 266 }, { "timestamp": "2016-10-15T00:00:00Z", "count": 495, "uniques": 157 }, { "timestamp": "2016-10-16T00:00:00Z", "count": 524, "uniques": 175 }, { "timestamp": "2016-10-17T00:00:00Z", "count": 1263, "uniques": 412 }, { "timestamp": "2016-10-18T00:00:00Z", "count": 1402, "uniques": 417 }, { "timestamp": "2016-10-19T00:00:00Z", "count": 1394, "uniques": 424 }, { "timestamp": "2016-10-20T00:00:00Z", "count": 1492, "uniques": 448 }, { "timestamp": "2016-10-21T00:00:00Z", "count": 1153, "uniques": 332 }, { "timestamp": "2016-10-22T00:00:00Z", "count": 566, "uniques": 168 }, { "timestamp": "2016-10-23T00:00:00Z", "count": 675, "uniques": 184 }, { "timestamp": "2016-10-24T00:00:00Z", "count": 614, "uniques": 237 } ] }