Amazon S3 Select (object-level)

1 operation(s) from the Amazon S3 REST API, generated from the authoritative AWS service model.

Operations 1

POST /{Bucket}/{Key} This operation is not supported for directory buckets. This action filters the contents of an Amazon S3 object based on #

Documentation

Specifications

Code Examples

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-s3-select-object-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-s3-select-object-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon S3 Select (object-level)
  description: '1 operations from the Amazon S3 REST API, generated from the authoritative service model.


    S3 identifies these operations by the `select` query subresource, which is declared as a required
    query parameter on each one because an OpenAPI path cannot carry a query string.


    Generated from boto/botocore `service-2.json` at `aeb03fc4ae530e0b3f47d588b6021581db870c8c` (Apache-2.0).
    Responses are XML.'
  version: '2006-03-01'
  contact:
    name: AWS Support
    url: https://aws.amazon.com/premiumsupport/
externalDocs:
  description: Amazon S3 API Reference
  url: https://docs.aws.amazon.com/AmazonS3/latest/API/
servers:
- url: https://s3.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
tags:
- name: select
paths:
  /{Bucket}/{Key}:
    post:
      operationId: SelectObjectContent
      summary: 'This operation is not supported for directory buckets. This action filters the contents
        of an Amazon S3 object based on '
      description: 'This operation is not supported for directory buckets. This action filters the contents
        of an Amazon S3 object based on a simple structured query language (SQL) statement. In the request,
        along with the SQL expression, you must also specify a data serialization format (JSON, CSV, or
        Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and
        returns only records that match the specified SQL expression. You must also specify the data serialization
        format for the response. This functionality is not supported for Amazon S3 on Outposts. For more
        information about Amazon S3 Select, see Selecting Content from Objects and SELECT Command in the
        Amazon S3 User Guide. Permissions You must have the s3:GetObject permission for this operation.
        Amazon S3 Select does not support anonymous access. For more information about permissions, see
        Specifying Permissions in a Policy in the Amazon S3 User Guide. Object Data Formats You can use
        Amazon S3 Select to query objects that have the following format properties: CSV, JSON, and Parquet
        - Objects must be in CSV, JSON, or Parquet format. UTF-8 - UTF-8 is the only encoding type Amazon
        S3 Select supports. GZIP or BZIP'
      tags:
      - select
      parameters:
      - name: select
        in: query
        required: true
        description: Selects this operation. S3 identifies it by the `select` subresource.
        schema:
          type: string
      - name: Bucket
        in: path
        required: true
        description: The S3 bucket.
        schema:
          type: string
      - name: Key
        in: path
        required: true
        description: The object key.
        schema:
          type: string
      - name: x-amz-server-side-encryption-customer-algorithm
        in: header
        required: false
        description: The server-side encryption (SSE) algorithm used to encrypt the object. This parameter
          is needed only when the object was created using a checksum algorithm. For more information,
          see Protecting data u
        schema:
          type: string
      - name: x-amz-server-side-encryption-customer-key
        in: header
        required: false
        description: 'The server-side encryption (SSE) customer managed key. This parameter is needed
          only when the object was created using a checksum algorithm. For more information, see Protecting
          data using SSE-C keys '
        schema:
          type: string
      - name: x-amz-server-side-encryption-customer-key-MD5
        in: header
        required: false
        description: The MD5 server-side encryption (SSE) customer managed key. This parameter is needed
          only when the object was created using a checksum algorithm. For more information, see Protecting
          data using SSE-C k
        schema:
          type: string
      - name: x-amz-expected-bucket-owner
        in: header
        required: false
        description: The account ID of the expected bucket owner. If the account ID that you provide does
          not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden
          (access denied)
        schema:
          type: string
      responses:
        '200':
          description: Success. S3 answers in XML, not JSON.
          x-output-shape: SelectObjectContentOutput
        '403':
          description: AccessDenied. S3 validates the signature before it routes the operation, so this
            does not distinguish an unsupported operation from an unauthorised one.
      x-s3-greedy-path-segment: 'AWS writes this route as `/{Bucket}/{Key+}`. The trailing `+` marks a
        greedy segment, which OpenAPI templating cannot express: an S3 object key may contain slashes,
        so this parameter is not a single path component.'