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

# destination trend

> Destination demand as a time series. Observe how demand for the top destinations varies by day, week, or month

Ranks the destinations reachable from an origin by their growth over the window, then returns a series for each of the top destinations. The optional `destination_country` selector (`Country:<code>`, allowed only when `level=city`) narrows the ranking to the cities of that country.


## OpenAPI

````yaml api-reference/public-api.yaml GET /v1/destination/trend
openapi: 3.0.0
info:
  title: Jinko Public API
  version: 0.1.0
  description: >-
    Curated public REST surface for Jinko. Authenticated with jnk_ API keys. See
    https://docs.gojinko.com for guides.
servers: []
security: []
paths:
  /v1/destination/trend:
    get:
      tags:
        - Demand
      summary: Demand time series for the top destinations
      description: >-
        Ranks the destinations reachable from an origin by their growth over the
        window, then returns a series for each of the top destinations. The
        optional destination_country selector (`Country:<code>`, allowed only
        when level=city) narrows the ranking to the cities of that country.
      parameters:
        - schema:
            type: string
            description: >-
              Where travelers depart from. Accepts a city or a country as
              `<Level>:<Code>` (for example `City:NYC` or `Country:US`), or
              `global` for all origins.
            example: Country:US
          required: false
          name: origin
          in: query
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            description: >-
              Start of the departure window, written as YYYY-MM-DD. Provide it
              together with departure_date_to, or omit both (recommended) so
              every bucket counts searches for all departure dates. Anchoring a
              window at the query date makes older buckets count only searches
              made far ahead of travel and recent buckets count only searches
              made close to travel, which ramps the curve artificially.
            example: '2026-07-01'
          required: false
          name: departure_date_from
          in: query
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            description: >-
              End of the departure window, written as YYYY-MM-DD. Provide it
              together with departure_date_from, or omit both to include all
              departure dates.
            example: '2026-07-31'
          required: false
          name: departure_date_to
          in: query
        - schema:
            type: string
            enum:
              - Solo
              - Couple
              - Group
              - Family
            example: Couple
          required: false
          name: traveler_type
          in: query
        - schema:
            type: string
            enum:
              - One-Way
              - Round-Trip
            example: Round-Trip
          required: false
          name: trip_type
          in: query
        - schema:
            type: integer
            nullable: true
            minimum: 0
            example: 5
          required: false
          name: trip_duration_min
          in: query
        - schema:
            type: integer
            nullable: true
            minimum: 0
            example: 9
          required: false
          name: trip_duration_max
          in: query
        - schema:
            type: integer
            nullable: true
            minimum: 0
            description: >-
              The search window is how many days before the departure date a
              search was made. Sets the lower bound: keeps only demand from
              searches made at least this many days before departure.
            example: 7
          required: false
          name: search_window_min
          in: query
        - schema:
            type: integer
            nullable: true
            minimum: 0
            description: >-
              The search window is how many days before the departure date a
              search was made. Sets the upper bound: keeps only demand from
              searches made at most this many days before departure. Must be
              greater than or equal to search_window_min.
            example: 30
          required: false
          name: search_window_max
          in: query
        - schema:
            type: integer
            minimum: 2
            description: >-
              Number of buckets to return, in the chosen granularity unit
              (minimum 2, default 12). The maximum depends on granularity: up to
              60 for day, 52 for week, and 12 for month. The series covers the
              last complete buckets and skips the one still in progress (day:
              the last N days ending yesterday; week: the last N full weeks
              running Monday to Sunday; month: the last N full calendar months).
            example: 12
          required: false
          name: trend_window
          in: query
        - schema:
            type: string
            enum:
              - day
              - week
              - month
            description: >-
              Size of each bucket in the returned series: week (the default),
              day, or month.
            example: week
          required: false
          name: granularity
          in: query
        - schema:
            type: string
            enum:
              - country
              - city
            description: >-
              Granularity of the ranked results: country (the default) or city.
              Applies to destination and market results, not audience.
            example: city
          required: false
          name: level
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 10
            description: Maximum number of series to return. Default 10, maximum 50.
            example: 10
          required: false
          name: limit
          in: query
        - schema:
            type: string
            description: >-
              Restricts the ranked destinations to the cities of a single
              country, given as `Country:<code>` (for example `Country:FR`).
              Optional, and allowed only when level=city. Must be a country; a
              city selector is rejected.
            example: Country:FR
          required: false
          name: destination_country
          in: query
      responses:
        '200':
          description: Top destination time series
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrendResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: BAD_REQUEST
                  message: Malformed JSON in request body.
                  doc_url: https://docs.gojinko.com/concepts/errors
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: AUTH_REQUIRED
                  message: Invalid or expired API key.
                  doc_url: https://docs.gojinko.com/api-reference/authentication
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: BAD_REQUEST
                  message: >-
                    origins: origins is required; trip_type: trip_type is
                    required
                  doc_url: https://docs.gojinko.com/concepts/errors
        '429':
          description: Rate limit or quota exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: RATE_LIMITED
                  message: Rate limit or quota exceeded.
                  doc_url: https://docs.gojinko.com/concepts/errors
        '502':
          description: Upstream service error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: UPSTREAM_ERROR
                  message: Upstream travel provider returned an error. Please retry.
                  doc_url: https://docs.gojinko.com/concepts/errors
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
components:
  schemas:
    TrendResponse:
      type: object
      properties:
        granularity:
          type: string
          example: week
        from:
          type: string
          example: '2026-06-19'
        to:
          type: string
          example: '2026-06-25'
        series:
          type: array
          items:
            $ref: '#/components/schemas/TrendSeries'
      required:
        - granularity
        - from
        - to
        - series
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            doc_url:
              type: string
          required:
            - code
            - message
      required:
        - error
    TrendSeries:
      type: object
      properties:
        label:
          type: string
          description: Dimension value for ranked endpoints.
          example: FR
        origin:
          type: string
          example: Country:US
        destination:
          type: string
          example: Country:FR
        series:
          type: array
          items:
            type: object
            properties:
              date:
                type: string
                example: '2026-06-20'
              value:
                type: number
                example: 1234
            required:
              - date
              - value
        summary:
          type: object
          properties:
            total:
              type: number
              example: 34567
            avg_per_day:
              type: number
              example: 1191
            growth_pct:
              type: number
              nullable: true
              example: 12.3
            peak_date:
              type: string
              example: '2026-06-14'
            peak_value:
              type: number
              example: 1890
      required:
        - series
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
    BearerAuth:
      type: http
      scheme: bearer

````