> ## 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 Professional Reviews

> Native regional review pages with independently verified product identity, stream/section-aware cursors and day-precision filtering. Preserves source order and metadata; no complete-corpus or AI-enrichment claim.

Returns a native review page for an independently verified regional product. Supply `product_id`, a matching regional product URL, or a continuation cursor. URLs are parsed and never followed. Missing products return 404. All 13 catalog regions are supported.

Uses only the native `PRO` stream. It does not mix consumer reviews into professional results.

Each `items[].review` retains date, language, country, publisher, score and native scale, excerpt, author/display name, product label, title, pros/cons and source URL when supplied. A native score/scale of `0/0` denotes an unrated review and is returned as null/null, not zero stars. Reviews can include other countries and variants grouped by the source. Display names do not establish verified-purchase status. `source_record_key` is an internal content hash, not a platform-issued review ID. Links are metadata only and are never followed.

`limit` is 1–50, default 25. The source can return fewer rows while still offering more. It orders by its own relevance rules, not chronologically, and can switch sections while resetting its batch number. **Use `next_cursor` to retain both section and stream.** Direct `nextBatchId` addresses only the initial priority section and is not a global offset. The response exposes native stream/section/batch metadata separately. `total` remains null; native overview totals are not a guarantee that this paged source exposes every review.

Cursors bind the product, region, limit and filters for one hour. The adapter re-reads the preceding page to check its content and continuation, and rejects adjacent duplicates or changed windows. Restart from the first page if the source changes. After 200 pages, `pagination_capped: true` explicitly indicates the local ceiling; no cursor is fabricated beyond that ceiling.

`since` and `until` are inclusive valid `YYYY-MM-DD` filters because native dates have day precision. They filter each fetched page, excluding undated rows when filtering. `source_returned_count` and `filtered_out` retain the candidate counts. An empty filtered page can still have a next cursor. Date ordering is not assumed, so filtering never stops the source traversal early.

AI labels, reports, judgments, dry-run analysis and fit enrichment remain unavailable and fail explicitly. `label=none` and `judgments=off` are accepted.

A fresh nonempty page costs **5 credits**. Empty pages, failures, cache hits and successful idempotent replays cost zero. Use `X-Max-Credits: 5`. Each call performs two anonymous source reads, or three with a cursor anchor. A shared 20-source-request/minute ceiling, 25-second total timeout and 2 MiB limit per response apply. No customer account or personalized review data is accessed.


## OpenAPI

