import { Bridgly } from '@bridgly/sdk';
const client = new Bridgly({ apiKey: process.env.BRIDGLY_API_KEY });
const res = await client.github.searchDiscussions({
order: "desc",
count: 10,
});
if (res.type === 'success') console.log(res.data);curl --request POST \
--url https://api.bridgly.app/github/search-discussions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"owners": [
"<string>"
],
"repos": [
"<string>"
],
"author": "<string>",
"comments": {
"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"
},
"updated": {
"gt": "2023-12-25",
"gte": "2023-12-25",
"lt": "2023-12-25",
"lte": "2023-12-25"
},
"answered": true,
"order": "desc",
"count": 10,
"after": "<string>"
}
'import requests
url = "https://api.bridgly.app/github/search-discussions"
payload = {
"query": "<string>",
"owners": ["<string>"],
"repos": ["<string>"],
"author": "<string>",
"comments": {
"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"
},
"updated": {
"gt": "2023-12-25",
"gte": "2023-12-25",
"lt": "2023-12-25",
"lte": "2023-12-25"
},
"answered": True,
"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>',
owners: ['<string>'],
repos: ['<string>'],
author: '<string>',
comments: {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'},
updated: {gt: '2023-12-25', gte: '2023-12-25', lt: '2023-12-25', lte: '2023-12-25'},
answered: true,
order: 'desc',
count: 10,
after: '<string>'
})
};
fetch('https://api.bridgly.app/github/search-discussions', 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-discussions",
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>',
'owners' => [
'<string>'
],
'repos' => [
'<string>'
],
'author' => '<string>',
'comments' => [
'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'
],
'updated' => [
'gt' => '2023-12-25',
'gte' => '2023-12-25',
'lt' => '2023-12-25',
'lte' => '2023-12-25'
],
'answered' => true,
'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-discussions"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"owners\": [\n \"<string>\"\n ],\n \"repos\": [\n \"<string>\"\n ],\n \"author\": \"<string>\",\n \"comments\": {\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 \"updated\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"answered\": true,\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-discussions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"owners\": [\n \"<string>\"\n ],\n \"repos\": [\n \"<string>\"\n ],\n \"author\": \"<string>\",\n \"comments\": {\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 \"updated\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"answered\": true,\n \"order\": \"desc\",\n \"count\": 10,\n \"after\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bridgly.app/github/search-discussions")
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 \"owners\": [\n \"<string>\"\n ],\n \"repos\": [\n \"<string>\"\n ],\n \"author\": \"<string>\",\n \"comments\": {\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 \"updated\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"answered\": true,\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,
"discussions": [
{
"id": "<string>",
"number": 123,
"title": "<string>",
"url": "<string>",
"authorLogin": "<string>",
"category": "<string>",
"repository": "<string>",
"repositoryUrl": "<string>",
"commentsCount": 123,
"isAnswered": true,
"createdAt": "<string>",
"updatedAt": "<string>"
}
],
"after": "<string>"
}
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}{
"status": "error",
"message": "<string>"
}Search GitHub discussions
Search GitHub Discussions by keyword and filter by repository, author, comment count, date or whether they are answered. Each result includes the title, category, author, comment count and answered status. Costs 1 credit per request.
import { Bridgly } from '@bridgly/sdk';
const client = new Bridgly({ apiKey: process.env.BRIDGLY_API_KEY });
const res = await client.github.searchDiscussions({
order: "desc",
count: 10,
});
if (res.type === 'success') console.log(res.data);curl --request POST \
--url https://api.bridgly.app/github/search-discussions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"owners": [
"<string>"
],
"repos": [
"<string>"
],
"author": "<string>",
"comments": {
"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"
},
"updated": {
"gt": "2023-12-25",
"gte": "2023-12-25",
"lt": "2023-12-25",
"lte": "2023-12-25"
},
"answered": true,
"order": "desc",
"count": 10,
"after": "<string>"
}
'import requests
url = "https://api.bridgly.app/github/search-discussions"
payload = {
"query": "<string>",
"owners": ["<string>"],
"repos": ["<string>"],
"author": "<string>",
"comments": {
"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"
},
"updated": {
"gt": "2023-12-25",
"gte": "2023-12-25",
"lt": "2023-12-25",
"lte": "2023-12-25"
},
"answered": True,
"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>',
owners: ['<string>'],
repos: ['<string>'],
author: '<string>',
comments: {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'},
updated: {gt: '2023-12-25', gte: '2023-12-25', lt: '2023-12-25', lte: '2023-12-25'},
answered: true,
order: 'desc',
count: 10,
after: '<string>'
})
};
fetch('https://api.bridgly.app/github/search-discussions', 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-discussions",
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>',
'owners' => [
'<string>'
],
'repos' => [
'<string>'
],
'author' => '<string>',
'comments' => [
'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'
],
'updated' => [
'gt' => '2023-12-25',
'gte' => '2023-12-25',
'lt' => '2023-12-25',
'lte' => '2023-12-25'
],
'answered' => true,
'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-discussions"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"owners\": [\n \"<string>\"\n ],\n \"repos\": [\n \"<string>\"\n ],\n \"author\": \"<string>\",\n \"comments\": {\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 \"updated\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"answered\": true,\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-discussions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"owners\": [\n \"<string>\"\n ],\n \"repos\": [\n \"<string>\"\n ],\n \"author\": \"<string>\",\n \"comments\": {\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 \"updated\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"answered\": true,\n \"order\": \"desc\",\n \"count\": 10,\n \"after\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bridgly.app/github/search-discussions")
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 \"owners\": [\n \"<string>\"\n ],\n \"repos\": [\n \"<string>\"\n ],\n \"author\": \"<string>\",\n \"comments\": {\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 \"updated\": {\n \"gt\": \"2023-12-25\",\n \"gte\": \"2023-12-25\",\n \"lt\": \"2023-12-25\",\n \"lte\": \"2023-12-25\"\n },\n \"answered\": true,\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,
"discussions": [
{
"id": "<string>",
"number": 123,
"title": "<string>",
"url": "<string>",
"authorLogin": "<string>",
"category": "<string>",
"repository": "<string>",
"repositoryUrl": "<string>",
"commentsCount": 123,
"isAnswered": true,
"createdAt": "<string>",
"updatedAt": "<string>"
}
],
"after": "<string>"
}
}{
"status": "error",
"message": "<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".
256Limit to these owners (users or orgs). Maps to user:.
^[A-Za-z\d][A-Za-z\d_-]{0,38}$Limit to these "owner/name" repositories. Maps to repo:.
^[A-Za-z\d][A-Za-z\d_-]{0,38}\/[\w.-]+$Opened by this user. Maps to author:.
Filter by comment 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 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
Filter by last update 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
Whether the discussion is answered. Maps to is:answered.
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?