Search articles
curl --request GET \
--url https://api.bonai.io/news/search/articles \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.bonai.io/news/search/articles"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bonai.io/news/search/articles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bonai.io/news/search/articles"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}curl --request GET \
--url https://api.bonai.io/news/search/articles \
--header 'Authorization: Bearer <token>'{
"parameters": {},
"articles": [
{
"title": "<string>",
"url": "<string>",
"excerpt": "<string>",
"thumbnail": "<string>",
"language": "<string>",
"paywall": true,
"content_length": 123,
"date": "2023-11-07T05:31:56Z",
"authors": [
"<string>"
],
"keywords": [
"<string>"
],
"publisher": {
"name": "<string>",
"url": "<string>",
"favicon": "<string>"
},
"content": "<string>"
}
]
}{
"success": false,
"code": 123,
"message": "<string>",
"fields": [
{
"name": "<string>",
"type": "<string>",
"description": "<string>"
}
]
}{
"success": false,
"code": 123,
"message": "<string>",
"fields": [
{
"name": "<string>",
"type": "<string>",
"description": "<string>"
}
]
}{
"success": false,
"code": 123,
"message": "<string>",
"fields": [
{
"name": "<string>",
"type": "<string>",
"description": "<string>"
}
]
}{
"success": false,
"code": 123,
"message": "<string>",
"fields": [
{
"name": "<string>",
"type": "<string>",
"description": "<string>"
}
]
}API Reference
Search articles
Search for news articles with various filters
GET
/
search
/
articles
Search articles
curl --request GET \
--url https://api.bonai.io/news/search/articles \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.bonai.io/news/search/articles"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bonai.io/news/search/articles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bonai.io/news/search/articles"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}curl --request GET \
--url https://api.bonai.io/news/search/articles \
--header 'Authorization: Bearer <token>'{
"parameters": {},
"articles": [
{
"title": "<string>",
"url": "<string>",
"excerpt": "<string>",
"thumbnail": "<string>",
"language": "<string>",
"paywall": true,
"content_length": 123,
"date": "2023-11-07T05:31:56Z",
"authors": [
"<string>"
],
"keywords": [
"<string>"
],
"publisher": {
"name": "<string>",
"url": "<string>",
"favicon": "<string>"
},
"content": "<string>"
}
]
}{
"success": false,
"code": 123,
"message": "<string>",
"fields": [
{
"name": "<string>",
"type": "<string>",
"description": "<string>"
}
]
}{
"success": false,
"code": 123,
"message": "<string>",
"fields": [
{
"name": "<string>",
"type": "<string>",
"description": "<string>"
}
]
}{
"success": false,
"code": 123,
"message": "<string>",
"fields": [
{
"name": "<string>",
"type": "<string>",
"description": "<string>"
}
]
}{
"success": false,
"code": 123,
"message": "<string>",
"fields": [
{
"name": "<string>",
"type": "<string>",
"description": "<string>"
}
]
}Authorizations
Your Bonai API key, sent as Authorization: Bearer <key>. The api-key and x-api-key headers are also accepted.
Headers
API version to consume. Defaults to the latest version (2026-08-01).
Available options:
2026-08-01, 2024-01-01, 2022-01-01 Query Parameters
Search query string
Minimum string length:
1Language code (e.g., 'en', 'es')
Country code (e.g., 'us', 'uk')
Publisher URL to filter by
Filter by paywall status
Available options:
true, false Start date for date range filter
End date for date range filter
Page number
Required range:
x >= 1Number of results per page
Required range:
1 <= x <= 1000Sort order
Available options:
relevance, date Response
Successful response
The query parameters used for this request
Hide child attributes
Hide child attributes
Language code, for example en
Length of the article content in characters
Publish date (ISO 8601)
Full article content. Only returned by GET /article when your plan includes it.
Was this page helpful?