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

# Klarna Product Price History

> Native daily national-price history with independent regional product identity, source currency and extrema validation. Preserves native timestamps and offer metadata separately, without interpolating missing history.

Returns native daily national-price observations for a verified regional product. `interval` supports `ONE_MONTH` (default), `THREE_MONTHS` and `INFINITE_DAYS`. These are native source windows, not fixed local slices or a promise of a complete lifetime archive.

Each point retains `timestamp`, `price`, merchant ID/name, offer ID and `source_offer_timestamp_epoch`. The daily timestamp includes the original source timezone offset. **The offer timestamp is separate metadata and is not the observation date**; it can repeat across several daily points. Missing dates are not interpolated.

`lowest` and `highest` must match extrema of the returned points. Currency must match the requested region. Reordered or duplicate daily timestamps, mismatched identities and inconsistent extrema fail explicitly. The response is bounded to 10,000 daily points, with no fabricated cursor or silent truncation. `merchants` is native merchant metadata and may include merchants that have no observations in the selected interval.

These are historical price observations, not verified sale transactions or live stock guarantees.

Supply `product_id` or a regional HTTPS `www.klarna.com` shopping product URL. If both are supplied, their IDs must match. The URL region must match `region`; URLs are parsed and never followed. A separate native product lookup confirms identity before fetching insights. A source-confirmed missing product returns 404.

All 13 catalog regions are supported. UK, Swedish and Danish products retain native legacy source paths with null absolute URLs. Source grouping can differ by region. No customer account or personalized data is accessed.

A fresh nonempty result costs **5 credits**. Source-confirmed empty results, failures, cache hits and successful idempotent replays have no net charge. Calls use two anonymous source reads, share Klarna's 20-request/minute ceiling, and have a 25-second total timeout and 2 MiB limit per response.


## OpenAPI

````yaml GET /klarna/product/price-history
openapi: 3.1.0
info:
  title: SocialQuery API
  version: '2026-10-09'
  description: >-
    Documented requests for public-source records. Inspect accepted inputs and
    credit amounts, then verify the selected operation before integrating
    preview coverage.
servers:
  - url: https://socialquery.dev/v1
security:
  - apiKey: []
paths:
  /klarna/product/price-history:
    get:
      tags:
        - Klarna
      summary: Klarna Product Price History
      description: >-
        Native daily national-price history with independent regional product
        identity, source currency and extrema validation. Preserves native
        timestamps and offer metadata separately, without interpolating missing
        history.
      operationId: get_klarna_product_price_history
      parameters:
        - name: product_id
          in: query
          required: false
          example: '3331931731'
          schema:
            type: string
            pattern: ^[1-9][0-9]{0,17}$
          description: >-
            Native positive product ID. Supply this or a matching regional
            Klarna product URL; conflicting inputs fail.
        - name: url
          in: query
          required: false
          schema:
            type: string
          description: >-
            HTTPS www.klarna.com regional shopping product URL. Region must
            match the request, and any supplied product_id must match its ID.
            URLs are parsed, not followed.
        - name: region
          in: query
          required: false
          schema:
            type: string
            enum:
              - usa
              - uk
              - germany
              - sweden
              - france
              - italy
              - spain
              - netherlands
              - austria
              - ireland
              - norway
              - finland
              - denmark
        - name: interval
          in: query
          required: false
          schema:
            type: string
            enum:
              - ONE_MONTH
              - THREE_MONTHS
              - INFINITE_DAYS
            default: ONE_MONTH
          description: >-
            Native daily-history interval. ONE_MONTH is the default;
            THREE_MONTHS and INFINITE_DAYS request the corresponding source
            windows, without inventing earlier history.
        - name: Cache-Control
          in: header
          required: false
          example: no-cache
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          required: false
          example: 7a5e1b4c-2d8f-4a3b-9c1e-6e8b4d2a1f3c
          schema:
            type: string
        - name: X-Max-Credits
          in: header
          required: false
          description: >-
            Optional nonnegative integer cap on the maximum request hold. A live
            request whose hold exceeds this cap returns 422
            CREDIT_BUDGET_EXCEEDED before spending. Metered holds use the
            requested limit; cache hits and successful idempotent replays cost
            zero.
          schema:
            type: integer
            minimum: 0
      responses:
        '200':
          description: >-
            Native daily national-price history with independent regional
            product identity, source currency and extrema validation. Preserves
            native timestamps and offer metadata separately, without
            interpolating missing history.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SocialQueryResponse'
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          product:
                            type: object
                            properties:
                              id:
                                type: string
                              title:
                                type: string
                              source_path:
                                type: string
                              url:
                                type:
                                  - string
                                  - 'null'
                            required:
                              - id
                              - title
                              - source_path
                              - url
                          region:
                            type: string
                          country_code:
                            type: string
                          source:
                            type: string
                          coverage_note:
                            type: string
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                timestamp:
                                  type: string
                                source_offer_timestamp_epoch:
                                  type:
                                    - string
                                    - 'null'
                                price:
                                  type: number
                                  minimum: 0
                                merchant_id:
                                  type: string
                                merchant_name:
                                  type: string
                                offer_id:
                                  type: string
                              required:
                                - timestamp
                                - source_offer_timestamp_epoch
                                - price
                                - merchant_id
                                - merchant_name
                                - offer_id
                          returned_count:
                            type: integer
                            minimum: 0
                          interval:
                            type: string
                            enum:
                              - ONE_MONTH
                              - THREE_MONTHS
                              - INFINITE_DAYS
                          currency:
                            type: string
                          lowest:
                            type:
                              - number
                              - 'null'
                            minimum: 0
                          highest:
                            type:
                              - number
                              - 'null'
                            minimum: 0
                          merchants:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                name:
                                  type: string
                              required:
                                - id
                                - name
                          next_cursor:
                            type: 'null'
                        required:
                          - product
                          - region
                          - country_code
                          - source
                          - coverage_note
                          - items
                          - returned_count
                          - interval
                          - currency
                          - lowest
                          - highest
                          - merchants
                          - next_cursor
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '402':
          $ref: '#/components/responses/Error402'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '405':
          $ref: '#/components/responses/Error405'
        '409':
          $ref: '#/components/responses/Error409'
        '422':
          $ref: '#/components/responses/Error422'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
        '502':
          $ref: '#/components/responses/Error502'
        '503':
          $ref: '#/components/responses/Error503'
        '504':
          $ref: '#/components/responses/Error504'
