Integrate sem.chat into your applications with our powerful REST API.
The sem.chat API allows you to programmatically manage conversations, send messages, and access analytics. All API requests require authentication using an API key.
https://api.sem.chat/v1 Include your API key in the Authorization header of all requests:
Authorization: Bearer your_api_key_here Retrieve a list of all conversations for your account.
| Parameter | Type | Description |
|---|---|---|
| limit | integer | Number of results to return (max 100) |
| offset | integer | Number of results to skip |
| status | string | Filter by status: active, closed, pending |
Retrieve details of a specific conversation including all messages.
Start a new conversation programmatically.
Send a message to an existing conversation.
// Example request body { "content": "Hello, how can I help you today?", "sender": "agent" } Set up webhooks to receive real-time notifications about conversation events.
| Event | Description |
|---|---|
| conversation.started | A new conversation has been initiated |
| message.received | A new message was received from a visitor |
| conversation.closed | A conversation has been closed |
| lead.captured | Contact information was collected |
API requests are limited to ensure fair usage:
| Plan | Rate Limit |
|---|---|
| Trial | 100 requests/hour |
| Pro | 1,000 requests/hour |
| Business | 10,000 requests/hour |
Use the API reference to define the minimum data and permissions required for a specific workflow. Keep credentials in a server-side secret store, never in browser code, public repositories, screenshots, or support messages. Separate development and production access, validate every input, handle rate limits and retries with backoff, and log request identifiers without logging sensitive customer content. Test authentication failures, expired credentials, duplicate events, network interruptions, and safe rollback before production. Assign an owner for credential rotation and incident response, then review access regularly and remove permissions or integrations that the team no longer needs.