Sessions

Get Sessions

Returns a paginated list of sessions with their analytics data.

GET /api/sites/:site/sessions

Returns a paginated list of sessions with their analytics data.

Path Parameters

Prop

Type

Query Parameters

Accepts all Common Parameters plus the following. An invalid view, sort_by, sort_order, include_goals, or min/max value returns 400.

Prop

Type

Response

Prop

Type

Session Object

Attribute fields (country, browser, and so on) come from the session's latest event. referrer, channel, and the UTM fields come from its first event that has one.

Prop

Type

Request
curl -X GET "https://app.rybbit.io/api/sites/1/sessions?page=1&limit=20&start_date=2024-01-01&end_date=2024-01-31" \
  -H "Authorization: Bearer your_api_key_here"
Request
const response = await fetch(
  'https://app.rybbit.io/api/sites/1/sessions?page=1&limit=20&start_date=2024-01-01&end_date=2024-01-31',
  {
    headers: {
      'Authorization': 'Bearer your_api_key_here'
    }
  }
);

const data = await response.json();
Request
import requests

response = requests.get(
    'https://app.rybbit.io/api/sites/1/sessions',
    params={
        'page': 1,
        'limit': 20,
        'start_date': '2024-01-01',
        'end_date': '2024-01-31'
    },
    headers={
        'Authorization': 'Bearer your_api_key_here'
    }
)

data = response.json()
Request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.rybbit.io/api/sites/1/sessions?page=1&limit=20&start_date=2024-01-01&end_date=2024-01-31');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer your_api_key_here'
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
Request
require 'net/http'
require 'json'

uri = URI('https://app.rybbit.io/api/sites/1/sessions?page=1&limit=20&start_date=2024-01-01&end_date=2024-01-31')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer your_api_key_here'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
Request
req, _ := http.NewRequest("GET", "https://app.rybbit.io/api/sites/1/sessions?page=1&limit=20&start_date=2024-01-01&end_date=2024-01-31", nil)
req.Header.Set("Authorization", "Bearer your_api_key_here")

client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()

var data map[string]interface{}
json.NewDecoder(resp.Body).Decode(&data)
Request
let client = reqwest::Client::new();
let res = client
    .get("https://app.rybbit.io/api/sites/1/sessions?page=1&limit=20&start_date=2024-01-01&end_date=2024-01-31")
    .header("Authorization", "Bearer your_api_key_here")
    .send()
    .await?;

let data: serde_json::Value = res.json().await?;
Request
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://app.rybbit.io/api/sites/1/sessions?page=1&limit=20&start_date=2024-01-01&end_date=2024-01-31"))
    .header("Authorization", "Bearer your_api_key_here")
    .GET()
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
Request
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer your_api_key_here");

var response = await client.GetAsync("https://app.rybbit.io/api/sites/1/sessions?page=1&limit=20&start_date=2024-01-01&end_date=2024-01-31");
var data = await response.Content.ReadAsStringAsync();
Response
{
  "data": [
    {
      "session_id": "sess_abc123",
      "user_id": "dev_xyz789",
      "identified_user_id": "user@example.com",
      "traits": { "plan": "pro" },
      "country": "US",
      "region": "US-CA",
      "city": "San Francisco",
      "lat": 37.7749,
      "lon": -122.4194,
      "timezone": "America/Los_Angeles",
      "language": "en-US",
      "browser": "Chrome",
      "browser_version": "120.0",
      "operating_system": "macOS",
      "operating_system_version": "14.2",
      "device_type": "Desktop",
      "screen_width": 1920,
      "screen_height": 1080,
      "referrer": "https://google.com",
      "channel": "Organic Search",
      "hostname": "example.com",
      "entry_page": "/",
      "exit_page": "/pricing",
      "pageviews": 5,
      "events": 2,
      "errors": 0,
      "outbound": 1,
      "button_clicks": 3,
      "copies": 0,
      "form_submits": 0,
      "input_changes": 0,
      "session_duration": 245,
      "session_start": "2024-01-31 14:00:00",
      "session_end": "2024-01-31 14:04:05",
      "utm_source": "google",
      "utm_medium": "cpc",
      "utm_campaign": "brand",
      "utm_term": "",
      "utm_content": "",
      "tag": "",
      "ip": null,
      "has_replay": 1,
      "converted_goals": [{ "id": 12, "name": "Signup" }]
    }
  ]
}