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

# Import from Creator Profile — Private

> Scrape the most recent N videos from a creator profile into your Private Video Library.

<Info>
  **Product**: Visual Search
  **Use case**: Upload videos and images, auto-index them, then search by natural language, image, or transcript phrase
  **Host**: `https://api.memories.ai/serve/api/v1`
  **Auth**: `Authorization: sk-mavi-...` (no `Bearer` prefix)
</Info>

Scrape the most recent N videos from any TikTok, YouTube, or Instagram creator profile into your **Private Video Library**.

Related: [Import from Creator Profile — Public](/visual-search/upload-from-creator-profile-public) · [Import from Post URLs](/visual-search/upload-from-post-urls) · [Import from Hashtag](/visual-search/upload-from-hashtag).

**Example profile URLs:**

```
TikTok:    https://www.tiktok.com/@cutshall73
YouTube:   https://www.youtube.com/@mkbhd
Instagram: https://www.instagram.com/nike/
```

## Prerequisites

* You have [created a memories.ai API key](/visual-search/create-your-key).

## Request Example

```python theme={null}
import requests

headers = {"Authorization": "sk-mavi-..."}
payload = {
    "username": "https://www.tiktok.com/@cutshall73",
    "folder_id": 671631448308117504,
    "scraper_cnt": 10,
    "callback_url": "https://your.app/callback"
}
response = requests.post(
    "https://api.memories.ai/serve/api/v1/scraper",
    json=payload,
    headers=headers
)
print(response.json())
```

## Parameters

<ParamField body="username" type="string" required>
  Full URL of the creator's profile page (e.g. `https://www.tiktok.com/@cutshall73`).
</ParamField>

<ParamField body="scraper_cnt" type="integer">
  Number of most recent posts to ingest from the creator's feed.
</ParamField>

<ParamField body="folder_id" type="integer">
  Optional. Target folder for the uploaded video(s). Omit (or pass `-1`) to store in your account's **Default folder** (created automatically on first use). Pass a folder id from [List Folders](/visual-search/list-folders) or [Create Folder](/visual-search/create-folder) to store in that folder — it must belong to your account, otherwise the request is rejected.
</ParamField>

<ParamField body="callback_url" type="string">
  URL to receive POST notifications on task and per-video indexing progress. Alias `callback` is also accepted.
</ParamField>

## Response Example

```json theme={null}
{
    "code": "0000",
    "msg": "success",
    "data": {
        "taskId": "31b0fccb-d6f9-4135-922d-1e8828499812"
    },
    "success": true,
    "failed": false
}
```

## Response Fields

<ResponseField name="code" type="string">Business status code. `0000` indicates success.</ResponseField>
<ResponseField name="msg" type="string">Human-readable status message.</ResponseField>
<ResponseField name="data.taskId" type="string">Unique identifier for the import task. Use with [Get Task Status](/visual-search/get-task-status).</ResponseField>

## Notes & Limits

* **Rate limiting**: See [Rate limits](/visual-search/rate-limits).
* **Billing**: Each request deducts credits. YouTube consumes additional credits.
* **YouTube**: Indexing may be slower than TikTok or Instagram due to scraper capacity.


## OpenAPI

````yaml POST /serve/api/v1/scraper
openapi: 3.1.0
info:
  title: Memories Platform API (Docs Mapping)
  version: v1
  description: OpenAPI mapping used by Mintlify Try it for the platform docs.
servers:
  - url: https://api.memories.ai
security:
  - ApiKeyAuth: []
paths:
  /serve/api/v1/scraper:
    post:
      summary: Upload Video from Platform Creator URL
      operationId: upload_video_from_creator_url
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadVideoFromCreatorRequest'
      responses:
        '200':
          $ref: '#/components/responses/SuccessJson'
components:
  schemas:
    UploadVideoFromCreatorRequest:
      type: object
      properties:
        username:
          type: string
          example: https://www.tiktok.com/@cutshall73
        scraper_cnt:
          type: integer
          default: 4
        callback_url:
          type: string
          format: uri
          example: https://your.app/callback
        folder_id:
          type: integer
          description: >-
            Optional target folder for the upload. Omit or pass -1 for the
            account's Default folder (auto-created on first use). A positive id
            must belong to your account.
          example: 671631448308117500
      required:
        - username
    GenericJsonResponse:
      type: object
      properties:
        code:
          type:
            - string
            - integer
          example: '0000'
        msg:
          type: string
          example: success
        data:
          oneOf:
            - type: object
              additionalProperties: true
            - type: array
              items:
                type: object
                additionalProperties: true
            - type: string
            - type: 'null'
        success:
          type: boolean
          example: true
        failed:
          type: boolean
          example: false
      additionalProperties: true
  responses:
    SuccessJson:
      description: Successful response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericJsonResponse'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization

````