> ## 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 Post URLs — Public

> Import specific TikTok, YouTube, or Instagram post URLs into the shared Public 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>

Import post URLs into the **Public Video Library** — searchable by all Memories.ai users. Free of charge if the video is already in the public library.

<Warning>
  Videos contributed to the public library are **permanent and visible to all users**. This cannot be undone. Use [Import from Post URLs — Private](/visual-search/upload-from-post-urls) if you want a private copy instead.
</Warning>

## 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 = {
    "video_urls": [
        "https://www.tiktok.com/@cutshall73/video/7543017294226558221"
    ],
    "callback_url": "https://your.app/callback",
    "quality": "720"
}
response = requests.post(
    "https://api.memories.ai/serve/api/v1/scraper_url_public",
    json=payload,
    headers=headers
)
print(response.json())
```

## Parameters

<ParamField body="video_urls" type="array" required>
  List of post URLs to import. Combined with `tiktok_post_urls` (if provided), the total must not exceed **50 URLs**. All URLs must be from the same platform.
</ParamField>

<ParamField body="tiktok_post_urls" type="array">
  Additional TikTok post URLs.
</ParamField>

<ParamField body="callback_url" type="string">
  URL to receive POST notifications on task progress and per-video indexing completion.
</ParamField>

<ParamField body="quality" type="string" default="720">
  Target resolution. One of `"360"`, `"480"`, `"720"`, `"1080"`, `"1440"`, `"2160"`.
</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) to check progress.</ResponseField>

## Notes & Limits

* **Permanent contribution**: Videos uploaded here are visible to all Memories.ai users and cannot be deleted.
* **Free for duplicates**: If the video is already in the public library, the import is a no-op metadata refresh — no extra credits.
* **Rate limiting**: See [Rate limits](/visual-search/rate-limits).
