Zet een DuckDB-query om in een beveiligde query REST API — geen httpserver-extensie, geen service om te hosten.
DuckDB is een snelle, op bestanden gebaseerde analyse-engine zonder serverproces en zonder ingebouwde authenticatie. Sla een SQL-query op voor uw .duckdb bestand, een API-sleutel per ontvanger genereren en een partner een werkend JSON-eindpunt geven — nee httpserver Een extensie om beschikbaar te stellen, geen FastAPI-wrapper om te bouwen, geen databasebestand om te verzenden. Gewoon een beheerde, alleen-lezen applicatie. DuckDB REST API binnen enkele minuten.
Vraag Nova, krijg SQL + grafieken
Ontmoet Nova Database REST APIEén sleutel per partner. Geen inloggegevens worden gedeeld.
Bouw een API AutomatiseringGeplande synchronisatie naar 6+ platformen
Verken API naar SQLAPI's bevragen met SQL, geen code
Verken AI-database MCPClaude, Cursor, ChatGPT en Grok communiceren met uw gegevens.
Connect AIQuery Streams is een veilig, realtime platform voor database-integratie dat elke opgeslagen DuckDB-query omzet in een partnerklare REST API-endpoint, met sleutels per ontvanger, alleen-lezen-bescherming en een volledig auditspoor. Je krijgt een live DuckDB REST API zonder een server te draaien, installeren httpserver uitbreiding, of het verzenden van uw databasebestand. Meer informatie vindt u op QueryStreams.com en gratis aanmelden Om binnen enkele minuten je eerste DuckDB-eindpunt te publiceren.
Waarom zou je een DuckDB-database als REST API beschikbaar stellen?
DuckDB is juist zo briljant omdat het geen server heeft — het draait binnen hetzelfde proces en leest slechts één bestand. .duckdb Het systeem leest gegevens uit bestanden (of voert query's uit op Parquet-, CSV- en JSON-bestanden ter plaatse) en verwerkt analytische workloads met de snelheid van een kolomgeoriënteerde database op een laptop of cronbox. Maar zodra iemand buiten je team die cijfers nodig heeft – een klant wil een live feed, de app van een partner moet een rollup lezen, een analist wil de geaggregeerde gegevens in zijn dashboard – wordt die serverless kracht juist een obstakel. Er is geen poort om verbinding mee te maken en geen inloggegevens om te verstrekken. De gebruikelijke oplossingen werken niet altijd: je stuurt een e-mail naar de server. .duckdb bestand (nu staat een volledige kopie van uw gegevens op de schijf van iemand anders), u zet de gemeenschap opzij httpserver een extensie of een FastAPI-wrapper (nu heb je een HTTP-service, de authenticatie ervan en de TLS), of je plant nog een CSV-export in. DuckDB REST API Dit is de nette versie: de partner krijgt een URL en een token, niet jouw bestand. Query Streams maakt er een opgeslagen query van, plus een sleutel.
Geen server, geen open poort
DuckDB heeft geen netwerklistener en je voegt er ook geen toe. De netwerkagent leest je netwerkverkeer. .duckdb Het bestand wordt lokaal opgeslagen en er wordt uitgegaan; inkomende gesprekken worden via die ene uitgaande verbinding teruggeleid.
API-sleutels per ontvanger
Elke ontvanger krijgt zijn eigen exemplaar. qsapi_* Sleutel. Trek er één in zonder de andere aan te raken — geen bestand om terug te halen, geen wachtwoord om te wijzigen.
Alleen-lezen, dat is de bedoeling
De agent opent DuckDB alleen-lezen en een validator verwerpt elke niet-SELECT-instructie. Er is geen INSTALLEREN, KOPIËREN, of BIJVOEGEN pad via de API.
Uw SQL-gegevens en bestand blijven privé.
De ontvanger ziet de endpoint-URL, het JSON-antwoord en eventuele filters die je hebt ingesteld, maar nooit je SQL-query, je schema of de .duckdb het bestand zelf.
Niets te hosten of te patchen.
Nee httpserver Een extensie om te exposeren, geen FastAPI-app, geen reverse proxy. Het eindpunt draait als een beheerde functie, dus er is geen implementatiepipeline of TLS-rotatie om te beheren.
Permanent, verlopend of zelfvernietigend
Maak een eindpunt permanent, stel een vervaldatum in of geef het een vast oproepbudget dat zichzelf na een bepaald aantal verzoeken vernietigt.
De gebruikelijke manieren om een REST API op DuckDB te plaatsen — en waarom ze problemen opleveren.
Er zijn hier wel degelijk opties, en elk heeft zijn eigen nut. Het nadeel is dat je bij elk van deze opties eigenaar wordt van de infrastructuur, een volledige kopie van je data moet overdragen, of beide. Hieronder een vergelijking van de gangbare benaderingen met een gedeeld Query Streams-eindpunt wanneer het doel simpelweg is om "een specifieke partner een specifieke resultatenset te laten lezen".
| Zorg | httpserver-extensie (zelfgehost) | DIY FastAPI + duckdb | Verzend het .duckdb-bestand | Query-stromen |
|---|---|---|---|---|
| Netwerkblootstelling | Je start en stelt een HTTP-server beschikbaar. | U biedt een service aan. | Geen enkele — maar de gegevens verlaten wel uw controle. | Agent alleen voor uitgaand verkeer — geen inkomende poort |
| Wat de ontvanger vasthoudt | Een URL die standaard willekeurige SQL-query's uitvoert. | Een URL naar uw service | Een volledige kopie van uw gehele database. | Een sleutel met één specifiek doel voor één zoekopdracht. |
| Gegevens-/schema-blootstelling | De volledige database, alle tabellen | Wat je ook handmatig codeert | Alles, voor altijd. | Eén opgeslagen zoekopdracht, verder niets. |
| Sleutels per ontvanger + intrekken | Niet ingebouwd | Bouw het zelf | Onmogelijk zodra het gedeeld is | Gebouwd in |
| Auditlogboek van elk gesprek | Voeg het zelf toe | Voeg het zelf toe | Helemaal geen zicht | Gebouwd in |
| Je beheert/patcht/roteert TLS | Ja, voor altijd. | Ja, voor altijd. | Niets om te rennen | Voor u beheerd. |
| De gegevens blijven actueel. | Ja | Ja | Verouderd op het moment dat je het verstuurt. | Live tijdens elk gesprek |
Wil je DuckDB via HTTP beschikbaar stellen zonder de httpserver-extensie?
De gemeenschap httpserver De extensie is geweldig voor het opzetten van een ad-hoc query-eindpunt op een machine die je beheert. Maar het voert willekeurige SQL uit en heeft geen concept van sleutels per ontvanger, quota's of een auditlogboek – dus het is niet iets wat je aan een partner wilt koppelen. Als je doel is om een specifieke partner één beheerde, alleen-lezen resultaatset met een eigen sleutel te geven, zonder dat er een server hoeft te draaien, dan vult Query Streams precies dat gat op.
Hoe Query Streams een DuckDB-query omzet in een REST API
Zodra de Network Agent naast uw DuckDB-bestand is geïnstalleerd en de connector is geconfigureerd, duurt het ongeveer drie stappen om een opgeslagen query naar een gedeeld REST-eindpunt te promoveren. Als u al gebruikmaakt van Query Streams voor Excel, Google Sheets of de MCP Server, zijn uw Agent en connector al aanwezig — u begint dan bij stap twee.
Wijs de agent naar uw DuckDB-bestand.
Installeer de netwerkagent op de machine waarop uw gegevens staan. .duckdb Voeg een DuckDB-connector toe aan het bestand. De agent opent het bestand alleen-lezen en maakt een uitgaande TLS-verbinding met Query Streams; er wordt niets aan het internet blootgesteld.
Een SQL-query opslaan
Schrijf de SELECT Gebruik de querybuilder voor je DuckDB-verbinding — aggregaties, vensterfuncties en leesbewerkingen op gekoppelde Parquet-, CSV- of JSON-bestanden zijn allemaal welkom. Geef de query een naam en sla hem op.
Promoot het en deel een sleutel
Open het tabblad Installeren, kies het eindpunttype (permanent, verlopend of belbudget) en het uitvoerformaat, en nodig vervolgens een ontvanger uit via e-mail. Diegene ontvangt een magic-link claim en zijn/haar eigen qsapi_* sleutel.
Eén opgeslagen zoekopdracht, vele oppervlakken
Dezelfde opgeslagen DuckDB-query kan een Excel-verversing aansturen, een zijbalk in Google Sheets openen, of een gesprek in Claude of Cursor starten. MCP-server, en een partnergerichte REST-endpoint tegelijkertijd. Je bouwt de query één keer; Query Streams regelt de interface.
Geen server om te draaien, geen bestand om over te dragen.
Het beveiligingsmodel is de reden waarom teams hiervoor kiezen in plaats van voor... httpserver extensie of een gedeeld bestand. Uw DuckDB-bestand verlaat uw computer nooit en het pad ernaartoe bevindt zich alleen in de configuratie van de agent op uw netwerk — het wordt nooit naar onze cloud verzonden en is nooit zichtbaar voor een ontvanger. DuckDB zelf wordt geopend in alleen-lezenmodus en een validator op uw netwerk weigert elke niet-SELECT-instructie met ALLEEN-LEZEN_SCHENDING voordat het kan worden uitgevoerd.
Naast het afdwingen van alleen-lezentoegang, ondersteunt dezelfde agent (alleen uitgaand verkeer, HTTPS op poort 443, geen inkomende poorten of VPN) de per-ontvanger-instellingen van elk eindpunt: IP- en CORS-whitelists, tweeledige snelheidslimieten en optionele bytequota die u kunt aanscherpen voordat u gegevens deelt. Hoe de verbinding die alleen uitgaande verbindingen toestaat en de beveiligingsmaatregelen per ontvanger werken →
Roep uw DuckDB REST API aan
Ontvangers roepen het eindpunt aan zoals elke andere REST API: met een bearer-token en een URL. Elke opgeslagen queryparameter die u beschikbaar hebt gesteld, kan per aanroep worden ingesteld — in de querystring voor KRIJGEN of in een JSON-body voor NADe agent bindt die waarden als correcte voorbereide-statementparameters, nooit als stringconcatenatie, zodat een ontvanger niet uit een filter kan breken om SQL te injecteren.
Selecteer het uitvoerformaat per aanroep met de Accepteren koptekst (of een ?format= queryparameter): JSON voor één enkele array, CSV voor spreadsheets en pandas, of op een streaming-eindpunt, NDJSON (één JSON-rij per regel) voor pipelines die tijdens het verwerken parsen uitvoeren — handig voor de grote datasets met analytische resultaten waarvoor DuckDB is ontworpen. Voor bandbreedtegevoelige gebruikers is er een optie beschikbaar. LZ4 laadvermogencompressie met Accept-Encoding: lz4; niet-gecomprimeerde reacties krijgen ook standaard gzip automatisch via de kabel. Voor een volledige uitleg van statische versus streaming-modi, de vier kabelcombinaties en de OpenAPI 3.1-generatie, zie de Directe REST API voor SQL-databases gids.
Hoe het verbruik wordt gefactureerd
Het API-platform is onderdeel van elk Query Streams-abonnement — geen apart abonnement nodig — en een Accept-Encoding: lz4 De kosten voor het comprimeren van de bytes die daadwerkelijk zijn overgedragen, worden in rekening gebracht. Hoe het gebruik van het API-platform wordt gemeten →
Sluit het aan op Power BI, Tableau en elk ander programma dat JSON kan lezen.
DuckDB is een analyse-engine, dus de resultaten ervan zijn meestal bestemd voor een dashboard. Omdat elk eindpunt standaardwaarden retourneert. JSON — met CSV- en streaming NDJSON-ondersteuning — kan elke tool die een REST-feed kan lezen, rechtstreeks gebruikmaken van uw DuckDB-gegevens, zonder dat er aan hun kant iets geïnstalleerd hoeft te worden. Power Query is de eenvoudigste manier om toegang te krijgen tot de Microsoft BI-stack: in Power BI kiezen Gegevens ophalen → Van het web, plak de endpoint-URL, voeg uw toe Autorisatie De header en Power Query parseert de JSON naar een vernieuwbare tabel die uw datamodel voedt. (Voor live data in een spreadsheet is de native methode geschikt.) Query Streams Excel-add-on (Dit is de eenvoudigere weg — Power Query is er wanneer je de gegevens in het Power BI-model zelf wilt hebben.)
Het voedt ook n8n, Qlik, krul, Python (verzoeken of pandas.read_json), Insomnia, Hoppscotch — of elk script of workflow dat een HTTP-verzoek kan verzenden en JSON kan lezen.
Werkt met lokale bestanden en netwerkshares.
De netwerkagent maakt op dezelfde manier verbinding met een lokaal apparaat. .duckdb Of het nu een bestand is, een databasebestand op een netwerkshare of een in-memory DuckDB-database, de agent kan elke query uitvoeren die u kunt uitvoeren, inclusief query's die Parquet-, CSV- of JSON-bestanden lezen die uw DuckDB-instantie kan bereiken. Voor de laagste latentie kunt u de agent het beste uitvoeren op of in de buurt van de machine waarop de gegevens staan. Met één Query Streams-account kunnen meerdere agents op verschillende machines en locaties worden uitgevoerd, en een enkel eindpunt gedraagt zich identiek, ongeacht welke agent het bedient.
Meer dan DuckDB
Dezelfde workflow maakt het mogelijk om een opgeslagen query van PostgreSQL, Microsoft SQL Server, MySQL, MariaDB, SQLite, Microsoft Access, Snowflake, Oracle of BigQuery naar een REST-eindpunt te converteren. DuckDB is simpelweg een van de snelstgroeiende startpunten. Bekijk de Handleidingen voor het instellen van connectoren voor de huidige lijst.
Veelgestelde vragen
Moet ik een server draaien of de httpserver-extensie installeren? +
.duckdb bestand alleen-lezen op uw eigen machine en maakt een uitgaande TLS-verbinding naar agent.querystreams.com op poort 443. Er is geen httpserver Een extensie om te installeren, geen poorten om te openen en geen inkomende firewallregels om toe te voegen.Kan de ontvanger mijn SQL-query's inzien of mijn .duckdb-bestand downloaden? +
.duckdb Het bestand verlaat uw computer nooit — in tegenstelling tot het versturen van een e-mail, komt er geen kopie van uw gegevens op de schijf van de ontvanger terecht.Waarin verschilt dit van de DuckDB httpserver-extensie? +
httpserver De extensie verandert een machine die u beheert in een HTTP-eindpunt dat willekeurige SQL-query's uitvoert. Dit is ideaal voor snelle interne toegang, maar er zijn geen sleutels per ontvanger, geen quota's, geen auditlogboek en u moet de extensie zelf hosten en beveiligen. Query Streams kiest voor een tegenovergestelde, meer beperkte aanpak voor het delen naar buiten: één opgeslagen query wordt één eindpunt, elke ontvanger krijgt een eigen herroepbare sleutel, elke oproep wordt gecontroleerd en u hoeft niets te implementeren of te patchen.Welke uitvoerformaten kan de API retourneren? +
Accepteren koptekst of een ?format= parameter. de vier draadcombinaties en LZ4-compressie →Kan de query Parquet-, CSV- of JSON-bestanden lezen via DuckDB? +
SELECT Een element dat in DuckDB kan worden ingelezen – een native tabel, een bijgevoegd Parquet- of CSV-bestand, een JSON-document of een weergave van meerdere elementen – kan een eindpunt worden. De ontvanger ziet alleen het JSON-resultaat; die weet nooit of het achter de schermen afkomstig is van een tabel of een bestand.Kan een eindpunt verlopen of zichzelf vernietigen? +
Waar moet de agent voor DuckDB worden uitgevoerd? +
.duckdb een bestand of een met toegang tot de netwerkshare waarop het zich bevindt. Voor de laagste latentie kunt u het het beste zo dicht mogelijk bij de data laten draaien. Met één Query Streams-account kunnen meerdere agents op verschillende machines en locaties worden uitgevoerd, en elk van deze agents kan hetzelfde eindpunt bedienen.Heeft de ontvanger een Query Streams-account nodig? +
Aan de slag
Publiceer gratis uw eerste DuckDB REST API.
Meld je aan, installeer de Network Agent naast je DuckDB-bestand, sla een SQL-query op en e-mail een ontvanger een claim met een magische link. Sleutels per ontvanger, alleen-lezen-toegang en een volledig auditspoor zijn vanaf het eerste contact ingeschakeld.
Gerelateerde handleidingen: Directe REST API voor SQL-databases | PostgreSQL beschikbaar maken als REST API | Database REST API-platform | Handleidingen voor het instellen van connectoren
Categorie: API-platform
Tags: duckdb-rest-api, duckdb, duckdb-server, duckdb-api, rest-api, expose-duckdb-as-api, httpserver-alternative, share-duckdb-data, per-recipient-keys, no-code-api, database-rest-api
Metabeschrijving: Zet een DuckDB-query om in een veilige, alleen-lezen REST API met sleutels per ontvanger — geen httpserver-extensie, geen server, geen code.

