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

# Read a social research result

> Read normalized output, delivery status, and total charges for an existing social research request. Follow the result_url returned by the call.

Use `result_url` unchanged on the API origin and authenticate with a Key permitted to read every Run. The response uses the same fields as the initial Solution response. HTTP 200 can still carry `result_status: pending` while an Apify route runs; keep polling until `status` is terminal. This read creates no Runs, calls no Providers and does not resume fallback.


## OpenAPI

````yaml /openapi.json get /v1/solutions/gtm/social_research/result
openapi: 3.1.0
info:
  title: Glasser
  version: 0.0.1
  description: >-
    One key, no contract, pay per call, across paid APIs bought wholesale. Every
    response carries x-request-id; every error body carries the same envelope.
servers:
  - url: https://api.glasser.ai
security: []
tags:
  - name: Solutions
  - name: Endpoints
  - name: Runs
  - name: Balance
paths:
  /v1/solutions/gtm/social_research/result:
    get:
      tags:
        - Solutions
      summary: Read a social research result
      description: >-
        Follow result_url from a social research call to read normalized output,
        business result_status and the total charge of the same Runs. HTTP 200
        may still contain result_status=pending. This authenticated read creates
        no Runs, calls no Providers and does not resume fallback. GET
        /v1/runs/:id remains the native individual Run. The result context is
        signed, bound to the Workspace and checked against the current Key
        policy for every Run.
      operationId: gtm-social-research-result
      parameters:
        - name: token
          in: query
          schema:
            type: string
            minLength: 1
            maxLength: 16384
            description: >-
              Opaque result context returned in result_url. Keep it unchanged
              and authenticate with a Key permitted to read every listed Run.
          required: true
      responses:
        '200':
          description: SocialResearchResult
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SocialResearchResult'
        '400':
          description: ValidationFailed
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ValidationFailedEncoded'
                  - $ref: '#/components/schemas/ValidationFailedEncoded'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedEncoded'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenEncoded'
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundEncoded'
        '429':
          description: RateLimited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedEncoded'
      security:
        - bearer: []
components:
  schemas:
    SocialResearchResult:
      type: object
      properties:
        id:
          type: string
        run_url:
          type: string
          description: Open this Run in the console. Requires Workspace membership.
        provider:
          type: string
          pattern: ^[a-z0-9][a-z0-9-]*$
        endpoint:
          type: string
          pattern: ^\/.+$
        endpoint_version:
          type: integer
          exclusiveMinimum: 0
        status:
          type: string
          enum:
            - QUEUED
            - RUNNING
            - COMPLETED
            - FAILED
            - STOPPED
          description: >-
            QUEUED or RUNNING: still in progress. COMPLETED: a Provider response
            is available, including non-2xx responses. FAILED: read failure.
            STOPPED: stopped before dispatch. Read charge_usd separately from
            status.
        failure:
          anyOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - TIMED_OUT
                    - INTERNAL
                message:
                  type: string
              required:
                - kind
                - message
              additionalProperties: false
            - type: 'null'
          description: Why the Run failed. Non-null only when status is FAILED.
        input:
          type: object
        output:
          anyOf:
            - anyOf:
                - type: object
                  properties:
                    platform:
                      anyOf:
                        - type: string
                        - type: 'null'
                    handle:
                      anyOf:
                        - type: string
                        - type: 'null'
                    name:
                      anyOf:
                        - type: string
                        - type: 'null'
                    url:
                      anyOf:
                        - type: string
                        - type: 'null'
                    bio:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: 'Free-text description (LinkedIn: the About section).'
                    headline:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        LinkedIn person headline (job title line); null on other
                        platforms.
                    website:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The account's own website: LinkedIn company website, X
                        profile link (expanded, never t.co); null elsewhere.
                    followers:
                      anyOf:
                        - type: integer
                        - type: 'null'
                      description: >-
                        Followers; Reddit: subreddit subscribers; YouTube:
                        subscribers.
                    following:
                      anyOf:
                        - type: integer
                        - type: 'null'
                      description: >-
                        Accounts this account follows. Null on Reddit, YouTube
                        and LinkedIn.
                    posts:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    verified:
                      anyOf:
                        - type: boolean
                        - type: 'null'
                  required:
                    - platform
                    - handle
                    - name
                    - url
                    - bio
                    - headline
                    - website
                    - followers
                    - following
                    - posts
                    - verified
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            anyOf:
                              - type: string
                              - type: 'null'
                            description: >-
                              The platform's post id. LinkedIn: the bare
                              activity id (no urn:li:activity: prefix).
                          url:
                            anyOf:
                              - type: string
                              - type: 'null'
                          title:
                            anyOf:
                              - type: string
                              - type: 'null'
                            description: Reddit and YouTube title; null on other platforms.
                          text:
                            anyOf:
                              - type: string
                              - type: 'null'
                            description: >-
                              The post body: Reddit self-text, YouTube
                              description, the tweet, caption or post text. Null
                              when the Provider returns no body (a Reddit link
                              post, a YouTube search result).
                          author:
                            anyOf:
                              - type: string
                              - type: 'null'
                            description: >-
                              Display name, or the handle where the platform
                              shows no other name (X, TikTok, Instagram,
                              Reddit).
                          author_url:
                            anyOf:
                              - type: string
                              - type: 'null'
                          published_at:
                            anyOf:
                              - type: string
                              - type: 'null'
                            description: >-
                              ISO 8601 UTC publish time; null when the Provider
                              gives no exact time.
                          likes:
                            anyOf:
                              - type: integer
                              - type: 'null'
                            description: >-
                              Reddit: net score (upvotes minus downvotes, can be
                              negative). X: favorites. TikTok: diggs. Others:
                              likes or reactions.
                          comments:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          shares:
                            anyOf:
                              - type: integer
                              - type: 'null'
                            description: >-
                              X: retweets. TikTok: share count (share-sheet
                              sends, not reposts). LinkedIn: reposts. Null on
                              Reddit, YouTube and Instagram.
                          views:
                            anyOf:
                              - type: integer
                              - type: 'null'
                            description: >-
                              X: impressions. TikTok: plays. YouTube: views.
                              Instagram: video views. Null on Reddit and
                              LinkedIn.
                        required:
                          - id
                          - url
                          - title
                          - text
                          - author
                          - author_url
                          - published_at
                          - likes
                          - comments
                          - shares
                          - views
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    id:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The platform's post id. LinkedIn: the bare activity id
                        (no urn:li:activity: prefix).
                    url:
                      anyOf:
                        - type: string
                        - type: 'null'
                    title:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: Reddit and YouTube title; null on other platforms.
                    text:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The post body: Reddit self-text, YouTube description,
                        the tweet, caption or post text. Null when the Provider
                        returns no body (a Reddit link post, a YouTube search
                        result).
                    author:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        Display name, or the handle where the platform shows no
                        other name (X, TikTok, Instagram, Reddit).
                    author_url:
                      anyOf:
                        - type: string
                        - type: 'null'
                    published_at:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        ISO 8601 UTC publish time; null when the Provider gives
                        no exact time.
                    likes:
                      anyOf:
                        - type: integer
                        - type: 'null'
                      description: >-
                        Reddit: net score (upvotes minus downvotes, can be
                        negative). X: favorites. TikTok: diggs. Others: likes or
                        reactions.
                    comments:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    shares:
                      anyOf:
                        - type: integer
                        - type: 'null'
                      description: >-
                        X: retweets. TikTok: share count (share-sheet sends, not
                        reposts). LinkedIn: reposts. Null on Reddit, YouTube and
                        Instagram.
                    views:
                      anyOf:
                        - type: integer
                        - type: 'null'
                      description: >-
                        X: impressions. TikTok: plays. YouTube: views.
                        Instagram: video views. Null on Reddit and LinkedIn.
                  required:
                    - id
                    - url
                    - title
                    - text
                    - author
                    - author_url
                    - published_at
                    - likes
                    - comments
                    - shares
                    - views
                  additionalProperties: false
                - type: object
                  properties:
                    profiles:
                      type: array
                      items:
                        type: object
                        properties:
                          platform:
                            anyOf:
                              - type: string
                              - type: 'null'
                            description: >-
                              Lower-case network name. The six social_research
                              platforms use their request names (twitter is x);
                              other networks (facebook, github, …) pass through.
                          url:
                            anyOf:
                              - type: string
                              - type: 'null'
                          handle:
                            anyOf:
                              - type: string
                              - type: 'null'
                            description: >-
                              The username on that network, usable as
                              social_research `handle`; null when the Provider
                              has none.
                          scrapecreators_confidence:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                            description: >-
                              ScrapeCreators' 0–1 confidence that this profile
                              belongs to the account. Null on other Providers.
                          followers:
                            anyOf:
                              - type: integer
                              - type: 'null'
                            description: >-
                              reddit.find: subreddit subscribers. Null on other
                              platforms.
                        required:
                          - platform
                          - url
                          - handle
                          - scrapecreators_confidence
                          - followers
                        additionalProperties: false
                    pdl_likelihood:
                      anyOf:
                        - type: integer
                        - type: 'null'
                      description: >-
                        People Data Labs' 1–10 score for how well the person
                        record matches the input; it covers the whole person,
                        not one profile. linkedin.find only; null elsewhere.
                  required:
                    - profiles
                    - pdl_likelihood
                  additionalProperties: false
            - type: 'null'
          description: >-
            Normalized fields per mode, shared by every platform. The Provider's
            native output is not repeated here; it stays on the Run (GET
            /v1/runs/:id). Values a platform or Provider does not report are
            null.


            - profile: platform, handle, name, url, bio, headline, website,
            followers, following, posts, verified

            - search: items[]: id, url, title, text, author, author_url,
            published_at, likes, comments, shares, views

            - feed: items[]: same post fields as search

            - post: id, url, title, text, author, author_url, published_at,
            likes, comments, shares, views

            - find: profiles[]: platform, url, handle,
            scrapecreators_confidence, followers (Reddit: matching subreddits);
            pdl_likelihood
        provider_response:
          anyOf:
            - type: object
              properties:
                http_status:
                  type: integer
                  minimum: 100
                  maximum: 599
                  description: >-
                    HTTP status returned by the Provider. Check this even when
                    the Run is COMPLETED.
                error:
                  anyOf:
                    - {}
                    - type: 'null'
              required:
                - http_status
              additionalProperties: false
            - type: 'null'
          description: >-
            Non-null only when status is COMPLETED.


            - For 2xx responses, output contains Provider-native JSON (any
            shape), or null for an empty body.

            - For non-2xx responses, error contains the Provider's error body
            and output is null.


            Sensitive fields are removed from both bodies.
        charge_usd:
          anyOf:
            - type: string
              pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
              description: >-
                Exact USD decimal string (min 2, max 6 decimals, one canonical
                spelling). Sum with decimal arithmetic or scale by 10^6 — never
                floats.
            - type: 'null'
          description: >-
            Total charge of runs in this Solution response. Null until all
            listed Runs settle. Each Run retains its own charge; failures can
            also be charged.
        charge_basis:
          anyOf:
            - type: object
              properties:
                clause:
                  type: string
                  enum:
                    - rule
                    - NO_RESULT
                    - PROVIDER_ERROR
                    - TIMED_OUT
                    - INTERNAL
                quantity:
                  anyOf:
                    - type: integer
                      minimum: 0
                    - type: 'null'
              required:
                - clause
                - quantity
              additionalProperties: false
            - type: 'null'
          description: >-
            Single-Run charge basis, or null for a multi-Run total. Read
            runs[].charge_basis for each charge.
        stoppable:
          type: boolean
          description: >-
            Whether a stop request can currently be accepted. This does not
            guarantee that the Run can stop before dispatch.
        stop_requested_at:
          anyOf:
            - type: string
              description: ISO-8601 UTC timestamp
              format: date-time
            - type: 'null'
          description: >-
            When a stop was requested. The Run can still continue if dispatch
            had already started.
        created_at:
          type: string
          description: ISO-8601 UTC timestamp
          format: date-time
        started_at:
          anyOf:
            - type: string
              description: ISO-8601 UTC timestamp
              format: date-time
            - type: 'null'
        completed_at:
          anyOf:
            - type: string
              description: ISO-8601 UTC timestamp
              format: date-time
            - type: 'null'
        task_id:
          anyOf:
            - type: string
            - type: 'null'
        metadata:
          type: object
          additionalProperties:
            type: string
            minLength: 1
            maxLength: 500
          maxProperties: 20
          propertyNames:
            type: string
            pattern: ^[a-z][a-z0-9_]{0,39}$
          description: >-
            Your stored tracking fields. Use them to filter Runs. They never go
            to the Provider or affect routing, Price, or idempotency.


            - Up to 20 keys: lowercase letters, digits, and underscores; start
            with a letter; at most 40 characters.

            - Values: strings of 1–500 characters.

            - user_id: your End user's opaque ID, never their email address or
            name.
        action:
          type: string
          pattern: ^[a-z]+\.[a-z]+$
          description: >-
            `<platform>.<mode>`; a LinkedIn company page in profile mode is
            linkedin.company.
        result_status:
          type: string
          enum:
            - success
            - no_result
            - error
            - pending
          description: >-
            Business delivery status, independent of the final Run lifecycle in
            status. no_result is an empty but valid answer; error means the
            Provider output could not be delivered.
        error:
          anyOf:
            - type: object
              properties:
                code:
                  type: string
                message:
                  type: string
              required:
                - code
                - message
              additionalProperties: false
            - type: 'null'
        runs:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              run_url:
                type: string
                description: Open this Run in the console. Requires Workspace membership.
              provider:
                type: string
                pattern: ^[a-z0-9][a-z0-9-]*$
              endpoint:
                type: string
                pattern: ^\/.+$
              endpoint_version:
                type: integer
                exclusiveMinimum: 0
              status:
                type: string
                enum:
                  - QUEUED
                  - RUNNING
                  - COMPLETED
                  - FAILED
                  - STOPPED
                description: >-
                  QUEUED or RUNNING: still in progress. COMPLETED: a Provider
                  response is available, including non-2xx responses. FAILED:
                  read failure. STOPPED: stopped before dispatch. Read
                  charge_usd separately from status.
              failure:
                anyOf:
                  - type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - TIMED_OUT
                          - INTERNAL
                      message:
                        type: string
                    required:
                      - kind
                      - message
                    additionalProperties: false
                  - type: 'null'
                description: Why the Run failed. Non-null only when status is FAILED.
              input:
                type: object
                properties:
                  omitted:
                    type: boolean
                    enum:
                      - true
                required:
                  - omitted
                additionalProperties: false
              output:
                type: object
                properties:
                  omitted:
                    type: boolean
                    enum:
                      - true
                required:
                  - omitted
                additionalProperties: false
              provider_response:
                anyOf:
                  - type: object
                    properties:
                      http_status:
                        type: integer
                        minimum: 100
                        maximum: 599
                        description: >-
                          HTTP status returned by the Provider. Check this even
                          when the Run is COMPLETED.
                    required:
                      - http_status
                    additionalProperties: false
                  - type: 'null'
              charge_usd:
                anyOf:
                  - type: string
                    pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                    description: >-
                      Exact USD decimal string (min 2, max 6 decimals, one
                      canonical spelling). Sum with decimal arithmetic or scale
                      by 10^6 — never floats.
                  - type: 'null'
                description: >-
                  Final charge as an exact USD decimal string. Null while QUEUED
                  or RUNNING. A FAILED Run can have a non-zero charge under the
                  Endpoint's Price.
              charge_basis:
                anyOf:
                  - type: object
                    properties:
                      clause:
                        type: string
                        enum:
                          - rule
                          - NO_RESULT
                          - PROVIDER_ERROR
                          - TIMED_OUT
                          - INTERNAL
                      quantity:
                        anyOf:
                          - type: integer
                            minimum: 0
                          - type: 'null'
                    required:
                      - clause
                      - quantity
                    additionalProperties: false
                  - type: 'null'
                description: >-
                  Price clause used to calculate the charge. Null before
                  settlement or when no Provider attempt was made.
              stoppable:
                type: boolean
                description: >-
                  Whether a stop request can currently be accepted. This does
                  not guarantee that the Run can stop before dispatch.
              stop_requested_at:
                anyOf:
                  - type: string
                    description: ISO-8601 UTC timestamp
                    format: date-time
                  - type: 'null'
                description: >-
                  When a stop was requested. The Run can still continue if
                  dispatch had already started.
              created_at:
                type: string
                description: ISO-8601 UTC timestamp
                format: date-time
              started_at:
                anyOf:
                  - type: string
                    description: ISO-8601 UTC timestamp
                    format: date-time
                  - type: 'null'
              completed_at:
                anyOf:
                  - type: string
                    description: ISO-8601 UTC timestamp
                    format: date-time
                  - type: 'null'
              task_id:
                anyOf:
                  - type: string
                  - type: 'null'
              metadata:
                type: object
                additionalProperties:
                  type: string
                  minLength: 1
                  maxLength: 500
                maxProperties: 20
                propertyNames:
                  type: string
                  pattern: ^[a-z][a-z0-9_]{0,39}$
                description: >-
                  Your stored tracking fields. Use them to filter Runs. They
                  never go to the Provider or affect routing, Price, or
                  idempotency.


                  - Up to 20 keys: lowercase letters, digits, and underscores;
                  start with a letter; at most 40 characters.

                  - Values: strings of 1–500 characters.

                  - user_id: your End user's opaque ID, never their email
                  address or name.
            required:
              - id
              - run_url
              - provider
              - endpoint
              - endpoint_version
              - status
              - failure
              - input
              - output
              - provider_response
              - charge_usd
              - charge_basis
              - stoppable
              - stop_requested_at
              - created_at
              - started_at
              - completed_at
              - task_id
              - metadata
            additionalProperties: false
        result_url:
          type: string
          description: >-
            Authenticated, read-only URL path for polling this normalized result
            and total charge. Use with the API origin. Does not create Runs or
            resume fallback. GET /v1/runs/:id still returns the native,
            individual Run.
      required:
        - id
        - run_url
        - provider
        - endpoint
        - endpoint_version
        - status
        - failure
        - input
        - output
        - provider_response
        - charge_usd
        - charge_basis
        - stoppable
        - stop_requested_at
        - created_at
        - started_at
        - completed_at
        - task_id
        - metadata
        - action
        - result_status
        - error
        - runs
        - result_url
      additionalProperties: false
    ValidationFailedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - validation_failed
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    UnauthorizedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - unauthorized
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    ForbiddenEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - forbidden
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    NotFoundEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - not_found
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    RateLimitedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - rate_limited
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
  securitySchemes:
    bearer:
      type: http
      scheme: Bearer

````

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