components:
  schemas:
    SocialQueryResponse:
      type: object
      required:
        - success
        - platform
        - endpoint
        - credits_used
        - credits_remaining
        - request_id
        - cached
        - data
      properties:
        success:
          type: boolean
          const: true
        platform:
          type: string
        endpoint:
          type: string
        credits_used:
          type: integer
          minimum: 0
        credits_remaining:
          type:
            - integer
            - 'null'
        request_id:
          type: string
        cached:
          type: boolean
        data:
          type: object
          additionalProperties: true
          description: >-
            The selected operation determines the resource fields in this
            object. Source data can omit a metric or report it as null.
    SocialQueryError:
      type: object
      required:
        - success
        - platform
        - endpoint
        - credits_used
        - credits_remaining
        - request_id
        - cached
        - error
      properties:
        success:
          type: boolean
          const: false
        platform:
          type: string
        endpoint:
          type: string
        credits_used:
          type: integer
          minimum: 0
        credits_remaining:
          type:
            - integer
            - 'null'
        request_id:
          type: string
        cached:
          type: boolean
        error:
          type: object
          required:
            - code
            - type
            - message
            - status
            - doc_url
          properties:
            code:
              type: string
            type:
              type: string
            message:
              type: string
            status:
              type: integer
            doc_url:
              type: string
              format: uri
  responses:
    Error400:
      description: Upstream rejected the request.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error401:
      description: Missing, expired, invalid, or revoked API key.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error402:
      description: Insufficient SocialQuery credits.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error403:
      description: Key scope or provider policy denied access.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error404:
      description: Endpoint or upstream resource not found.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error405:
      description: HTTP method is not supported.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error409:
      description: Idempotency conflict or request in progress.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error422:
      description: Invalid parameters.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error429:
      description: Request limit reached.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error500:
      description: Request processing failed.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error502:
      description: Upstream service failed.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error503:
      description: Provider or required service is unavailable.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
    Error504:
      description: Upstream service timed out.
      headers:
        X-Request-Id:
          schema:
            type: string
        X-Credits-Used:
          schema:
            type: integer
        X-Credits-Remaining:
          schema:
            type: string
        X-Cache:
          schema:
            type: string
            enum:
              - HIT
              - MISS
              - BYPASS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SocialQueryError'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.