> ## Documentation Index
> Fetch the complete documentation index at: https://floppydata.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Check Proxy

> Checks one proxy connection and returns the detected exit IP and location. Provide either connectionString or structured proxy fields.

<Warning>
  Paste only proxy connection strings you are comfortable sending through the production API. The response returns the detected `ip` and `location`.
</Warning>


## OpenAPI

````yaml api-reference/openapi.json POST /v2/proxy/check
openapi: 3.1.0
info:
  title: Floppydata Client API
  description: >-
    Client API v2 for Web Data, proxy products, proxy tools, and account
    rollups. You can manage your API keys in [API
    keys](https://app.floppydata.com/api-keys).
  version: 2.0.0
servers:
  - url: https://api.floppydata.net
    description: Production
security:
  - apiKeyHeader: []
tags:
  - name: Web Data
    description: Fetch pages and inspect Web Data balance and usage.
  - name: Proxy
    description: Proxy tools shared across proxy products.
  - name: Rotating Proxy
    description: Rotating proxy subusers, connections, locations, balance, and usage.
  - name: Static Proxy
    description: Static proxy inventory for the authenticated account.
  - name: Account
    description: Account-level balance and usage rollups across available products.
  - name: Cloud Browser
    description: |-
      Session-first cloud browsers with persistent settings under the hood.
                  Create a session, connect using the returned WebSocket URL, then navigate with Playwright or Puppeteer. Reuse settings.id to restore the same identity and browser state.
paths:
  /v2/proxy/check:
    post:
      tags:
        - Proxy
      summary: Check a proxy
      description: >-
        Checks one proxy connection and returns the detected exit IP and
        location. Provide either connectionString or structured proxy fields.
      operationId: checkProxy
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - type: object
                  properties:
                    connectionString:
                      type: string
                      format: uri
                      description: >-
                        Proxy URL to check. Replace the example username and
                        password with real proxy credentials.
                      example: >-
                        http://user-USERNAME-type-residential-country-US-rotation-15:PASSWORD@geo.g-w.info:10080
                  required:
                    - connectionString
                  additionalProperties: false
                - type: object
                  properties:
                    host:
                      type: string
                      minLength: 1
                      example: geo.g-w.info
                    port:
                      type: integer
                      minimum: -9007199254740991
                      maximum: 9007199254740991
                      example: 10080
                    username:
                      type: string
                      minLength: 1
                      description: Proxy username to check.
                      example: user-USERNAME-type-residential-country-US-rotation-15
                    password:
                      type: string
                      minLength: 1
                      description: Proxy password to check.
                      example: PASSWORD
                    protocol:
                      default: http
                      example: http
                      type: string
                      enum:
                        - http
                        - https
                        - socks5
                  required:
                    - host
                    - port
                    - username
                    - password
                  additionalProperties: false
      responses:
        '200':
          description: Proxy check result.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ip:
                    type: string
                    example: 123.45.67.89
                  location:
                    type: object
                    properties:
                      countryCode:
                        type: string
                        minLength: 2
                        maxLength: 2
                        example: US
                      country:
                        type: string
                        example: United States
                      state:
                        type: string
                        example: California
                      city:
                        type: string
                        example: San Francisco
                    required:
                      - countryCode
                      - country
                      - state
                      - city
                required:
                  - ip
                  - location
              example:
                ip: 123.45.67.89
                location:
                  countryCode: US
                  country: United States
                  state: California
                  city: San Francisco
        '400':
          description: The request body or query parameters are invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - unauthorized
                          - forbidden
                          - invalid_request
                          - insufficient_balance
                          - account_not_configured
                          - not_found
                          - settings_in_use
                          - settings_limit_reached
                          - session_not_active
                          - connection_in_use
                          - upstream_error
                          - internal_error
                      message:
                        type: string
                        example: Invalid request parameters.
                      details:
                        type: object
                        properties:
                          target:
                            example: settings.id
                            type: string
                          recoveryHint:
                            example: >-
                              Stop the active session before reusing these
                              settings.
                            type: string
                          activeSessionId:
                            example: 58e531ee-16ca-49d0-8722-b425d154cc10
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          nextOperationId:
                            example: stopBrowserSession
                            type: string
                          requestId:
                            example: a1901a29e82a999f-CDG
                            type: string
                          upstreamStatus:
                            example: 503
                            type: integer
                            minimum: 100
                            maximum: 599
                          failureStage:
                            example: provider_browser_start
                            type: string
                          diagnosticCode:
                            example: token_sign_failed
                            type: string
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - details
                required:
                  - error
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters.
                  details:
                    issues:
                      - path: country
                        code: invalid_format
                        message: Expected a 2-letter country code.
        '401':
          description: The API key is missing, invalid, or expired.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - unauthorized
                          - forbidden
                          - invalid_request
                          - insufficient_balance
                          - account_not_configured
                          - not_found
                          - settings_in_use
                          - settings_limit_reached
                          - session_not_active
                          - connection_in_use
                          - upstream_error
                          - internal_error
                      message:
                        type: string
                        example: Invalid request parameters.
                      details:
                        type: object
                        properties:
                          target:
                            example: settings.id
                            type: string
                          recoveryHint:
                            example: >-
                              Stop the active session before reusing these
                              settings.
                            type: string
                          activeSessionId:
                            example: 58e531ee-16ca-49d0-8722-b425d154cc10
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          nextOperationId:
                            example: stopBrowserSession
                            type: string
                          requestId:
                            example: a1901a29e82a999f-CDG
                            type: string
                          upstreamStatus:
                            example: 503
                            type: integer
                            minimum: 100
                            maximum: 599
                          failureStage:
                            example: provider_browser_start
                            type: string
                          diagnosticCode:
                            example: token_sign_failed
                            type: string
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - details
                required:
                  - error
              example:
                error:
                  code: unauthorized
                  message: Unauthorized
                  details: {}
        '402':
          description: The account does not have enough balance for this request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - unauthorized
                          - forbidden
                          - invalid_request
                          - insufficient_balance
                          - account_not_configured
                          - not_found
                          - settings_in_use
                          - settings_limit_reached
                          - session_not_active
                          - connection_in_use
                          - upstream_error
                          - internal_error
                      message:
                        type: string
                        example: Invalid request parameters.
                      details:
                        type: object
                        properties:
                          target:
                            example: settings.id
                            type: string
                          recoveryHint:
                            example: >-
                              Stop the active session before reusing these
                              settings.
                            type: string
                          activeSessionId:
                            example: 58e531ee-16ca-49d0-8722-b425d154cc10
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          nextOperationId:
                            example: stopBrowserSession
                            type: string
                          requestId:
                            example: a1901a29e82a999f-CDG
                            type: string
                          upstreamStatus:
                            example: 503
                            type: integer
                            minimum: 100
                            maximum: 599
                          failureStage:
                            example: provider_browser_start
                            type: string
                          diagnosticCode:
                            example: token_sign_failed
                            type: string
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - details
                required:
                  - error
              example:
                error:
                  code: insufficient_balance
                  message: Insufficient proxy traffic balance.
                  details: {}
        '403':
          description: The API key does not grant access to this operation.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - unauthorized
                          - forbidden
                          - invalid_request
                          - insufficient_balance
                          - account_not_configured
                          - not_found
                          - settings_in_use
                          - settings_limit_reached
                          - session_not_active
                          - connection_in_use
                          - upstream_error
                          - internal_error
                      message:
                        type: string
                        example: Invalid request parameters.
                      details:
                        type: object
                        properties:
                          target:
                            example: settings.id
                            type: string
                          recoveryHint:
                            example: >-
                              Stop the active session before reusing these
                              settings.
                            type: string
                          activeSessionId:
                            example: 58e531ee-16ca-49d0-8722-b425d154cc10
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          nextOperationId:
                            example: stopBrowserSession
                            type: string
                          requestId:
                            example: a1901a29e82a999f-CDG
                            type: string
                          upstreamStatus:
                            example: 503
                            type: integer
                            minimum: 100
                            maximum: 599
                          failureStage:
                            example: provider_browser_start
                            type: string
                          diagnosticCode:
                            example: token_sign_failed
                            type: string
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - details
                required:
                  - error
              example:
                error:
                  code: forbidden
                  message: Forbidden
                  details: {}
        '404':
          description: The requested resource is not available.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - unauthorized
                          - forbidden
                          - invalid_request
                          - insufficient_balance
                          - account_not_configured
                          - not_found
                          - settings_in_use
                          - settings_limit_reached
                          - session_not_active
                          - connection_in_use
                          - upstream_error
                          - internal_error
                      message:
                        type: string
                        example: Invalid request parameters.
                      details:
                        type: object
                        properties:
                          target:
                            example: settings.id
                            type: string
                          recoveryHint:
                            example: >-
                              Stop the active session before reusing these
                              settings.
                            type: string
                          activeSessionId:
                            example: 58e531ee-16ca-49d0-8722-b425d154cc10
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          nextOperationId:
                            example: stopBrowserSession
                            type: string
                          requestId:
                            example: a1901a29e82a999f-CDG
                            type: string
                          upstreamStatus:
                            example: 503
                            type: integer
                            minimum: 100
                            maximum: 599
                          failureStage:
                            example: provider_browser_start
                            type: string
                          diagnosticCode:
                            example: token_sign_failed
                            type: string
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - details
                required:
                  - error
              example:
                error:
                  code: not_found
                  message: Rotating proxy credential was not found.
                  details: {}
        '409':
          description: The authenticated account is not configured for this product.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - unauthorized
                          - forbidden
                          - invalid_request
                          - insufficient_balance
                          - account_not_configured
                          - not_found
                          - settings_in_use
                          - settings_limit_reached
                          - session_not_active
                          - connection_in_use
                          - upstream_error
                          - internal_error
                      message:
                        type: string
                        example: Invalid request parameters.
                      details:
                        type: object
                        properties:
                          target:
                            example: settings.id
                            type: string
                          recoveryHint:
                            example: >-
                              Stop the active session before reusing these
                              settings.
                            type: string
                          activeSessionId:
                            example: 58e531ee-16ca-49d0-8722-b425d154cc10
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          nextOperationId:
                            example: stopBrowserSession
                            type: string
                          requestId:
                            example: a1901a29e82a999f-CDG
                            type: string
                          upstreamStatus:
                            example: 503
                            type: integer
                            minimum: 100
                            maximum: 599
                          failureStage:
                            example: provider_browser_start
                            type: string
                          diagnosticCode:
                            example: token_sign_failed
                            type: string
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - details
                required:
                  - error
              example:
                error:
                  code: account_not_configured
                  message: Account is not configured for proxy products.
                  details: {}
        '500':
          description: An unexpected server error occurred.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - unauthorized
                          - forbidden
                          - invalid_request
                          - insufficient_balance
                          - account_not_configured
                          - not_found
                          - settings_in_use
                          - settings_limit_reached
                          - session_not_active
                          - connection_in_use
                          - upstream_error
                          - internal_error
                      message:
                        type: string
                        example: Invalid request parameters.
                      details:
                        type: object
                        properties:
                          target:
                            example: settings.id
                            type: string
                          recoveryHint:
                            example: >-
                              Stop the active session before reusing these
                              settings.
                            type: string
                          activeSessionId:
                            example: 58e531ee-16ca-49d0-8722-b425d154cc10
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          nextOperationId:
                            example: stopBrowserSession
                            type: string
                          requestId:
                            example: a1901a29e82a999f-CDG
                            type: string
                          upstreamStatus:
                            example: 503
                            type: integer
                            minimum: 100
                            maximum: 599
                          failureStage:
                            example: provider_browser_start
                            type: string
                          diagnosticCode:
                            example: token_sign_failed
                            type: string
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - details
                required:
                  - error
              example:
                error:
                  code: internal_error
                  message: Internal Server Error
                  details: {}
        '502':
          description: An upstream service failed while processing the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - unauthorized
                          - forbidden
                          - invalid_request
                          - insufficient_balance
                          - account_not_configured
                          - not_found
                          - settings_in_use
                          - settings_limit_reached
                          - session_not_active
                          - connection_in_use
                          - upstream_error
                          - internal_error
                      message:
                        type: string
                        example: Invalid request parameters.
                      details:
                        type: object
                        properties:
                          target:
                            example: settings.id
                            type: string
                          recoveryHint:
                            example: >-
                              Stop the active session before reusing these
                              settings.
                            type: string
                          activeSessionId:
                            example: 58e531ee-16ca-49d0-8722-b425d154cc10
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          nextOperationId:
                            example: stopBrowserSession
                            type: string
                          requestId:
                            example: a1901a29e82a999f-CDG
                            type: string
                          upstreamStatus:
                            example: 503
                            type: integer
                            minimum: 100
                            maximum: 599
                          failureStage:
                            example: provider_browser_start
                            type: string
                          diagnosticCode:
                            example: token_sign_failed
                            type: string
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - details
                required:
                  - error
              example:
                error:
                  code: upstream_error
                  message: Failed to fetch data from an upstream service.
                  details:
                    upstreamStatus: 503
components:
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Client API key for the authenticated account.

````