> ## 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.

# Crea Ricerca

> Cerca sul web con una query in linguaggio naturale e ottieni un elenco deduplicato di link rilevanti con titoli e descrizioni.  Cercherà la query semanticamente su tutto il web e restituirà i risultati.  Facoltativamente, passa `scrape_options` per analizzare anche ogni URL restituito e incorporare `markdown_content` / `html_content` direttamente in ogni link. Gli scraping delle pagine vengono addebitati automaticamente al tuo team tramite l'endpoint /v1/scrapes sottostante.  Vedi [Funzione di Ricerca](/features/search).



## OpenAPI

````yaml it/openapi/search.json POST /v1/searches
openapi: 3.0.3
info:
  title: API di Ricerca
  version: 1.1.0
servers:
  - url: https://api.olostep.com
security: []
paths:
  /v1/searches:
    post:
      summary: Crea Ricerca
      description: >-
        Cerca sul web con una query in linguaggio naturale e ottieni un elenco
        deduplicato di link rilevanti con titoli e descrizioni.  Cercherà la
        query semanticamente su tutto il web e restituirà i risultati. 
        Facoltativamente, passa `scrape_options` per analizzare anche ogni URL
        restituito e incorporare `markdown_content` / `html_content`
        direttamente in ogni link. Gli scraping delle pagine vengono addebitati
        automaticamente al tuo team tramite l'endpoint /v1/scrapes sottostante. 
        Vedi [Funzione di Ricerca](/features/search).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: La query di ricerca in linguaggio naturale.
                  example: What's going on with OpenAI's Sora shutting down?
                limit:
                  type: integer
                  description: Numero massimo di link da restituire dopo la deduplicazione.
                  minimum: 1
                  maximum: 25
                  default: 12
                  example: 10
                include_domains:
                  type: array
                  description: >-
                    Restringi i risultati a questi domini. Solo host nudi —
                    `http(s)://` iniziali e slash finali vengono rimossi
                    automaticamente.
                  items:
                    type: string
                  example:
                    - nytimes.com
                    - wsj.com
                exclude_domains:
                  type: array
                  description: >-
                    Escludi i risultati da questi domini. Solo host nudi —
                    `http(s)://` iniziali e slash finali vengono rimossi
                    automaticamente.
                  items:
                    type: string
                  example:
                    - reddit.com
                fast_mode:
                  type: boolean
                  description: >-
                    Richiedi una ricerca diretta e a bassa latenza usando la tua
                    query alla lettera. La modalità predefinita esegue una
                    ricerca più ampia per una copertura di risultati più vasta.
                  default: false
                scrape_options:
                  $ref: '#/components/schemas/ScrapeOptions'
              required:
                - query
            examples:
              minimal:
                summary: Minimo — solo query
                value:
                  query: Best Answer Engine Optimization startups
              withScrape:
                summary: Con scrape_options + filtri di dominio + limite
                value:
                  query: What's going on with OpenAI's Sora shutting down?
                  limit: 10
                  include_domains:
                    - nytimes.com
                    - wsj.com
                  exclude_domains:
                    - pinterest.com
                  scrape_options:
                    formats:
                      - markdown
                    remove_css_selectors: default
                    timeout: 25
      responses:
        '200':
          description: Risposta riuscita con risultati di ricerca.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: search_9bi0sbj9xa
                  object:
                    type: string
                    example: search
                  created:
                    type: integer
                    example: 1760327323
                  metadata:
                    type: object
                  query:
                    type: string
                    example: Best Answer Engine Optimization startups
                  credits_consumed:
                    type: integer
                    description: >-
                      Crediti totali consumati da questa richiesta: 5 crediti
                      base di ricerca + somma dei crediti per pagina di scraping
                      quando sono state usate le scrape_options.
                    example: 10
                  result:
                    type: object
                    properties:
                      json_content:
                        type: string
                        description: >-
                          JSON in formato stringa del risultato completo della
                          ricerca.
                      json_hosted_url:
                        type: string
                        description: URL al file JSON ospitato su S3.
                        nullable: true
                      links:
                        type: array
                        description: >-
                          Elenco deduplicato di link rilevanti trovati in più
                          ricerche. Ogni link può includere `markdown_content`
                          e/o `html_content` quando sono state fornite le
                          scrape_options.
                        items:
                          $ref: '#/components/schemas/SearchLink'
                      size_exceeded:
                        type: boolean
                        description: >-
                          Vero quando il contenuto inline per link ha superato
                          il limite di sicurezza di 9MB. Quando è vero, i campi
                          di contenuto sono annullati nella risposta — usa
                          json_hosted_url per recuperare il payload completo.
                      credits_consumed:
                        type: integer
                        description: >-
                          Stesso valore dei credits_consumed a livello
                          superiore.
        '400':
          description: >-
            Richiesta errata — convalida fallita (query mancante, limite non
            valido, valore scrape_options.formats non supportato, ecc.). Il
            corpo della risposta è `{ "message": "<reason>" }`.
        '401':
          description: Chiave API Non Valida
        '500':
          description: Errore Interno del Server
      security:
        - Authorization: []
components:
  schemas:
    ScrapeOptions:
      type: object
      description: >-
        Facoltativo. Quando fornito, ogni link restituito viene anche analizzato
        e il suo contenuto viene incorporato nella risposta. I crediti di
        scraping per pagina vengono addebitati automaticamente dall'endpoint
        /v1/scrapes sottostante.
      properties:
        formats:
          type: array
          description: >-
            Formati di output da richiedere per ogni pagina analizzata.
            Predefinito a ['markdown'] se omesso. Per ora solo 'html' e
            'markdown' sono supportati su /v1/searches.
          items:
            type: string
            enum:
              - html
              - markdown
          default:
            - markdown
          example:
            - markdown
        remove_css_selectors:
          type: string
          description: >-
            Opzione per rimuovere determinati selettori CSS dal contenuto.
            Inoltrato a /v1/scrapes. Predefinito a 'default' che rimuove
            ['nav','footer','script','style','noscript','svg',[role=alert],[role=banner],[role=dialog],[role=alertdialog],[role=region][aria-label*=skip
            i],[aria-modal=true]]. Passa 'none' per disabilitare, o un array
            JSON-stringato di selettori da rimuovere.
          default: default
        timeout:
          type: integer
          description: >-
            Budget di tempo in secondi per l'intera fase di scraping. Dopo
            questo tempo, la ricerca restituisce con i link disponibili — i
            campi di contenuto saranno null per qualsiasi link che non ha
            completato lo scraping.
          minimum: 1
          maximum: 60
          default: 25
    SearchLink:
      type: object
      properties:
        url:
          type: string
          description: L'URL del risultato.
        title:
          type: string
          nullable: true
          description: Il titolo della pagina del risultato.
        description:
          type: string
          nullable: true
          description: Un breve frammento o descrizione del risultato.
        markdown_content:
          type: string
          nullable: true
          description: >-
            Contenuto Markdown della pagina. Presente solo quando
            scrape_options.formats include 'markdown'. Null se lo scraping è
            fallito, era vuoto, o ha raggiunto il timeout globale. Per gli URL
            dei commenti di Reddit, questo è generato dal parser strutturato
            JSON di @olostep/reddit-post per una qualità superiore.
        html_content:
          type: string
          nullable: true
          description: >-
            Contenuto HTML della pagina. Presente solo quando
            scrape_options.formats include 'html'. Null se lo scraping è
            fallito, era vuoto, o ha raggiunto il timeout globale.
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Intestazione di autenticazione Bearer del tipo Bearer <token>, dove
        <token> è il tuo token di autenticazione.

````