Instantly O Auth API

OAuth authentication endpoints for connecting Google and Microsoft email accounts

Operations 3

POST /api/v2/oauth/google/init Initialize google oauth #
POST /api/v2/oauth/microsoft/init Initialize microsoft oauth #
GET /api/v2/oauth/session/status/{sessionId} Get oauth session status #

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/instantly-ai-oauth-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

instantly-ai-oauth-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Explorer O Auth API
  description: The entire API V2 documentation is interactive and can be tested here. To the right side of every endpoint you will see a box with an example request. You can click on the "Try it" button to send a request to the server right from the docs. You will need to provide an API key by clicking the `ApiKeyAuth_token` blue text.
  version: 2.0.0
servers:
- url: https://api.instantly.ai
  description: Instantly API Server
security:
- ApiKeyAuth: []
tags:
- name: OAuth
  description: OAuth authentication endpoints for connecting Google and Microsoft email accounts
  x-group: OAuth
paths:
  /api/v2/oauth/google/init:
    post:
      operationId: initGoogleOAuth
      summary: Initialize google oauth
      tags:
      - OAuth
      description: 'Creates an OAuth session and returns the Google authorization URL. The user should be redirected to auth_url to complete the OAuth flow. Poll the status endpoint to check for completion.


        **Special rate limits (stricter than the standard API rate limit) to comply with upstream Google rate limits:**

        - 75 requests per minute per workspace

        - 150 requests per minute per IP


        If Google''s upstream OAuth service is temporarily unavailable, requests may return 503.'
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  session_id:
                    type: string
                    description: Session ID for polling status
                    example: abc123def456
                  auth_url:
                    type: string
                    description: Google authorization URL to redirect user to
                    example: https://accounts.google.com/o/oauth2/auth?...
                  expires_at:
                    type: string
                    format: date-time
                    description: Session expiry time (10 minutes from creation)
                    example: '2026-01-14T12:30:00.000Z'
        '429':
          description: Rate limit exceeded — 75 requests per minute per workspace or 150 requests per minute per IP
          content:
            application/json:
              schema:
                type: object
                description: Rate limit exceeded — 75 requests per minute per workspace or 150 requests per minute per IP
                properties:
                  statusCode:
                    type: number
                    enum:
                    - 429
                    example: 429
                  error:
                    type: string
                    enum:
                    - Too Many Requests
                    example: Too Many Requests
                  message:
                    type: string
                    example: Rate limit exceeded for OAuth session creation
                required:
                - statusCode
                - error
                - message
        '503':
          description: Upstream provider temporarily unavailable — the provider is rate-limiting Instantly. Retry after a short delay.
          content:
            application/json:
              schema:
                type: object
                description: Upstream provider temporarily unavailable — the provider is rate-limiting Instantly. Retry after a short delay.
                properties:
                  statusCode:
                    type: number
                    enum:
                    - 503
                    example: 503
                  error:
                    type: string
                    enum:
                    - Service Unavailable
                    example: Service Unavailable
                  message:
                    type: string
                    example: OAuth is temporarily unavailable, please retry shortly
                required:
                - statusCode
                - error
                - message
  /api/v2/oauth/microsoft/init:
    post:
      operationId: initMicrosoftOAuth
      summary: Initialize microsoft oauth
      tags:
      - OAuth
      description: 'Creates an OAuth session and returns the Microsoft authorization URL. The user should be redirected to auth_url to complete the OAuth flow. Poll the status endpoint to check for completion.


        **Special rate limits (stricter than the standard API rate limit) to comply with upstream Microsoft rate limits:**

        - 75 requests per minute per workspace

        - 150 requests per minute per IP


        If Microsoft''s upstream OAuth service is temporarily unavailable, requests may return 503.'
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  session_id:
                    type: string
                    description: Session ID for polling status
                    example: abc123def456
                  auth_url:
                    type: string
                    description: Microsoft authorization URL to redirect user to
                    example: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?...
                  expires_at:
                    type: string
                    format: date-time
                    description: Session expiry time (10 minutes from creation)
                    example: '2026-01-14T12:30:00.000Z'
        '429':
          description: Rate limit exceeded — 75 requests per minute per workspace or 150 requests per minute per IP
          content:
            application/json:
              schema:
                type: object
                description: Rate limit exceeded — 75 requests per minute per workspace or 150 requests per minute per IP
                properties:
                  statusCode:
                    type: number
                    enum:
                    - 429
                    example: 429
                  error:
                    type: string
                    enum:
                    - Too Many Requests
                    example: Too Many Requests
                  message:
                    type: string
                    example: Rate limit exceeded for OAuth session creation
                required:
                - statusCode
                - error
                - message
        '503':
          description: Upstream provider temporarily unavailable — the provider is rate-limiting Instantly. Retry after a short delay.
          content:
            application/json:
              schema:
                type: object
                description: Upstream provider temporarily unavailable — the provider is rate-limiting Instantly. Retry after a short delay.
                properties:
                  statusCode:
                    type: number
                    enum:
                    - 503
                    example: 503
                  error:
                    type: string
                    enum:
                    - Service Unavailable
                    example: Service Unavailable
                  message:
                    type: string
                    example: OAuth is temporarily unavailable, please retry shortly
                required:
                - statusCode
                - error
                - message
  /api/v2/oauth/session/status/{sessionId}:
    get:
      operationId: getOAuthSessionStatus
      summary: Get oauth session status
      tags:
      - OAuth
      description: Poll this endpoint to check the OAuth session result. Works for both Google and Microsoft OAuth sessions. Returns pending while waiting, success with account details when complete, or error if something went wrong. Sessions expire after 10 minutes.
      parameters:
      - schema:
          type: string
          example: abc123def456
        in: path
        name: sessionId
        required: true
        description: Session ID from init response
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - pending
                    - success
                    - error
                    - expired
                    description: Current status of the OAuth session
                    example: success
                  email:
                    type: string
                    description: Email of the connected account (on success)
                    example: user@example.com
                  name:
                    type: string
                    description: Name of the account owner (on success)
                    example: John Doe
                  error:
                    type: string
                    description: Error code (on error)
                    example: access_denied
                  error_description:
                    type: string
                    description: Human-readable error description (on error)
                    example: User denied access to the application
components:
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer