API - Solr Traffic Monitoring API

Logs & Analytics
Logs & Analytics API

Solr Traffic Monitoring API

Analyze your Solr request traffic programmatically. Get request logs as JSON or CSV, filter by date ranges, facet by IP, path, query terms, and HTTP status codes.

Endpoint

GET https://opensolr.com/solr_manager/api/request_log
This is the same endpoint as the Request Log API, but this page focuses on practical traffic monitoring examples using facets, date filters, and aggregation. Also see the Real-Time Monitoring UI in your control panel.

Parameters

ParameterStatusDescription
emailRequiredYour Opensolr registration email address
api_keyRequiredYour Opensolr API key
core_nameRequiredThe name of the index you want traffic data for
startOptionalPagination offset (default: 0)
rowsOptionalNumber of results per page (default: 10)
sortOptionalSort field and direction (e.g., date desc)
fq[]OptionalFilter queries. Use multiple fq[] params for AND conditions
wtOptionalResponse format: json (default) or csv
facetOptionalEnable faceting: true
facet.field[]OptionalFields to facet on (e.g., ip, path, q, http_status)

Traffic Monitoring Examples

Last 200 requests from the past 24 hours (JSON)

curl -gs "https://opensolr.com/solr_manager/api/request_log?email=YOUR_EMAIL&api_key=YOUR_API_KEY&core_name=YOUR_INDEX&start=0&sort=date%20desc&rows=200&fq[]=date:[NOW-1DAY%20TO%20NOW]&wt=json"

IP and Path facets for the last month

curl -gs "https://opensolr.com/solr_manager/api/request_log?email=YOUR_EMAIL&api_key=YOUR_API_KEY&core_name=YOUR_INDEX&start=0&sort=date%20desc&rows=0&fq[]=date:[NOW-1MONTH%20TO%20NOW]&wt=json&facet=true&facet.field[]=path&facet.field[]=ip"

Popular search queries today

curl -gs "https://opensolr.com/solr_manager/api/request_log?email=YOUR_EMAIL&api_key=YOUR_API_KEY&core_name=YOUR_INDEX&start=0&sort=date%20desc&rows=0&fq[]=date:[NOW-1DAY%20TO%20NOW]&wt=json&facet=true&facet.field[]=q"

HTTP status code breakdown for today

curl -gs "https://opensolr.com/solr_manager/api/request_log?email=YOUR_EMAIL&api_key=YOUR_API_KEY&core_name=YOUR_INDEX&start=0&sort=date%20desc&rows=0&fq[]=date:[NOW-1DAY%20TO%20NOW]&wt=json&facet=true&facet.field[]=http_status"

Failed requests (4xx errors) today — 20 per page

curl -gs "https://opensolr.com/solr_manager/api/request_log?email=YOUR_EMAIL&api_key=YOUR_API_KEY&core_name=YOUR_INDEX&start=0&sort=date%20desc&rows=20&fq[]=date:[NOW-1DAY%20TO%20NOW]&fq[]=+http_status:4*&wt=json"

Export all requests as CSV

curl -gs "https://opensolr.com/solr_manager/api/request_log?email=YOUR_EMAIL&api_key=YOUR_API_KEY&core_name=YOUR_INDEX&start=0&sort=date%20desc&rows=200000&wt=csv"

PHP — Get popular queries today

$params = http_build_query([
    'email'     => 'YOUR_EMAIL',
    'api_key'   => 'YOUR_API_KEY',
    'core_name' => 'YOUR_INDEX',
    'start'     => 0,
    'rows'      => 0,
    'sort'      => 'date desc',
    'wt'        => 'json',
    'facet'     => 'true',
]);
// Add array params manually (fq[], facet.field[])
$url = "https://opensolr.com/solr_manager/api/request_log?{$params}"
     . "&fq[]=" . urlencode("date:[NOW-1DAY TO NOW]")
     . "&facet.field[]=q";

$response = file_get_contents($url);
$data = json_decode($response, true);
print_r($data['facet_counts']['facet_fields']['q'] ?? []);

Python — Get failed requests today

import requests

response = requests.get("https://opensolr.com/solr_manager/api/request_log", params={
    "email": "YOUR_EMAIL",
    "api_key": "YOUR_API_KEY",
    "core_name": "YOUR_INDEX",
    "start": 0,
    "rows": 20,
    "sort": "date desc",
    "wt": "json",
    "fq[]": ["date:[NOW-1DAY TO NOW]", "+http_status:4*"],
})
data = response.json()
for doc in data.get("response", {}).get("docs", []):
    print(f"{doc['date']} | {doc['http_status']} | {doc.get('q', '')}")

Related Documentation

Need help analyzing your Solr traffic? We are here to help.

Contact Support