DevPulse API

Query GitHub developer activity programmatically. All endpoints return JSON.

Base URL: https://devpulse-api-001d.onrender.com

Try it live

POST/api/v1/leaderboard

Generate a leaderboard for a list of GitHub usernames. Returns users ranked by activity score descending.

Request Body

{
  "usernames": [
    "torvalds",
    "gaearon",
    "addyosmani"
  ]
}

cURL

curl -X POST https://devpulse-api-001d.onrender.com/api/v1/leaderboard \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["torvalds", "gaearon", "addyosmani"]}'

Example Response

{
  "success": true,
  "data": [
    {
      "username": "torvalds",
      "display_name": "Linus Torvalds",
      "avatar_url": "https://avatars.githubusercontent.com/u/...",
      "followers": 200000,
      "commits_30d": 150,
      "prs_opened_30d": 5,
      "prs_merged_30d": 4,
      "issues_30d": 2,
      "activity_score": 482,
      "cached_at": "2024-01-01T00:00:00.000Z",
      "from_cache": false
    }
  ],
  "meta": {
    "github_rate_limit_remaining": 55,
    "cached_count": 0,
    "fetched_count": 1
  }
}
GET/api/v1/user/:username

Get activity data for a single GitHub user. Uses cached data if available within 2 hours.

cURL

curl https://devpulse-api-001d.onrender.com/api/v1/user/torvalds

Example Response

{
  "success": true,
  "data": {
    "username": "torvalds",
    "display_name": "Linus Torvalds",
    "activity_score": 482,
    "commits_30d": 150,
    "prs_merged_30d": 4,
    "prs_opened_30d": 5,
    "issues_30d": 2,
    "from_cache": true
  }
}
GET/api/v1/health

Health check endpoint.

cURL

curl https://devpulse-api-001d.onrender.com/api/v1/health

Example Response

{
  "status": "ok",
  "timestamp": "2024-01-01T00:00:00.000Z",
  "rate_limit_remaining": 55
}
GET/api/v1/docs

Returns API documentation as JSON (this page uses it).

cURL

curl https://devpulse-api-001d.onrender.com/api/v1/docs

Example Response

{ "name": "DevPulse API", "endpoints": [...] }