Authentication
All API requests require authentication using a Personal Access Token (PAT) passed as a Bearer token.Generate an API Token
- Go to your Snitcher Dashboard
- Navigate to Settings > Account > API
- Click Generate New Token
- Copy and securely store your token
Making Authenticated Requests
Include your token in theAuthorization header:
Base URL
All API endpoints use this base URL:Rate Limits
To ensure fair usage and platform stability, the REST API enforces the following rate limits:- 60 requests per minute (per API token)
429 Too Many Requests
Need higher rate limits? Contact support to discuss your requirements.
Response Format
All responses are JSON. Successful responses include the requested data:Common HTTP Status Codes
Available Endpoints
The REST API provides access to:Workspaces
List, create, and manage your workspaces
Organisations
Access identified companies and their data
Sessions
Retrieve visitor session data
Contacts
Access contacts and reveal emails or phone numbers
Segments
List and manage segments
Tags
Create and manage company tags
Example: List Workspaces
Example: Get Sessions with Events
Sessions now include anevents array containing all tracking events (pageviews, form submissions, custom events, clicks, and downloads). The views array is deprecated and only contains pageviews.
event_type, url, and triggered_at field. Additional fields depend on the event type:
Example: Get Organisations
Pagination
List endpoints support pagination using query parameters:Filtering & Searching
Many endpoints support filtering. Use thePOST method with a JSON body for advanced searches:
SDK & Libraries
While we don’t provide official SDK libraries, the REST API is straightforward to use with any HTTP client:- JavaScript/Node.js:
fetch,axios - Python:
requests,httpx - PHP:
Guzzle,cURL - Ruby:
HTTParty,Faraday
Best Practices
- Store tokens securely: Use environment variables, not hardcoded values
- Handle rate limits: Implement retry logic with exponential backoff
- Cache responses: Reduce API calls by caching data locally when appropriate
- Use pagination: Don’t try to fetch all data in one request
- Monitor usage: Track your API usage to stay within limits
Need Help?
API Reference
Browse the full API documentation
Support
Contact our support team