openapi: 3.0.3 info: title: Serper Google Search Autocomplete Images API description: RESTful API providing real-time Google Search Engine Results Page (SERP) data in structured JSON format. Supports web search, image search, news, maps, places, videos, shopping, scholar, patents, and autocomplete via POST endpoints. Authentication uses an X-API-KEY header. Designed for high-throughput AI and LLM applications with up to 300 queries per second. version: 1.0.0 contact: name: Serper Support url: https://serper.dev termsOfService: https://serper.dev/terms-of-service license: name: Commercial url: https://serper.dev servers: - url: https://google.serper.dev description: Serper API server security: - apiKeyHeader: [] tags: - name: Images description: Image search results paths: /images: post: operationId: imageSearch summary: Image Search description: Perform a Google Image search and receive structured results including image URLs, dimensions, thumbnails, source domains, and links. tags: - Images requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SearchRequest' example: q: lion gl: us hl: en responses: '200': description: Successful image search response content: application/json: schema: $ref: '#/components/schemas/ImageSearchResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' components: schemas: SearchParameters: type: object properties: q: type: string description: The search query. gl: type: string description: Country code. hl: type: string description: Language code. type: type: string description: The type of search performed. num: type: integer description: Number of results requested. page: type: integer description: Page number. SearchRequest: type: object required: - q properties: q: type: string description: The search query string. example: google search gl: type: string description: Country code for geolocation of results (ISO 3166-1 alpha-2). example: us default: us hl: type: string description: Language code for results (ISO 639-1). example: en default: en num: type: integer description: Number of results to return (1-100). minimum: 1 maximum: 100 default: 10 example: 10 page: type: integer description: Page number for pagination. minimum: 1 default: 1 example: 1 tbs: type: string description: Time-based search filter. Use values like 'qdr:h' (past hour), 'qdr:d' (past day), 'qdr:w' (past week), 'qdr:m' (past month), 'qdr:y' (past year). example: qdr:d autocorrect: type: boolean description: Whether to enable autocorrect for the query. default: true ImageSearchResponse: type: object properties: searchParameters: $ref: '#/components/schemas/SearchParameters' images: type: array description: Image search results. items: $ref: '#/components/schemas/ImageResult' ErrorResponse: type: object properties: message: type: string description: Human-readable error description. ImageResult: type: object properties: title: type: string description: Image page title. imageUrl: type: string format: uri description: Direct URL to the full-size image. imageWidth: type: integer description: Width of the image in pixels. imageHeight: type: integer description: Height of the image in pixels. thumbnailUrl: type: string format: uri description: URL to the thumbnail image. thumbnailWidth: type: integer description: Width of the thumbnail in pixels. thumbnailHeight: type: integer description: Height of the thumbnail in pixels. source: type: string description: Source website name. domain: type: string description: Domain of the source website. link: type: string format: uri description: URL of the page containing the image. googleUrl: type: string format: uri description: Google image result URL. position: type: integer description: Position in image results. responses: Unauthorized: description: Unauthorized — invalid or missing API key. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: Bad request — missing or invalid parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' TooManyRequests: description: Too many requests — rate limit exceeded or credits exhausted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' securitySchemes: apiKeyHeader: type: apiKey in: header name: X-API-KEY description: API key obtained from https://serper.dev/api-key