````yaml GET /klarna/reviews/pro
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/reviews/pro:
    get:
      tags:
        - Klarna
      summary: Klarna Reviews Pro
      description: >-
        Native regional review pages with independently verified product
        identity, stream/section-aware cursors and day-precision filtering.
        Preserves source order and metadata; no complete-corpus or AI-enrichment
        claim.
      operationId: get_klarna_reviews_pro
      parameters:
        - name: product_id
          in: query
          required: false
          example: '3331931731'
          schema:
            type: string
            pattern: ^[1-9][0-9]{0,17}$
          description: >-
            Positive native product ID. Supply this, a matching regional URL, or
            a cursor retaining the product identity.
        - name: url
          in: query
          required: false
          schema:
            type: string
          description: >-
            Matching HTTPS www.klarna.com regional shopping product URL. Parsed
            only; never 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: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 25
          description: >-
            Requested native page size; the source can return fewer records
            while still offering continuation.
        - name: nextBatchId
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            maximum: 100000
          description: >-
            Legacy direct batch number in the initial priority section only.
            Prefer cursor: native section transitions can reset this number.
        - name: label
          in: query
          required: false
          schema:
            type: string
          description: Enrichment is unavailable. Only label=none is accepted.
        - name: reports
          in: query
          required: false
          schema:
            type: string
          description: >-
            Not implemented by this review adapter; requests specifying this
            option fail explicitly.
        - name: judgments
          in: query
          required: false
          schema:
            type: string
            enum:
              - 'on'
              - 'off'
          description: Enrichment is unavailable. Only judgments=off is accepted.
        - name: dry_run
          in: query
          required: false
          schema:
            type: string
            enum:
              - '1'
          description: >-
            Not implemented by this review adapter; requests specifying this
            option fail explicitly.
        - name: label_evidence
          in: query
          required: false
          schema:
            type: string
            enum:
              - '1'
          description: >-
            Not implemented by this review adapter; requests specifying this
            option fail explicitly.
        - name: fit
          in: query
          required: false
          schema:
            type: string
            enum:
              - goal
          description: >-
            Not implemented by this review adapter; requests specifying this
            option fail explicitly.
        - name: goal
          in: query
          required: false
          schema:
            type: string
          description: >-
            Not implemented by this review adapter; requests specifying this
            option fail explicitly.
        - name: fit_tokens
          in: query
          required: false
          schema:
            type: integer
          description: >-
            Not implemented by this review adapter; requests specifying this
            option fail explicitly.
        - name: since
          in: query
          required: false
          schema:
            type: string
            pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
          description: >-
            Inclusive YYYY-MM-DD filter applied to each fetched native page.
            Undated rows are excluded with date filters. Empty filtered pages
            can still have a cursor and cost zero.
        - name: until
          in: query
          required: false
          schema:
            type: string
            pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
          description: >-
            Inclusive YYYY-MM-DD filter applied to each fetched native page.
            Undated rows are excluded with date filters. Empty filtered pages
            can still have a cursor and cost zero.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: >-
            Opaque one-hour cursor binding product, region, page size, date
            filters, source stream and section. Revalidates the preceding source
            page. Stops after 200 pages and marks pagination_capped.
        - 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 regional review pages with independently verified product
            identity, stream/section-aware cursors and day-precision filtering.
            Preserves source order and metadata; no complete-corpus or
            AI-enrichment claim.
          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
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                review:
                                  type: object
                                  properties:
                                    date:
                                      type:
                                        - string
                                        - 'null'
                                    language:
                                      type:
                                        - string
                                        - 'null'
                                    country_code:
                                      type:
                                        - string
                                        - 'null'
                                    source:
                                      type:
                                        - string
                                        - 'null'
                                    domain:
                                      type:
                                        - string
                                        - 'null'
                                    excerpt:
                                      type:
                                        - string
                                        - 'null'
                                    author:
                                      type:
                                        - string
                                        - 'null'
                                    product_name:
                                      type:
                                        - string
                                        - 'null'
                                    native_type:
                                      type:
                                        - string
                                        - 'null'
                                    title:
                                      type:
                                        - string
                                        - 'null'
                                    pros:
                                      type:
                                        - string
                                        - 'null'
                                    cons:
                                      type:
                                        - string
                                        - 'null'
                                    source_url:
                                      type:
                                        - string
                                        - 'null'
                                    score:
                                      type:
                                        - number
                                        - 'null'
                                      minimum: 0
                                    score_max:
                                      type:
                                        - number
                                        - 'null'
                                      minimum: 0
                                    source_record_key:
                                      type: string
                                    author_display_name:
                                      type:
                                        - string
                                        - 'null'
                                  required:
                                    - date
                                    - language
                                    - country_code
                                    - source
                                    - domain
                                    - excerpt
                                    - author
                                    - product_name
                                    - native_type
                                    - title
                                    - pros
                                    - cons
                                    - source_url
                                    - score
                                    - score_max
                                    - source_record_key
                                    - author_display_name
                              required:
                                - review
                          returned_count:
                            type: integer
                            minimum: 0
                          source_returned_count:
                            type: integer
                            minimum: 0
                          filtered_out:
                            type: integer
                            minimum: 0
                          total:
                            type: 'null'
                          limit:
                            type: integer
                            minimum: 1
                            maximum: 50
                          region:
                            type: string
                          country_code:
                            type: string
                          review_stream:
                            type: string
                            enum:
                              - USER
                              - CUSTOMER
                              - PRO
                          source_section:
                            type:
                              - string
                              - 'null'
                          source_batch_id:
                            type:
                              - integer
                              - 'null'
                            minimum: 0
                          next_batch_id:
                            type:
                              - integer
                              - 'null'
                            minimum: 0
                          next_source_section:
                            type:
                              - string
                              - 'null'
                          next_review_stream:
                            type:
                              - string
                              - 'null'
                            enum:
                              - USER
                              - CUSTOMER
                              - PRO
                              - null
                          native_has_next:
                            type: boolean
                          next_cursor:
                            type:
                              - string
                              - 'null'
                          pagination_capped:
                            type: boolean
                          source:
                            type: string
                          coverage_note:
                            type: string
                        required:
                          - product
                          - items
                          - returned_count
                          - source_returned_count
                          - filtered_out
                          - total
                          - limit
                          - region
                          - country_code
                          - review_stream
                          - source_section
                          - source_batch_id
                          - next_batch_id
                          - next_source_section
                          - next_review_stream
                          - native_has_next
                          - next_cursor
                          - pagination_capped
                          - source
                          - coverage_note
        '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.