The Trade Desk IPAddress Data API

IP-address ingestion endpoints of the TTD Data API — upload first-party or third-party IP-address-based targeting data for use in audience targeting. Discovered 2026-08-13 in the provider-published Swagger document at https://usw-data.adsrvr.org/swagger/v1/swagger.json, which carries two operations under the IPAddress tag that were absent from the earlier harvest.

OpenAPI Specification

trade-desk-ipaddress-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: TTD Data IPAddress API
  version: v0.1
  description: The Trade Desk Data API IP-address ingestion endpoints. Upload first-party or third-party
    IP-address-based targeting data for use in audience targeting. Harvested verbatim from the provider-published
    Swagger document at https://usw-data.adsrvr.org/swagger/v1/swagger.json, then split by tag by the
    API Evangelist enrichment pipeline.
servers:
- url: https://usw-data.adsrvr.org
  description: US West Coast data center
- url: https://use-data.adsrvr.org
  description: US East Coast data center
- url: https://euw-data.adsrvr.org
  description: UK/EU data center
- url: https://sin-data.adsrvr.org
  description: APAC data center
- url: https://tok-data.adsrvr.org
  description: Tokyo data center
tags:
- name: IPAddress
paths:
  /data/firstpartyipaddress:
    post:
      tags:
      - IPAddress
      summary: Upload first-party IP address data for the specified ID.
      operationId: IngestFirstPartyIPAddressData
      parameters:
      - name: TTD-Auth
        in: header
        description: Data API token for authentication.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IPAddressDataRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPAddressDataServerResponse'
        '400':
          description: Bad Request - Invalid JSON, missing items, advertiser not configured, or policy
            restrictions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPAddressDataServerResponse'
        '401':
          description: Unauthorized - Invalid or missing authentication token
          content:
            application/json:
              schema:
                type: string
        '403':
          description: Forbidden - Cannot upload IP address data for this advertiser
          content:
            application/json:
              schema:
                type: string
        '429':
          description: Too Many Requests - Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPAddressDataServerResponse'
        '500':
          description: Internal Server Error - Unexpected server error
        '503':
          description: Service Unavailable - Handler disabled or request dropped
      servers:
      - url: https://usw-data.adsrvr.org
  /data/thirdpartyipaddress:
    post:
      tags:
      - IPAddress
      summary: Upload third-party IP address data for the specified ID.
      operationId: IngestThirdPartyIPAddressData
      parameters:
      - name: TTD-Auth
        in: header
        description: Data API token for authentication.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IPAddressDataRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPAddressDataServerResponse'
        '400':
          description: Bad Request - Invalid JSON, missing items, data provider not configured, or policy
            restrictions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPAddressDataServerResponse'
        '401':
          description: Unauthorized - Invalid or missing authentication token
          content:
            application/json:
              schema:
                type: string
        '403':
          description: Forbidden - Cannot upload IP address data for this data provider
          content:
            application/json:
              schema:
                type: string
        '429':
          description: Too Many Requests - Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPAddressDataServerResponse'
        '500':
          description: Internal Server Error - Unexpected server error
        '503':
          description: Service Unavailable - Handler disabled or request dropped
      servers:
      - url: https://usw-data.adsrvr.org
components:
  schemas:
    ExpandedIpAddress:
      type: object
      properties:
        IPAddress:
          type: string
          nullable: true
        IPAddressRange:
          type: string
          nullable: true
        TargetingDataMetadataId:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    IPAddressData:
      required:
      - Name
      type: object
      properties:
        Name:
          type: string
        TimestampUtc:
          type: string
          format: date-time
          nullable: true
        TtlInMinutes:
          type: integer
          format: int32
          nullable: true
        TargetingDataMetadataId:
          type: integer
          format: int64
          nullable: true
        IPAddresses:
          type: array
          items:
            type: string
          nullable: true
        IPAddressRanges:
          type: array
          items:
            type: string
          nullable: true
        ExpandedIpAddresses:
          type: array
          items:
            $ref: '#/components/schemas/ExpandedIpAddress'
          nullable: true
      additionalProperties: false
    IPAddressDataItem:
      required:
      - Data
      type: object
      properties:
        TDID:
          type: string
          nullable: true
        DAID:
          type: string
          nullable: true
        UID2:
          type: string
          nullable: true
        UID2Token:
          type: string
          nullable: true
        RampID:
          type: string
          nullable: true
        CoreID:
          type: string
          nullable: true
        EUID:
          type: string
          nullable: true
        EUIDToken:
          type: string
          nullable: true
        ID5:
          type: string
          nullable: true
        NetID:
          type: string
          nullable: true
        FirstID:
          type: string
          nullable: true
        UtiqID:
          type: string
          nullable: true
        MerkuryID:
          type: string
          nullable: true
        RealID:
          type: string
          nullable: true
        IqviaPPID:
          type: string
          nullable: true
        Data:
          type: array
          items:
            $ref: '#/components/schemas/IPAddressData'
        CookieMappingPartnerId:
          type: string
          nullable: true
      additionalProperties: false
    IPAddressDataRequest:
      required:
      - DataOwnerId
      type: object
      properties:
        DataOwnerId:
          type: string
        Items:
          type: array
          items:
            $ref: '#/components/schemas/IPAddressDataItem'
          nullable: true
        DataLoadTraceId:
          type: string
          nullable: true
      additionalProperties: false
    IPAddressDataResponseErrorCode:
      enum:
      - Unknown
      - MissingDataOwnerId
      - DataOwnerIdNotMapped
      - InvalidIPAddress
      - InvalidIPAddressRange
      - EuIpTargetingNotAllowedForPartner
      - NotTargetable
      type: string
    IPAddressDataServerResponse:
      type: object
      properties:
        DataOwnerId:
          type: string
          nullable: true
        FailedLines:
          type: array
          items:
            $ref: '#/components/schemas/IPAddressDataServerResponseLine'
          nullable: true
      additionalProperties: false
    IPAddressDataServerResponseLine:
      type: object
      properties:
        DataName:
          type: string
          nullable: true
        ErrorCode:
          $ref: '#/components/schemas/IPAddressDataResponseErrorCode'
        IPAddress:
          type: string
          nullable: true
        Message:
          type: string
          nullable: true
        ItemNumber:
          type: string
          nullable: true
        DataNumber:
          type: string
          nullable: true
      additionalProperties: false