--- warning: DO NOT CHANGE THIS MANUALLY, THIS IS GENERATED BY https://github.com/duckdb/community-extensions repository, check README there title: web_search excerpt: | DuckDB Community Extensions Query Google Custom Search API directly from SQL with filter pushdowns extension: name: web_search description: Query Google Custom Search API directly from SQL with filter pushdowns version: '2026102301' language: C++ build: cmake license: MIT maintainers: - onnimonni repo: github: midwork-finds-jobs/duckdb-web-search andium: cbfe75a10fbe513d5e3ae30151be427f22cfb4e5 variegata: a4e07aa99050e8453b296f2572fc09e5c59f34ec ref: af27d1d68ba874052d2c72c875aacf77ca9e9773 docs: hello_world: | -- Setup credentials (get from Google Cloud Console) CREATE SECRET google_search ( TYPE google_search, key 'YOUR_API_KEY', cx 'YOUR_SEARCH_ENGINE_ID' ); -- Basic web search SELECT title, link, snippet FROM google_search('duckdb database') LIMIT 10; -- Filter by site SELECT title, link FROM google_search('rust tutorial') WHERE site = 'github.com' LIMIT 20; extended_description: | DuckDB extension for querying Google Custom Search API with SQL filter pushdowns. ## Features ### Table Functions - `google_search(query)` - Web search - `google_image_search(query)` - Image search ### Filter Pushdowns (WHERE clause) - `site = 'example.com'` / `site IN (...)` / `site != '...'` - `language = 'en'` / `country = 'US'` / `file_type = 'pdf'` - `exact_match = 'phrase'` / `term IN (...)` / `term != '...'` - `ORDER BY date DESC/ASC` - `LIMIT` optimization ### Named Parameters - `exact_terms`, `exclude_terms`, `or_terms` - `safe` (boolean), `rights`, `sort`, `structured_data` - Image: `img_size`, `img_type`, `img_color_type`, `img_dominant_color` ### COPY TO - `FORMAT google_pse_annotation` - Export URL patterns to PSE annotation XML ### Other - `pagemap` column as JSON type (arrow operator access) - Graceful 429 rate limit handling - JSON extension autoloaded ## Setup Get API credentials: - API Key: https://developers.google.com/custom-search/v1/introduction - Search Engine ID (cx): https://programmablesearchengine.google.com/controlpanel/all extension_star_count: 0 extension_star_count_pretty: 0 extension_download_count: 880 extension_download_count_pretty: 880 image: '/images/community_extensions/social_preview/preview_community_extension_web_search.png' layout: community_extension_doc --- ### Compatibility Matrix This table covers all DuckDB releases that have not reached [end-of-life](https://duckdb.org/release_calendar), including LTS releases, and shows the 2 most recent patch releases of each. Older patch releases are not listed, but the extension may be available for them as well.
| Platform | 1.4.4 | 1.4.5 | 1.5.5 | 1.5.6 | 2.0.0 | | :--- | :---: | :---: | :---: | :---: | :---: | | Linux AMD64 | ✅ | ❌ | ✅ | ✅ | ✅ | | Linux ARM64 | ✅ | ❌ | ✅ | ✅ | ✅ | | macOS AMD64 | ✅ | ❌ | ✅ | ✅ | ✅ | | macOS ARM64 | ✅ | ❌ | ✅ | ✅ | ✅ | | Windows AMD64 | ✅ | ❌ | ✅ | ✅ | ✅ | | Windows ARM64 | ❌ | ❌ | ❌ | ❌ | ❌ | | WebAssembly | ✅ | ❌ | ✅ | ✅ | ✅ | ### Installing and Loading ```sql INSTALL {{ page.extension.name }} FROM community; LOAD {{ page.extension.name }}; ``` {% if page.docs.hello_world %} ### Example ```sql {{ page.docs.hello_world }}``` {% endif %} {% if page.docs.extended_description %} ### About {{ page.extension.name }} {{ page.docs.extended_description }} {% endif %} ### Added Functions
| function_name | function_type | description | comment | examples | |---------------------|---------------|-------------|---------|----------| | google_image_search | table | NULL | NULL | | | google_search | table | NULL | NULL | | ### Overloaded Functions
This extension does not add any function overloads. ### Added Types
This extension does not add any types. ### Added Settings
| name | description | input_type | scope | aliases | typed_value | |----------------|---------------------------------------------------------|------------|--------|---------|-------------| | temp_directory | Set the directory to which temporary files are written. | VARCHAR | GLOBAL | [] | post.db.tmp |