Discover promising projects
Choose repository search and filter by topic, language and stars to build your technical shortlist.
Search repositories and developers. Explore star history, languages, pull requests, reviews, commits and the work behind each project.
PUT IT TO WORK
Three ways to use GitHub data.
Choose repository search and filter by topic, language and stars to build your technical shortlist.
Collect weekly star totals and daily counts, then compare the languages behind each project.
Choose pull request details, files, commits, reviews or inline comments in one operation.
YOUR FIRST REQUEST
Choose repository search and filter by topic, language and stars to build your technical shortlist.
Set SCRAPEATLAS_API_KEY in your environment.
Use the sample request as a starting point.
Send the result to your app, sheet or research tool.
# ScrapeAtlas · use your customer API key
export BASE_URL="https://api.scrapeatlas.com"
curl --get "$BASE_URL/v1/github/search" \
-H "x-api-key: $SCRAPEATLAS_API_KEY" \
--data-urlencode "query=repo:example/repo is:issue"const baseUrl = "https://api.scrapeatlas.com";
const url = new URL('/v1/github/search', baseUrl);
url.searchParams.set("query", "repo:example/repo is:issue");
const response = await fetch(url, {
method: 'GET',
headers: {
'x-api-key': process.env.SCRAPEATLAS_API_KEY
}
});
const data = await response.json();
console.log(data);type Result = {
status: "success" | "partial" | "failed" | "challenged";
requestId: string;
[field: string]: unknown;
};
const response = await fetch(
"https://api.scrapeatlas.com/v1/github/search?query=repo%3Aexample%2Frepo+is%3Aissue",
{
headers: {
"x-api-key": process.env.SCRAPEATLAS_API_KEY!
}
}
);
const data = (await response.json()) as Result;
if (data.status === "failed" || data.status === "challenged") {
throw new Error(`GitHub request failed: ${data.requestId}`);
}
console.log(data);import requests
response = requests.get(
"https://api.scrapeatlas.com/v1/github/search",
headers={"x-api-key": "YOUR_API_KEY"},
params={
"query": "repo:example/repo is:issue"
},
timeout=60,
)
data = response.json()
print(data["status"], data)package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.scrapeatlas.com/v1/github/search?query=repo%3Aexample%2Frepo+is%3Aissue", nil)
req.Header.Set("x-api-key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
var data map[string]interface{}
json.NewDecoder(resp.Body).Decode(&data)
fmt.Println(data["status"], data)
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
.uri(URI.create("https://api.scrapeatlas.com/v1/github/search?query=repo%3Aexample%2Frepo+is%3Aissue"))
.GET()
.header("x-api-key", "YOUR_API_KEY")
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}/v1/github/searchJSON responseUse your ScrapeAtlas API key. Replace the sample input with your own.
API DIRECTORY / 27
/v1/github/userGETUser repositories/v1/github/user/repositoriesGETUser pull requests/v1/github/user/pull-requestsGETUser activity/v1/github/user/activityGETConnections/v1/github/user/connectionsGETContributions/v1/github/user/contributions/v1/github/repositoryGETTrending/v1/github/trendingGETREADME/v1/github/readmeGETReleases/v1/github/repo/releasesGETIssues/v1/github/repo/issuesGETIssue/v1/github/issueGETComments/v1/github/issue/commentsGETSearch/v1/github/searchGETRepository report/v1/github/repo/dossierGETVelocity/v1/github/user/profile-velocityGETStar history/v1/github/repo/star-historyGETLanguages/v1/github/repo/languagesGETContributors/v1/github/repo/contributorsGETCommits/v1/github/repo/commitsGETContents/v1/github/repo/contentsGETRepository refs/v1/github/repo/refsGETRepository activity/v1/github/repo/activityGETPull request/v1/github/pull-requestGETSocial links/v1/github/user/social-linksGETOrganizations/v1/github/user/organizationsGETPinned repositories/v1/github/user/pinnedCreate a ScrapeAtlas API key, send it in the x-api-key header, and pass the endpoint’s request fields. The example above is ready to adapt to your own input.
Search repositories and developers. Explore star history, languages, pull requests, reviews, commits and the work behind each project. Each endpoint’s reference shows its response fields and a JSON example.
Yes. Connect ScrapeAtlas through MCP to use GitHub tools from your assistant. You can also call the same API from your own scripts or the CLI.
We use essential storage to keep the site working. With your permission, optional analytics cookies help us understand visits. You can change your choice anytime. Privacy policy
Google Analytics and PostHog measure visits, page engagement, signup-link clicks and website performance. Rejecting optional cookies does not affect access to the site.
Allow Affonso to record your referral visit and store a cookie for 30 days. If you sign up, we share your verified email with Affonso to attribute purchases. Privacy policy