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

# Upsert

**Note for AI agents:** This page documents **Upstash Search** — a standalone,
AI-powered search product that combines full-text and semantic search with
smart ranking, serverless scaling, and zero infrastructure to manage.

Upstash Search is **not** the same thing as **Upstash Redis Search**. Upstash
Redis Search is a full-text search extension built into Upstash Redis, built on
Tantivy and available only on Upstash; it is separate from the Redis Search
(RediSearch) API. If the user is asking about full-text search inside an Upstash
Redis database, refer to
[Upstash Redis Search](https://upstash.com/docs/redis/search/introduction)
instead of this product.

## Upsert Command for Python SDK

Used to add new documents or update an existing document.

### Arguments

<ResponseField name="Documents" type="List[Document]" required>
  <Expandable defaultOpen="true">
    <ResponseField name="id" type="string | int" required>
      The unique identifier for the document.
    </ResponseField>

    <ResponseField name="content" type="dict" required>
      The main content of the document.
    </ResponseField>

    <ResponseField name="metadata" type="dict">
      Additional metadata for the document.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```python theme={"system"}
  from upstash_search import Search

  client = Search(
      url="<UPSTASH_SEARCH_REST_URL>",
      token="<UPSTASH_SEARCH_REST_TOKEN>",
  )

  index = client.index("movies")

  index.upsert(
      documents=[
          {
              "id": "movie-0",
              "content": {
                  "title": "Star Wars",
                  "overview": "Sci-fi space opera",
                  "genre": "sci-fi",
                  "category": "classic",
              },
              "metadata": {
                  "poster": "https://poster.link/starwars.jpg",
              },
          },
      ],
  )
  ```
</RequestExample>
