openapi: 3.2.0 info: version: 2.0.0 x-latency-category: responsive x-endpoint-cost: light title: Telnyx Web Search API description: SIP trunking, SMS, MMS, Call Control and Telephony Data Services. contact: email: support@telnyx.com servers: - url: https://api.telnyx.com/v2 description: Version 2.0.0 of the Telnyx API security: - bearerAuth: [] tags: - name: Web Search description: Real-time web search returning structured, LLM-ready JSON results. paths: /web_search: post: summary: Web search description: 'Performs a real-time web search and returns structured, LLM-ready JSON results with titles, URLs, descriptions, and snippets. Supports filtering by domain, country, safe search, freshness, and live crawl. **Note:** `include_domains` and `exclude_domains` cannot be used in the same request. Use one or the other.' operationId: CreateWebSearch tags: - Web Search requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WebSearchRequest' example: query: latest AI agent frameworks count: 10 country: US safesearch: moderate freshness: week include_domains: - arxiv.org - github.com livecrawl: false responses: '200': description: Successful search response. content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/WebSearchResponse' example: data: results: web: - url: https://example.com/article title: Top AI Agent Frameworks in 2026 description: A comprehensive guide to the latest AI agent frameworks... snippets: - LangGraph is a framework for building stateful, multi-actor agents... thumbnail_url: https://example.com/thumb.jpg favicon_url: https://cdn.telnyx.com/favicon?domain=example.com&size=128 news: [] '400': $ref: '#/components/responses/web-search_BadRequest' '401': $ref: '#/components/responses/web-search_Unauthorized' '500': $ref: '#/components/responses/web-search_InternalServerError' '502': $ref: '#/components/responses/web-search_ProviderError' '504': $ref: '#/components/responses/ProviderTimeout' components: schemas: WebSearchRequest: type: object required: - query properties: query: type: string minLength: 1 maxLength: 2000 description: The search query text. example: latest AI agent frameworks count: type: integer minimum: 1 maximum: 100 description: Number of results to return (1-100). example: 10 country: type: string minLength: 2 maxLength: 2 description: Two-letter country code (ISO 3166-1 alpha-2) to bias results. example: US safesearch: type: string enum: - 'off' - moderate - strict description: Safe search filter level. example: moderate freshness: type: string maxLength: 20 description: 'Time-based filter for results. Common values: `day`, `week`, `month`, `year`.' example: week include_domains: type: array items: type: string maxItems: 50 description: Restrict results to these domains (bare hostnames, e.g. `arxiv.org`). example: - arxiv.org - github.com exclude_domains: type: array items: type: string maxItems: 50 description: Exclude results from these domains (bare hostnames, e.g. `pinterest.com`). example: - pinterest.com livecrawl: type: boolean description: When true, the provider crawls pages in real-time for fresh content. The boolean is translated to the provider's internal enum internally; callers always pass `true` or `false`. example: false WebSearchResult: type: object required: - url - title - description - snippets properties: url: type: string format: uri description: Result URL. title: type: string description: Result title. description: type: string description: Short description or excerpt. snippets: type: array items: type: string description: Relevant text snippets from the page. thumbnail_url: type: string format: uri description: Thumbnail image URL (if available). favicon_url: type: string format: uri description: Favicon URL (if available). GatewayError: type: object description: Standard Telnyx JSON:API error envelope returned by the API Gateway for authentication failures (401). required: - errors properties: errors: type: array items: type: object required: - code - title properties: code: type: string description: Telnyx error code. title: type: string description: Error title. detail: type: string description: Human-readable error detail. source: type: object properties: pointer: type: string meta: type: object properties: url: type: string format: uri WebSearchError: type: object properties: error: type: object required: - message properties: message: type: string description: Human-readable error message. details: type: object additionalProperties: true description: Additional error details (e.g. validation field errors). WebSearchResponse: type: object properties: results: type: object required: - web properties: web: type: array items: $ref: '#/components/schemas/WebSearchResult' description: Web search results. news: type: array items: $ref: '#/components/schemas/WebSearchResult' description: News search results. Present only when the query surfaces news results. responses: ProviderTimeout: description: The upstream search provider timed out. content: application/json: schema: $ref: '#/components/schemas/WebSearchError' example: error: message: Provider request timed out web-search_InternalServerError: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/WebSearchError' example: error: message: Internal server error web-search_BadRequest: description: Invalid request — validation error or invalid parameters. content: application/json: schema: $ref: '#/components/schemas/WebSearchError' example: error: message: Validation error details: {} web-search_ProviderError: description: The upstream search provider returned an error. content: application/json: schema: $ref: '#/components/schemas/WebSearchError' example: error: message: Provider request failed web-search_Unauthorized: description: 'Unauthorized — missing or invalid API key. The API Gateway returns this response before the request reaches the backend service. The error format follows the standard Telnyx JSON:API error envelope with `errors[]`, not the backend-level `WebSearchError` shape.' content: application/json: schema: $ref: '#/components/schemas/GatewayError' example: errors: - code: '10009' title: Authentication failed detail: Could not find any usable credentials in the request. meta: url: https://developers.telnyx.com/docs/overview/errors/10009 securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: API key description: 'Telnyx API key supplied as `Authorization: Bearer `. In production, auth may be validated by the API gateway and forwarded via Telnyx auth headers.' Payment: type: apiKey in: header name: Authorization description: 'Machine Payment Protocol credential used on paid retries, sent as `Authorization: Payment ...`. Obtained by paying a challenge returned in the `WWW-Authenticate` header of a 402 response. This is not a Telnyx API key; initial challenge requests use standard bearer authentication instead.' agent-memory_bearerAuth: type: http scheme: bearer description: Telnyx API key bearerAuth: type: http scheme: bearer branded-calling_bearerAuth: type: http scheme: bearer description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys. collections_bearerAuth: type: http scheme: bearer description: Telnyx API key. Collections and results are automatically scoped to the authenticated user's organization. number-reputation_bearerAuth: type: http scheme: bearer description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys. oauthClientAuth: type: oauth2 flows: clientCredentials: tokenUrl: https://api.telnyx.com/v2/oauth/token scopes: admin: Administrative access to Telnyx resources authorizationCode: authorizationUrl: https://api.telnyx.com/v2/oauth/authorize tokenUrl: https://api.telnyx.com/v2/oauth/token refreshUrl: https://api.telnyx.com/v2/oauth/token scopes: admin: Administrative access to Telnyx resources description: OAuth 2.0 authentication for Telnyx API and MCP integrations outbound-voice-profiles_bearerAuth: type: http scheme: bearer bearerFormat: JWT pronunciation-dicts_bearerAuth: type: http scheme: bearer description: Telnyx API v2 key. Obtain from https://portal.telnyx.com rcs-registration_bearerAuth: type: http scheme: bearer bearerFormat: API key stored-payment-transactions_bearerAuth: type: http scheme: bearer bearerFormat: JWT transcriptions-search_bearerAuth: type: http scheme: bearer description: Telnyx API key. Results are automatically scoped to the authenticated user's organization. web-search_bearerAuth: type: http scheme: bearer description: Telnyx API key x-service-info: categories: - communication - developer-tools docs: apiReference: https://developers.telnyx.com homepage: https://telnyx.com llms: https://telnyx.com/llms.txt