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
| Status | Description |
|---|---|
200 | Success |
201 | Created |
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Invalid or missing token |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Resource doesn’t exist |
422 | Validation Error - Check errors object |
429 | Rate Limited - Too many requests |
500 | Server Error - Contact support |
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 contact information
Segments
List and manage segments
Tags
Create and manage company tags
Example: List Workspaces
Example: Get Organisations
Pagination
List endpoints support pagination using query parameters:| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 25 | Items per page (max 100) |
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