User Pull Requests
GET/v1/github/user/pull-requests1 credit
Returns the pull requests a user has opened across public GitHub repositories, newest first, with title, repository, state, creation date and URL.
01Query parameters
| Name | Type | Description |
|---|---|---|
| handleoptional | string | GitHub username, e.g. `torvalds` (a leading `@` is ignored). One of `handle`, `username` or `url` is required. |
| usernameoptional | string | Same as `handle`, accepted under this name too. One of `handle`, `username` or `url` is required. |
| urloptional | string | GitHub profile URL, e.g. `https://github.com/torvalds`. One of `handle`, `username` or `url` is required. |
| sinceoptional | string | Only pull requests created on or after this date, `YYYY-MM-DD`. |
| untiloptional | string | Only pull requests created on or before this date, `YYYY-MM-DD`. |
| cursoroptional | string | Page number to fetch, starting at 1. Pass the `cursor` value of the previous answer to get the next page.Default: 1 |
02Request
curl "https://api.scrapesocial.ai/v1/github/user/pull-requests?handle=kentcdodds&since=2025-01-01" \ -H "x-api-key: $SCRAPESOCIAL_KEY"
03Responses
Real answers from the API. Lists are shortened to 2 items.
GET /v1/github/user/pull-requests?handle=kentcdodds&since=2025-01-01
{
"success": true,
"credits_remaining": 4980,
"credits_charged": 1,
"pull_requests": [
{
"title": "fix(dr): parse NonRetryableError prefix so REST export recovery runs",
"repo": "kody-hq/kody",
"state": "closed",
"created_at": "2026-10-25T16:52:19Z",
"url": "https://github.com/kody-hq/kody/pull/4353"
},
{
"title": "fix(credentials): request-scope lookups for sequential need keys (KODY-BF)",
"repo": "kody-hq/kody",
"state": "closed",
"created_at": "2026-10-25T16:22:57Z",
"url": "https://github.com/kody-hq/kody/pull/4352"
}
],
"cursor": 2,
"has_more": true
}Common to every endpoint
Any route can answer these: a missing or wrong key, no credits left, the platform not answering, or a failure on our side. None of them costs credits.
GET /v1/cosmos/profile?handle=design
{
"success": false,
"message": "Invalid API key"
}04Notes
30 pull requests per page. The answer's `cursor` is the next page number and `has_more` says whether more follow; `cursor` is null on the last page. Only the first 1000 matches can be paged through: a page beyond them is an empty 200 for 0 credits, as is a search that finds nothing. Dates in another format are a free 400. An unknown user is a free 404; a value that is not a GitHub username or profile URL is a free 400.
05Errors & credits
Every error has success: false, a real HTTP status and costs no credits.
400missing_parameter
A required parameter is missing or invalid.
403private_account
The account is private or age-restricted.
404not_found
No such account.
503upstream_error
The platform did not answer; retry shortly.