import { Bridgly } from 'bridgly';
const client = new Bridgly({ apiKey: process.env.BRIDGLY_API_KEY });
const res = await client.github.searchUsers({
sort: "best-match",
order: "desc",
count: 10,
});
if (res.type === 'success') console.log(res.data);curl --request POST \
--url https://api.bridgly.app/github/search-users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"fullName": "<string>",
"location": "<string>",
"language": "<string>",
"followers": {
"gt": 123,
"gte": 123,
"lt": 123,
"lte": 123
},
"repos": {
"gt": 123,
"gte": 123,
"lt": 123,
"lte": 123
},
"created": {
"gt": "2023-12-25",
"gte": "2023-12-25",
"lt": "2023-12-25",
"lte": "2023-12-25"
},
"sort": "best-match",
"order": "desc",
"count": 10,
"after": "<string>"
}
'import requests
url = "https://api.bridgly.app/github/search-users"
payload = {
"query": "<string>",
"fullName": "<string>",
"location": "<string>",
"language": "<string>",
"followers": {
"gt": 123,
"gte": 123,
"lt": 123,
"lte": 123
},
"repos": {
"gt": 123,
"gte": 123,
"lt": 123,
"lte": 123
},
"created": {
"gt": "2023-12-25",
"gte": "2023-12-25",
"lt": "2023-12-25",
"lte": "2023-12-25"
},
"sort": "best-match",
"order": "desc",
"count": 10,
"after": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
fullName: '<string>',
location: '<string>',
language: '<string>',
followers: {gt: 123, gte: 123, lt: 123, lte: 123},
repos: {gt: 123, gte: 123, lt: 123, lte: 123},
created: {gt: '2023-12-25', gte: '2023-12-25', lt: '2023-12-25', lte: '2023-12-25'},
sort: 'best-match',
order: 'desc',
count: 10,
after: '<string>'
})
};
fetch('https://api.bridgly.app/github/search-users', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bridgly.app/github/search-users",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => '<string>',
'fullName' => '<string>',
'location' => '<string>',
'language' => '<string>',
'followers' => [
'gt' => 123,
'gte' => 123,
'lt' => 123,
'lte' => 123
],
'repos' => [
'gt' => 123,
'gte' => 123,
'lt' => 123,
'lte' => 123
],
'created' => [
'gt' => '2023-12-25',
'gte' => '2023-12-25',
'lt' => '2023-12-25',
'lte' => '2023-12-25'
],
'sort' => 'best-match',
'order' => 'desc',
'count' => 10,
'after' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bridgly.app/github/search-users"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"fullName\": \"<string>\",\n \"location\": \"<string>\",\n \"language\": \"<string>\",\n \"followers\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"repos\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"created\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"sort\": \"best-match\",\n \"order\": \"desc\",\n \"count\": 10,\n \"after\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bridgly.app/github/search-users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"fullName\": \"<string>\",\n \"location\": \"<string>\",\n \"language\": \"<string>\",\n \"followers\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"repos\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"created\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"sort\": \"best-match\",\n \"order\": \"desc\",\n \"count\": 10,\n \"after\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bridgly.app/github/search-users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"fullName\": \"<string>\",\n \"location\": \"<string>\",\n \"language\": \"<string>\",\n \"followers\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"repos\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"created\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"sort\": \"best-match\",\n \"order\": \"desc\",\n \"count\": 10,\n \"after\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"timeMs": 123,
"creditsCost": 123,
"data": {
"query": "<string>",
"totalCount": 123,
"users": [
{
"id": "<string>",
"type": "<string>",
"username": "<string>",
"name": "<string>",
"bio": "<string>",
"avatarUrl": "<string>",
"url": "<string>",
"location": "<string>",
"followersCount": 123,
"repositoriesCount": 123
}
],
"after": "<string>"
}
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}Search GitHub users and organizations
import { Bridgly } from 'bridgly';
const client = new Bridgly({ apiKey: process.env.BRIDGLY_API_KEY });
const res = await client.github.searchUsers({
sort: "best-match",
order: "desc",
count: 10,
});
if (res.type === 'success') console.log(res.data);curl --request POST \
--url https://api.bridgly.app/github/search-users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"fullName": "<string>",
"location": "<string>",
"language": "<string>",
"followers": {
"gt": 123,
"gte": 123,
"lt": 123,
"lte": 123
},
"repos": {
"gt": 123,
"gte": 123,
"lt": 123,
"lte": 123
},
"created": {
"gt": "2023-12-25",
"gte": "2023-12-25",
"lt": "2023-12-25",
"lte": "2023-12-25"
},
"sort": "best-match",
"order": "desc",
"count": 10,
"after": "<string>"
}
'import requests
url = "https://api.bridgly.app/github/search-users"
payload = {
"query": "<string>",
"fullName": "<string>",
"location": "<string>",
"language": "<string>",
"followers": {
"gt": 123,
"gte": 123,
"lt": 123,
"lte": 123
},
"repos": {
"gt": 123,
"gte": 123,
"lt": 123,
"lte": 123
},
"created": {
"gt": "2023-12-25",
"gte": "2023-12-25",
"lt": "2023-12-25",
"lte": "2023-12-25"
},
"sort": "best-match",
"order": "desc",
"count": 10,
"after": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
fullName: '<string>',
location: '<string>',
language: '<string>',
followers: {gt: 123, gte: 123, lt: 123, lte: 123},
repos: {gt: 123, gte: 123, lt: 123, lte: 123},
created: {gt: '2023-12-25', gte: '2023-12-25', lt: '2023-12-25', lte: '2023-12-25'},
sort: 'best-match',
order: 'desc',
count: 10,
after: '<string>'
})
};
fetch('https://api.bridgly.app/github/search-users', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bridgly.app/github/search-users",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => '<string>',
'fullName' => '<string>',
'location' => '<string>',
'language' => '<string>',
'followers' => [
'gt' => 123,
'gte' => 123,
'lt' => 123,
'lte' => 123
],
'repos' => [
'gt' => 123,
'gte' => 123,
'lt' => 123,
'lte' => 123
],
'created' => [
'gt' => '2023-12-25',
'gte' => '2023-12-25',
'lt' => '2023-12-25',
'lte' => '2023-12-25'
],
'sort' => 'best-match',
'order' => 'desc',
'count' => 10,
'after' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bridgly.app/github/search-users"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"fullName\": \"<string>\",\n \"location\": \"<string>\",\n \"language\": \"<string>\",\n \"followers\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"repos\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"created\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"sort\": \"best-match\",\n \"order\": \"desc\",\n \"count\": 10,\n \"after\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.bridgly.app/github/search-users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"fullName\": \"<string>\",\n \"location\": \"<string>\",\n \"language\": \"<string>\",\n \"followers\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"repos\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"created\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"sort\": \"best-match\",\n \"order\": \"desc\",\n \"count\": 10,\n \"after\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bridgly.app/github/search-users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"fullName\": \"<string>\",\n \"location\": \"<string>\",\n \"language\": \"<string>\",\n \"followers\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"repos\": {\n \"gt\": 123,\n \"gte\": 123,\n \"lt\": 123,\n \"lte\": 123\n },\n \"created\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"sort\": \"best-match\",\n \"order\": \"desc\",\n \"count\": 10,\n \"after\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"timeMs": 123,
"creditsCost": 123,
"data": {
"query": "<string>",
"totalCount": 123,
"users": [
{
"id": "<string>",
"type": "<string>",
"username": "<string>",
"name": "<string>",
"bio": "<string>",
"avatarUrl": "<string>",
"url": "<string>",
"location": "<string>",
"followersCount": 123,
"repositoriesCount": 123
}
],
"after": "<string>"
}
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}Authorizations
A Bridgly API key (bgly_…). Metered endpoints deduct credits from the resolved account.
Body
Free-text search terms, matched against the default fields for this search type, e.g. "web framework".
Restrict to users or organizations. Maps to type:.
user, org Match a display name, e.g. "Grace Hopper". Maps to fullname:.
Profile location, e.g. "San Francisco". Maps to location:.
Users who code in this language. Maps to language:.
Filter by follower count. Provide any of gt / gte / lt / lte; combine a lower and upper bound for a range.
Show child attributes
Show child attributes
Filter by public repository count. Provide any of gt / gte / lt / lte; combine a lower and upper bound for a range.
Show child attributes
Show child attributes
Filter by account creation date. Provide any of gt / gte / lt / lte as YYYY-MM-DD dates; combine a lower and upper bound for a range.
Show child attributes
Show child attributes
Sort field. Defaults to relevance ("best-match").
best-match, followers, repositories, joined Sort direction. Defaults to "desc".
desc, asc Number of results per page (1–10). Defaults to 10.
1 <= x <= 10Pagination cursor (the after value returned by a previous page). Omit for the first page.
Was this page helpful?