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

# Log in and retrieve an API key



## OpenAPI

````yaml /openapi.json post /v1/auth/login
openapi: 3.1.0
info:
  title: urltodata.ai
  description: >-
    API for extracting transcripts, metadata, and structured data from YouTube,
    TikTok, Instagram, X (Twitter), Facebook, and the web.
  version: 0.1.0
servers:
  - url: https://api.urltodata.ai
    description: Production API
security:
  - bearerAuth: []
paths:
  /v1/auth/login:
    post:
      summary: Log in and retrieve an API key
      operationId: authLogin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - email
                - password
              properties:
                email:
                  type: string
                  format: email
                  description: User email
                password:
                  type: string
                  minLength: 8
                  description: Password
      responses:
        '200':
          description: Login successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthLoginResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security: []
components:
  schemas:
    AuthLoginResponse:
      type: object
      properties:
        apiKey:
          type: string
    ApiError:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
        details:
          type: string
        documentationUrl:
          type: string
  responses:
    Unauthorized:
      description: Authentication required or invalid credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Forbidden:
      description: Account suspended or insufficient permissions
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      x-default: your-api-key
      description: API key as Bearer token (e.g. Bearer mp_abc123_secret)

````