List billing logs
curl --request GET \
--url https://scrapebadger.com/v1/twitter/stream/billing-logs \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/twitter/stream/billing-logs"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/twitter/stream/billing-logs', 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://scrapebadger.com/v1/twitter/stream/billing-logs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://scrapebadger.com/v1/twitter/stream/billing-logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/twitter/stream/billing-logs")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/twitter/stream/billing-logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"logs": [
{
"id": "<string>",
"monitor_id": "<string>",
"billed_at": "2023-11-07T05:31:56Z",
"credits_deducted": 123,
"monitor_name": "<string>",
"num_accounts": 123,
"tier_label": "Standard",
"rate_applied": 123
}
],
"total": 123,
"page": 123,
"page_size": 123
}{
"error": "Invalid or missing API key"
}{
"error": "Insufficient credits"
}{
"error": "Rate limit exceeded. Please retry after a short delay."
}Stream Monitors API
List Billing Logs
List billing logs for stream monitors. Shows credit deductions with billing cadence details, tier rates, and account counts. Useful for tracking streaming costs and verifying billing accuracy.
GET
/
v1
/
twitter
/
stream
/
billing-logs
List billing logs
curl --request GET \
--url https://scrapebadger.com/v1/twitter/stream/billing-logs \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/twitter/stream/billing-logs"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/twitter/stream/billing-logs', 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://scrapebadger.com/v1/twitter/stream/billing-logs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://scrapebadger.com/v1/twitter/stream/billing-logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/twitter/stream/billing-logs")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/twitter/stream/billing-logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"logs": [
{
"id": "<string>",
"monitor_id": "<string>",
"billed_at": "2023-11-07T05:31:56Z",
"credits_deducted": 123,
"monitor_name": "<string>",
"num_accounts": 123,
"tier_label": "Standard",
"rate_applied": 123
}
],
"total": 123,
"page": 123,
"page_size": 123
}{
"error": "Invalid or missing API key"
}{
"error": "Insufficient credits"
}{
"error": "Rate limit exceeded. Please retry after a short delay."
}Authorizations
Your ScrapeBadger API key. You can find this in your dashboard at https://scrapebadger.com/dashboard/api-keys.
Query Parameters
Filter logs by stream monitor ID.
Page number for pagination.
Required range:
x >= 1Number of logs per page.
Required range:
1 <= x <= 100
