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

# Get Search

> Retrieve a previously completed search by its ID. Returns whatever was persisted at search time, including any scraped per-link content. Pure idempotent read — no re-scraping, no re-billing.



## OpenAPI

````yaml openapi/search.json GET /v1/searches/{search_id}
openapi: 3.0.3
info:
  title: Search API
  version: 1.1.0
servers:
  - url: https://api.olostep.com
security: []
paths:
  /v1/searches/{search_id}:
    get:
      summary: Get Search
      description: >-
        Retrieve a previously completed search by its ID. Returns whatever was
        persisted at search time, including any scraped per-link content. Pure
        idempotent read — no re-scraping, no re-billing.
      parameters:
        - name: search_id
          in: path
          required: true
          description: Unique identifier for the search to be retrieved.
          schema:
            type: string
      responses:
        '200':
          description: Successful response with the search object.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  object:
                    type: string
                  created:
                    type: integer
                  metadata:
                    type: object
                  query:
                    type: string
                  credits_consumed:
                    type: integer
                    description: >-
                      Total credits consumed by the original search request (5
                      base credits + sum of per-page scrape credits, if
                      scrape_options was used).
                  result:
                    type: object
                    properties:
                      json_content:
                        type: string
                      json_hosted_url:
                        type: string
                        nullable: true
                      links:
                        type: array
                        items:
                          $ref: '#/components/schemas/SearchLink'
                      size_exceeded:
                        type: boolean
                        description: >-
                          True when the inline per-link markdown_content /
                          html_content payload exceeded the 9MB safety cap. When
                          true, those fields are nulled in the response — fetch
                          json_hosted_url to download the full payload from S3.
                      credits_consumed:
                        type: integer
                        description: >-
                          Same value as the top-level credits_consumed, repeated
                          inside result for symmetry with /v1/scrapes.
        '401':
          description: Invalid API Key
        '404':
          description: Search Not Found
        '500':
          description: Internal Server Error
      security:
        - Authorization: []
components:
  schemas:
    SearchLink:
      type: object
      properties:
        url:
          type: string
          description: The URL of the result.
        title:
          type: string
          nullable: true
          description: The title of the result page.
        description:
          type: string
          nullable: true
          description: A short snippet or description of the result.
        markdown_content:
          type: string
          nullable: true
          description: >-
            Markdown content of the page. Only present when
            scrape_options.formats includes 'markdown'. Null if the scrape
            failed, was empty, or hit the global timeout. For Reddit comment
            URLs, this is generated from the @olostep/reddit-post parser's
            structured JSON for higher quality.
        html_content:
          type: string
          nullable: true
          description: >-
            HTML content of the page. Only present when scrape_options.formats
            includes 'html'. Null if the scrape failed, was empty, or hit the
            global timeout.
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Bearer authentication header of the form Bearer <token>, where <token>
        is your auth token.

````