La ricerca dei dati nel RNDT è possibile anche tramite API REST. Per interrogare il Catalogo, l’URL da utilizzare è il seguente:
https://geodati.gov.it/RNDT/rest/metadata/search? <parametro>&<parametro>&…
dove <parametro> è uno dei parametri REST disponibili. Di seguito sono elencati quelli principali.
| Parametro | Descrizione | Valori accettati |
| q | Testo. | Stringa. E' possibile comporre la stringa di ricerca utilizzando tutti gli elementi indicizzati (vedi dopo), wildchars e operatori booleani. |
| id | Testo | Identificativo del metadato |
| bbox | Estensione indicata come due coppie di coordinate (ovest-sud e est-nord). | Valori di latitudine e longitudine separati da virgole. |
| modified | Date per identificare un intervallo temporale di modifica del record | Inizio/fine entrambe date nel formato yyyy-mm-dd |
| sort | Ordinamento risultati. | Uno fra: apiso_Modified_dt (data di modifica del record), relevance (default), title. I campi apiso_Modified_dt e title devono essere seguiti dalla clausola :asc o :desc |
| start | Numero del primo record da considerare. | Intero. Se utilizzato insieme al parametro max, fornisce l'impaginazione dei risultati della ricerca. |
| num | Numero massimo di risultati. | Interno. Valore massimo: 5000, default: 10. Se utilizzato insieme al parametro start, fornisce l'impaginazione dei risultati della ricerca. |
| f | Formato della risposta. | Un valore fra: atom, json, csw, rss, csv, kml, eros, json-source. |
Per maggiori dettagli fare riferimento alla pagina REST API Syntax del sito di test del geoportal-server ed in particolare alla funzione di ricerca REST /rest
Il motore di ricerca è basato su Elastic Search, un potente motore di ricerca e analisi che a sua volta utilizza il motore Apache Lucene; per sfruttare al meglio la ricerca, può essere utile conoscere la sintassi delle query Apache Lucene per le ricerche di testo.
A parte i filtri espliciti nella sintassi, come ad.es. bbox, per la selezione è necessario utilizzare il tag q= seguito dalla stringa di filtro secondo la sintassi Apache Lucene. Gli elementi interrogabili da utilizzare nelle ricerche sono tutti quelli presenti nel formato JSON di un metadato; questo può essere visualizzato ad esempio dalla pagina dei risultati cliccando in basso per selezionare il formato JSON. I parametri includono i criteri di ricerca indicati nelle linee guida INSPIRE sui servizi di ricerca. Un altro modo per visualizzare esempi di uso è quello di utilizzare la Ricerca Dettagliata impostando i filtri di interesse, poi sulla pagina di Anteprima cliccare sul simbolo del link e copiare e incollare il testo in un browser.
A titolo di esempio ecco alcuni dei parametri utilizzabili; questi parametri sono solo alcuni di quelli presenti nella visualizzazione di un metadato in formato JSON:
| Tag JSON | Significato | Sempre presente |
| fileid | Identificativo del file | SI |
| title | Titolo | SI |
| description | Descrizione (abstract) | SI |
| keyword_s | L'insieme di tutte le parole chiave | SI |
| EnteResponsabile_s | L'ente responsabile del dato | SI |
| apiso_Modified_dt | Data di modifica del metadato | |
| apiso_TopicCategory_s | Categoria tematica ISO (topicCategory) | SI |
| apiso_CreationDate_dt | Data di creazione del dato | NO |
| apiso_PublicationDate_dt | Data di pubblicazione del dato | NO |
| apiso_RevisionDate_dt | Data di revisione del dato | NO |
| INSPIRETheme_s | Tema INSPIRE | SI per dataset e serie |
| isOpenData | Se non vuoto è un opendata | SI per dati aperti |
| sys_xml_clob | Tutto l'XML del metadato | SI |
Di seguito si riportano alcuni esempi di interrogazione.
ESEMPIO 1
Ricerca di tutti i dati che hanno come tema INSPIRE Idrografia (1=INSPIRETheme_s:Idrografia). INSPIRETheme_s è uno dei criteri di ricerca. La ricerca è limitata ai primi 300 record (start=1 e num=300) e i risultati visualizzati in formato json (f=json) con ordinamento basato sul titolo in modalità ascendente.
ESEMPIO 2
Ricerca di tutti i dati che contengono le parole "carta" e "geologica" nel titolo, con massimo 50 risultati (num=50) a cominciare dal 20° record (start=20) visualizzati in HTML (f=html) ordinati secondo la data di modifica in modo ascendente (sort=apiso_Modified_dt:asc).
Si possono avere più casi.
Se il testo viene inserito tra virgolette (q=title:"carta geologica"), la ricerca restituisce tutti i record che contengono esattamente il testo inserito (le due parole una dopo l'altra così come inserite).
Se le due parole sono inserite senza virgolette (q=title:carta geologica), la ricerca restituisce tutti i record che contengono "carta" nel titolo e "geologica" in qualsiasi campo, in quanto, quando non specificato, il criterio di default è text. Da notare le parentesi per evitare che "geologica" venga interpretato per un parametro.
Se le due parole sono inserite con l'operatore AND (q=title:carta AND geologica), la ricerca restituisce tutti i record che contengono entrambe le parole (non necessariamente una dopo l'altra così come inserite).
ESEMPIO 3
Esempio con l'utilizzo di operatori jolly e operatori di inclusione/esclusione. Ricerca dei primi 50 metadati (start=1 e num=50) che contengono la parola "suolo" e non contengono la parola "natura" (-natura). Risultati ordinati secondo il titolo in modalità discendente (sort=title:desc) e risposta in formato json (f=json).
Ricerca come sopra, ma con metadati contenenti la stringa "suo" (*suo*) e non contenenti parole che iniziano con la sillaba "na" seguita da due caratteri e che finiscono con la sillaba "ra" (na??ra)
ESEMPIO 4
Ricerca di uno specifico record tramite l'ID del file di metadati (id) che ritorna l'XML del metadato.
https://geodati.gov.it/RNDT/rest/metadata/search?id=ispra_rm:0029CNATHB_DT