cURL
curl --request GET \
--url https://api.brightdata.com/trials/free_tier \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.brightdata.com/trials/free_tier"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.brightdata.com/trials/free_tier', 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.brightdata.com/trials/free_tier",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.brightdata.com/trials/free_tier"
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))
}HttpResponse<String> response = Unirest.get("https://api.brightdata.com/trials/free_tier")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/trials/free_tier")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"is_enabled": true,
"included_credits": 5000,
"used_credits": 3,
"left_credits": 4997
}Account & status
Get free tier credits
Use GET /trials/free_tier in the Bright Data Account Management API to get included, used and left free tier credits. Allows 600 requests per minute per IP.
GET
/
trials
/
free_tier
cURL
curl --request GET \
--url https://api.brightdata.com/trials/free_tier \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.brightdata.com/trials/free_tier"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.brightdata.com/trials/free_tier', 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.brightdata.com/trials/free_tier",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.brightdata.com/trials/free_tier"
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))
}HttpResponse<String> response = Unirest.get("https://api.brightdata.com/trials/free_tier")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/trials/free_tier")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"is_enabled": true,
"included_credits": 5000,
"used_credits": 3,
"left_credits": 4997
}The
The response is a JSON object with four fields:
To print only the credits left, filter the response with jq:
When
GET /trials/free_tier endpoint returns the free tier credits on your Bright Data account: whether the free tier is enabled and how many credits are included, used and left. The values match the Free credits card on the Billing overview page in the Control Panel.
Paste your API key into the authorization field. To get an API key, create an account and learn how to generate an API key.
How do I check my free tier credits?
CallGET /trials/free_tier with your API key. The endpoint takes no parameters:
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.brightdata.com/trials/free_tier"
{
"is_enabled": true,
"included_credits": 5000,
"used_credits": 3,
"left_credits": 4997
}
curl -s -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.brightdata.com/trials/free_tier" \
| jq '.left_credits'
How is the response structured?
The response always contains the same four fields with the same types:| Field | Type | Description |
|---|---|---|
is_enabled | boolean | true if the free tier is enabled on your account, including when all credits are used |
included_credits | number | Free credits included in the current period |
used_credits | number | Free credits used in the current period |
left_credits | number | Free credits left in the current period |
is_enabled is false, included_credits, used_credits and left_credits are all 0.
How do I tell if my free tier credits are used up?
Check bothis_enabled and left_credits. A response with is_enabled: true and left_credits: 0 means the free tier is active but this month’s credits are used up. Free credits renew on the first of each month, as described in What happens when free credits run out?.
A response with is_enabled: false means the free tier is not enabled on your account, and all three *_credits fields are 0.
What is the rate limit for GET /trials/free_tier?
GET /trials/free_tier allows 600 requests per minute and 36,000 requests per hour per IP address. When you exceed the limit, Bright Data slows down incoming requests instead of blocking them.
Does GET /trials/free_tier return specific errors?
No.GET /trials/free_tier has no endpoint-specific error codes.
Related pages
- Free tier. Which products the 5,000 monthly free credits cover and how each product consumes them.
- Total balance. Account balance, credit, prepayment and pending usage costs.
- Cost breakdown export. Per-day account cost by product, zone, dataset or scraper.
Authorizations
Use your Bright Data API Key as a Bearer token in the Authorization header.
How to authenticate:
- Obtain your API Key from the Bright Data account settings at https://brightdata.com/cp/setting/users
- Include the API Key in the Authorization header of your requests
- Format:
Authorization: Bearer YOUR_API_KEY
Example:
Authorization: Bearer b5648e1096c6442f60a6c4bbbe73f8d2234d3d8324554bd6a7ec8f3f251f07df
Learn how to get your Bright Data API key: https://docs.brightdata.com/api-reference/authentication
Response
200 - application/json
OK
true if the free tier is enabled on your account, including when all credits are used. When false, every *_credits field is 0.
Example:
true
Free credits included in the current period.
Example:
5000
Free credits used in the current period.
Example:
3
Free credits left in the current period.
Example:
4997
Was this page helpful?