SmartNews Interests API

The interests API from SmartNews — 1 operation(s) for interests.

Operations 1

GET /api/ma/v3/iab_interest_categories List Interests #

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/smartnews-interests-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

smartnews-interests-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 3.0.1
  title: SmartNews Marketing Interests API
  description: '# Previous Versions

    - SmartNews Marketing API (2.0.0): https://ads.smartnews.com/developers/deprecated/v2/index.html

    - **API v2 has been fully disabled.** All requests to `api/ma/v2/*` endpoints now return a `410 Gone` error.'
  contact:
    name: SmartNews Ads Support
servers:
- url: https://ads.smartnews.com
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: Interests
paths:
  /api/ma/v3/iab_interest_categories:
    get:
      tags:
      - Interests
      summary: List Interests
      operationId: getAllIABInterestCategories
      description: Returns an array of IAB interest categories which can be used for AdGroup level interest targeting.
      responses:
        '200':
          description: A successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IABInterestCategory'
        '401':
          description: Unauthorized. The access token is either expired or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorResponse'
              x-examples:
                expiredToken:
                  summary: Access token has expired.
                  value:
                    error:
                      type: UNAUTHORIZED
                      message: Token has expired.
                      retriable: false
                invalidToken:
                  summary: Access token is invalid.
                  value:
                    error:
                      type: UNAUTHORIZED
                      message: Token is invalid.
                      retriable: false
        '403':
          description: Forbidden. Access to the requested resource is denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorResponse'
              examples:
                terms_of_service_not_accepted:
                  summary: User has not accepted the terms of service.
                  value:
                    error:
                      type: TERMS_OF_SERVICE_NOT_ACCEPTED
                      message: The owner of the assets must accept the Ads terms of service.
                      terms_of_service_path: /terms/agreement
                      retriable: false
                access_denied:
                  summary: Access is denied due to insufficient permissions.
                  value:
                    error:
                      type: ACCESS_DENIED
                      message: Access denied.
                      retriable: false
        '429':
          description: Too many requests were made within a short period. Wait a while and try again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedErrorResponse'
        '500':
          description: Unexpected error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnexpectedErrorResponse'
        '503':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableErrorResponse'
components:
  schemas:
    UnauthorizedError:
      type: object
      allOf:
      - $ref: '#/components/schemas/UnauthorizedErrorExtension'
      - $ref: '#/components/schemas/ErrorBase'
    DisplayName:
      type: object
      required:
      - en
      - ja
      properties:
        en:
          type: string
          example: Food
          description: The English name of the interest category.
        ja:
          type: string
          example: 食べ物
          description: The Japanese name of the interest category.
    ErrorBase:
      type: object
      required:
      - message
      - retriable
      properties:
        message:
          type: string
        retriable:
          type: boolean
    RateLimitedError:
      type: object
      allOf:
      - $ref: '#/components/schemas/ErrorBase'
      - type: object
        required:
        - type
        properties:
          type:
            type: string
            enum:
            - TOO_MANY_REQUESTS
    UnexpectedErrorExtension:
      type: object
      required:
      - type
      properties:
        type:
          type: string
          enum:
          - UNEXPECTED_ERROR
    UnexpectedError:
      type: object
      allOf:
      - $ref: '#/components/schemas/UnexpectedErrorExtension'
      - $ref: '#/components/schemas/ErrorBase'
    UnauthorizedErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          $ref: '#/components/schemas/UnauthorizedError'
    IABInterestCategory:
      type: object
      required:
      - iab_interest_category_id
      - iab_interest_category_name
      - display_name
      - parent_iab_interest_category_id
      properties:
        iab_interest_category_id:
          example: 100
          type: integer
          format: int32
          description: The interest category ID which can be used for AdGroup level interest targeting.
        iab_interest_category_name:
          example: Food
          type: string
          description: The name of the interest category.
        display_name:
          $ref: '#/components/schemas/DisplayName'
        parent_iab_interest_category_id:
          example: 1
          type: integer
          format: int32
          description: The parent interest category ID. A value of `0` means there is no parent.
    RateLimitedErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          $ref: '#/components/schemas/RateLimitedError'
    ServiceUnavailableErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          $ref: '#/components/schemas/ServiceUnavailableError'
    UnexpectedErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          $ref: '#/components/schemas/UnexpectedError'
    ServiceUnavailableErrorExtension:
      type: object
      required:
      - type
      properties:
        type:
          type: string
          enum:
          - UNDER_MAINTENANCE
    ForbiddenError:
      type: object
      allOf:
      - $ref: '#/components/schemas/ForbiddenErrorExtension'
      - $ref: '#/components/schemas/ErrorBase'
    ForbiddenErrorExtension:
      type: object
      required:
      - type
      properties:
        type:
          type: string
          enum:
          - TERMS_OF_SERVICE_NOT_ACCEPTED
          - ACCESS_DENIED
        terms_of_service_path:
          type: string
          example: /terms/agreement
          description: The path that the user must open in a browser to accept the terms of service. The hostname matches the API hostname.
    UnauthorizedErrorExtension:
      type: object
      required:
      - type
      properties:
        type:
          type: string
          enum:
          - UNAUTHORIZED
    ServiceUnavailableError:
      type: object
      allOf:
      - $ref: '#/components/schemas/ServiceUnavailableErrorExtension'
      - $ref: '#/components/schemas/ErrorBase'
    ForbiddenErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          $ref: '#/components/schemas/ForbiddenError'
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT