How to get GitHub activity
GET request to /v1/github/activity with your input. You get clean JSON back in seconds for ~4 credits (0.4/result) per call — no OAuth, scraping or platform SDKs. Public events with typed payload (Push commits/ref, PR/issue action) — 90-event ceiling.How to get GitHub activity (step by step)
- 1
Get a free API key
Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.
- 2
Call the GitHub Activity API
Send an authenticated GET request to /v1/github/activity with your input. No OAuth, no scraping setup.
- 3
Read the JSON response
Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.
Code example
curl "https://api.captapi.com/v1/github/activity?username=getify" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"username": "getify",
"eventCeiling": 90,
"totalReturned": 2,
"nextCursor": null,
"hasMore": false,
"events": [
{
"id": "17306408807",
"type": "DiscussionEvent",
"repo": "enisdenjo/graphql-sse",
"repoUrl": "https://github.com/enisdenjo/graphql-sse",
"payload": {
"action": "created"
},
"createdAt": "2025-09-02T18:48:23Z",
"public": true
},
{
"id": "15945914865",
"type": "IssueCommentEvent",
"repo": "bakkot/structured-concurrency-for-js",
"repoUrl": "https://github.com/bakkot/structured-concurrency-for-js",
"payload": {
"action": "created"
},
"createdAt": "2026-09-28T18:54:06Z",
"public": true
}
]
}
}Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| username | string | Yes | GitHub username or profile URL, e.g. getify. |
| limit | integer | No | Max items to return (default 10, max 90). Billed per result. |
| cursor | string | No | Opaque cursor from a previous nextCursor. Pagination stops after GitHub's 90-event public activity ceiling. |
| cache | boolean | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
Frequently asked questions
What does the GitHub Activity API do?
The GitHub Activity API lets you list items in bulk with metadata from a public GitHub GitHub resource using one GET request to /v1/github/activity. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the GitHub Activity API cost?
At the default limit this endpoint costs 4 credits (0.4 per result). Billing scales with how many results you request. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a GitHub API key or OAuth?
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle access, rate limits, retries, and authentication for you.
Why is there an eventCeiling of 90?
GitHub's /users/{u}/events/public returns at most 90 events (and only ~90 days). We echo eventCeiling and stop hasMore there — deep pagination past that is not available.
Where is the commit message / branch?
On PushEvent rows, payload.ref is the branch and payload.commits[] has sha + message. Other types expose payload.action and the related entity fields.
Is the GitHub Activity API suitable for production use?
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
Ready to get GitHub activity?
Start free with 100 credits — no credit card required.
Get your free API key