> ## Documentation Index
> Fetch the complete documentation index at: https://docs.socq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# TikTok Popular Songs

> Get songs from the TikTok app Top 50 or Viral 50 chart.

# TikTok Popular Songs

Choose the TikTok app Top 50 or Viral 50 songs chart. Submit an asynchronous task, then read its standard results.

```json theme={"system"}
{
  "chart_type": "top",
  "results_limit": 20
}
```

Get the TikTok app Top 50 or Viral 50 songs chart. chart\_type defaults to top; choose viral for Viral 50. results\_limit defaults to 20 and accepts integers from 1 to 50. Optionally provide callback\_url to receive a task completion notification.

## Standard Result Fields

Task results use the stable SocQ fields below. Source-specific field names and formats are normalized without inferring or enriching values that the source did not provide. To request a smaller field set, use `fields` for MCP queries, `_result_fields` for typed tools, or `--result-fields` in the CLI. Declared fields remain present when their value is `null`.

| Field | Type | Nullable | Description |
| - | - | - | - |
| `id` | `string` | Yes | Unique identifier for this result item. |
| `platform` | `string` | No | Platform the result belongs to, such as `instagram` or `linkedin`. |
| `resource` | `string` | No | SocQ resource represented by the result, such as `videos` or `comments`. |
| `type` | `string` | No | Category of the result item, such as `video`, `post`, or `comment`. |
| `url` | `string` | Yes | Public URL of the result item when available. |
| `published_at` | `string` | Yes | Time the source item was published, in ISO 8601 format when available. |
| `collected_at` | `string` | No | Time SocQ collected or processed this result, in ISO 8601 format. |
| `name` | `string` | Yes | Title of the sound or song. |
| `text` | `string` | Yes | Display title of the sound. |
| `author` | `object` | Yes | Author or publisher of the content. |
| `author.id` | `string` | Yes | Unique identifier of the author. |
| `author.username` | `string` | Yes | Public username or handle of the account. |
| `author.name` | `string` | Yes | Display name of the author. |
| `author.url` | `string` | Yes | Public URL of the author when available. |
| `author.avatar_url` | `string` | Yes | URL of the account avatar image. |
| `author.is_verified` | `boolean` | Yes | Whether the account is verified on the platform. |
| `author.is_private` | `boolean` | Yes | Whether the account is private. |
| `cover_url` | `string` | Yes | URL of the cover image. |
| `duration_seconds` | `number` | Yes | Duration in seconds. |
| `audio` | `object` | Yes | Playable preview of the sound. |
| `audio.id` | `string` | Yes | Identifier of the audio or music track. |
| `audio.title` | `string` | Yes | Title of the audio or music track. |
| `audio.artist` | `string` | Yes | Name of the audio artist or creator. |
| `audio.url` | `string` | Yes | URL of the audio or music track when available. |
| `metrics` | `object` | Yes | Counters and measurements available for the result item. |
| `metrics.videos_count` | `integer` | Yes | Number of videos that use this sound. |

The following example shows the response format for a completed task. Actual data depends on your query.

## Completed Task Response

```json theme={"system"}
{
  "code": 200,
  "data": {
    "task_id": "example-tiktok-popular-songs",
    "status": "succeeded",
    "public_id": "tiktok/popular-songs",
    "result_count": 1,
    "credits_amount": 0.5,
    "results": {
      "limit": 50,
      "next_cursor": null,
      "has_more": false,
      "schema_id": "music",
      "schema_version": "1.0",
      "items": [
        {
          "id": "6711980022204205826",
          "platform": "tiktok",
          "resource": "popular-songs",
          "type": "music",
          "url": "https://www.tiktok.com/music/we-fell-in-love-in-october-6711980022204205826",
          "published_at": null,
          "collected_at": "2026-10-15T00:00:00Z",
          "name": "we fell in love in october",
          "text": "we fell in love in october",
          "author": {
            "id": null,
            "username": null,
            "name": "girl in red",
            "url": null,
            "avatar_url": null,
            "is_verified": null,
            "is_private": null
          },
          "cover_url": "https://example.com/cover.jpg",
          "duration_seconds": 42,
          "audio": {
            "id": "6711980022204205826",
            "title": "we fell in love in october",
            "artist": "girl in red",
            "url": null
          },
          "metrics": {
            "videos_count": 2025235
          }
        }
      ]
    }
  }
}
```


## OpenAPI

````yaml api-manual/agent-api/agent-api.json POST /v1/tiktok/popular-songs
openapi: 3.1.0
info:
  title: SocQ Agent API
  version: v1-050b21a3b206
  description: Asynchronous social data API generated from the SocQ Capability Registry.
servers:
  - url: https://api.socq.ai
security: []
paths:
  /v1/tiktok/popular-songs:
    post:
      tags:
        - tiktok
      summary: TikTok Popular Songs API
      description: >-
        Get the TikTok App Top 50 or Viral 50 music chart. Choose chart_type top
        or viral. results_limit defaults to 20, maximum 50.
      operationId: socq_tiktok_popular_songs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              additionalProperties: false
              properties:
                callback_url:
                  type: string
                  format: uri
                chart_type:
                  type: string
                  description: 'TikTok App music chart: top for Top 50, viral for Viral 50.'
                  enum:
                    - top
                    - viral
                  default: top
                results_limit:
                  type: integer
                  minimum: 1
                  maximum: 50
                  default: 20
              required: []
              description: >-
                Choose the TikTok App Top 50 (top, default) or Viral 50 (viral)
                music chart. results_limit defaults to 20 and accepts integers
                from 1 to 50.
      responses:
        '200':
          description: Task accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentSubmitResponse'
        '422':
          description: Input validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentValidationErrorResponse'
      security:
        - bearerAuth: []
        - apiKeyAuth: []
components:
  schemas:
    AgentSubmitResponse:
      type: object
      properties:
        code:
          type: integer
          const: 200
        data:
          type: object
          properties:
            task_id:
              type: string
            status:
              type: string
            created_time:
              type:
                - string
                - 'null'
          required:
            - task_id
            - status
    AgentValidationErrorResponse:
      type: object
      properties:
        code:
          type: integer
          const: 422
        error:
          type: object
          properties:
            message:
              type: string
            type:
              type: string
            details:
              type: object
          required:
            - message
            - type
      required:
        - code
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.