Muted Sign in
API Reference

Endpoints available in the Muted API.

POST /code

Retrieve a verification code from an email inbox or generate a TOTP 2FA token. If a 2fa header is provided, returns a 6-digit TOTP token. Otherwise, connects via IMAP and searches recent messages for a numeric code.

Parameters header
NameTypeDescription
email string optional Email address to connect to
password string optional Email password or app-password
2fa string optional TOTP secret key — if set, email/password are ignored
code_length integer optional Number of digits to look for (default 6)
search_in string optional subject, body or both (default)
sender_filter string optional Only match emails whose sender contains this value
refresh-token string optional OAuth2 refresh token (Outlook)
client-id string optional OAuth2 client ID (Outlook)
Response — email code
{
  "success": true,
  "code": "482916",
  "sender": "Example Service",
  "sender_mail": "[email protected]",
  "mail_date": "2025-01-01T12:00:00+00:00",
  "type": "email"
}
Response — 2FA token
{
  "success": true,
  "code": "739201",
  "remaining_seconds": 18,
  "type": "2fa"
}
Response — error
{
  "success": false,
  "message": "Код не найден."
}
GET /shop/view

Returns the list of products currently available in the shop along with price, quantity in stock, and currency.

Parameters

No parameters required.

Response
{
  "success": true,
  "items": [
    {
      "product_id": 12345,
      "name": "Product Name",
      "available": 50,
      "price": 6,
      "currency": "₽"
    }
  ],
  "count": 1
}
POST /shop/order

Create a purchase order for a product. Requires the buyer's Telegram ID, their secret key, and the product ID.

Parameters body · json
NameTypeDescription
product_id integer required ID of the product to purchase
telegram_id integer required Buyer's Telegram user ID
secret_key string required Buyer's secret key
count integer optional Quantity to buy (default 1)
Response
{
  "success": true,
  "data": ["purchased-item-data"],
  "order_id": 98765,
  "count": 1,
  "price": 6,
  "total_price": 6,
  "currency": "₽",
  "name": "Product Name"
}
Hashtags TikTok Creative Center

Proxy API for TikTok Creative Center hashtag data. Auth tokens are managed automatically — if TikTok returns "no permission", headers are refreshed via browser and the request is retried.

GET /hashtag/filters

Returns available countries and industries for filtering. Use these values in country_code and industry_id parameters of other endpoints.

Response
{
  "code": 0,
  "data": {
    "country": [
      { "id": "US", "value": "United States" },
      { "id": "GB", "value": "United Kingdom" }, ...
    ],
    "industry": [
      { "id": "14000000000", "value": "Beauty & Personal Care" }, ...
    ]
  }
}
GET /hashtag/list

List of trending hashtags. All parameters are passed directly to TikTok API.

Parameters query
NameTypeDescription
page integer optional Page number (default: 1)
limit integer optional Items per page (default: 20, min: 1, max: 60)
period integer optional Time period (default: 7): 7, 30, 120
filter_by string optional Filter (e.g. new_on_board)
country_code string optional 2-letter country code (e.g. US, GB)
industry_id string optional Industry ID from /hashtag/filters
Example
GET /hashtag/list?period=30&country_code=US&limit=10
GET /hashtag/detail

Detailed info about a specific hashtag: trend, audience, related hashtags.

Parameters query
NameTypeDescription
hashtag_name string required Hashtag name (without #)
period integer optional Time period: 7, 30, 120, 365, 1095
country_code string optional 2-letter country code, omit for worldwide stats
Example
GET /hashtag/detail?hashtag_name=skincare&country_code=US
DeepSeek OpenAI-compatible

Free access to DeepSeek models via OpenAI-compatible API. Works with any OpenAI SDK — just change the base_url and pass your DeepSeek token as the API key.

HOW TO Get your DeepSeek token
1. Go to chat.deepseek.com and log in
2. Open DevTools → Application (Chrome) or Storage (Firefox)
3. Go to Local Storagechat.deepseek.com
4. Find the userToken key and copy its value
Or paste this in the browser console:
JSON.parse(localStorage.getItem("userToken")).value
The token looks like: AbCdEfGh12345xYz+ABCdefGHIjklMNO...
Pass it as Authorization: Bearer <your-deepseek-token> in all requests.
GET /v1/models

List available DeepSeek models.

Response
{
  "object": "list",
  "data": [
    { "id": "deepseek-chat", "object": "model" },
    { "id": "deepseek-reasoner", "object": "model" }
  ]
}
POST /v1/chat/completions

Send a chat completion request. Fully compatible with the OpenAI Chat Completions API. Model deepseek-reasoner enables chain-of-thought thinking automatically.

Headers
NameTypeDescription
Authorization string required Bearer <your-deepseek-token>
Parameters body · json
NameTypeDescription
model string optional deepseek-chat (default) or deepseek-reasoner
messages array required Array of { role, content } message objects
stream boolean optional Enable SSE streaming (default false)
temperature float optional Sampling temperature
max_tokens integer optional Max tokens to generate
thinking boolean optional Force thinking mode on any model (default false)
search boolean optional Enable web search (default false)
session_id string optional Reuse a conversation session. Returned in the response & X-Session-Id header
Response
{
  "id": "chatcmpl-a1b2c3d4e5f6",
  "object": "chat.completion",
  "model": "deepseek-chat",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "Hello! How can I help you?"
    },
    "finish_reason": "stop"
  }],
  "session_id": "550e8400-e29b-41d4-a716-446655440000"
}
Response — with thinking (deepseek-reasoner)
{
  "id": "chatcmpl-a1b2c3d4e5f6",
  "object": "chat.completion",
  "model": "deepseek-reasoner",
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "The answer is 42.",
      "reasoning_content": "Let me think step by step..."
    },
    "finish_reason": "stop"
  }],
  "session_id": "550e8400-e29b-41d4-a716-446655440000"
}
Usage example — Python (OpenAI SDK)
from openai import OpenAI

client = OpenAI(
  base_url="https://muted.top/v1",
  api_key="<your-deepseek-token>",
)

resp = client.chat.completions.create(
  model="deepseek-chat",
  messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)
Usage example — curl
curl https://muted.top/v1/chat/completions \
  -H "Authorization: Bearer <your-deepseek-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "messages": [{"role": "user", "content": "Hello!"}],
    "search": true
  }'