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

# Browse Stories

> Browse impact stories across multiple nonprofits.

Supports semantic search via the `q` parameter and filtering by EINs and power score.



## OpenAPI

````yaml GET /impact/stories
openapi: 3.1.0
info:
  title: Giving Compass Insights
  description: >+

    ## Overview


    The Giving Compass Insights API provides access to nonprofit data, impact
    stories, financial information, and AI-powered search capabilities.


    ## Authentication


    All endpoints require an API key passed via the `X-API-Key` header.


    ```

    X-API-Key: your_api_key_here

    ```



    ## Core Capabilities


    ### Nonprofit Search

    Search and filter nonprofits by location, revenue, expenses, cause areas,
    and Charity Navigator ratings.


    ### Impact Data

    Access AI-extracted impact stories and metrics from nonprofit annual
    reports:

    - **Stories**: Human transformation narratives with emotional hooks, quotes,
    and before/after states

    - **Metrics**: Quantitative measures (people served, meals distributed,
    volunteers, etc.)


    ### Feed Data

    Access and filter nonprofit posts (articles, events, videos, job postings)
    from organizations:

    - **Content Types**: Filter by classification (articles, videos, events,
    podcasts, job postings, volunteer opportunities)

    - **Location Filtering**: Filter posts by nonprofit's city, county, state,
    ZIP code, or geographic radius (lat/lng)

    - **Cause Area Filtering**: Filter by NTEE codes to find posts from
    organizations working in specific cause areas


    ### AI Chat

    Natural language search for nonprofits and content. Example queries:

    - `Find articles about clean water`

    - `Find nonprofits in Chicago with revenue over 100k`

    - `Show nonprofits in TX that help the blind`

    - `Nonprofits that are similar to JDRF`

    - `Nonprofits that focus on SDG 5 with revenue between 1M and 5M`

  version: 1.0.0
servers:
  - url: https://api.givingcompass.org/insights
security: []
tags:
  - name: Insights
    description: >-
      Search nonprofits, retrieve financial data, and access AI-powered chat for
      nonprofit discovery.
  - name: Impact
    description: >-
      Access impact stories and metrics extracted from nonprofit annual reports.
      Stories are human transformation narratives with emotional hooks and
      quotes. Metrics are quantitative measures reported by nonprofits.
  - name: Feed
    description: >-
      Access nonprofit posts and content feeds with advanced filtering by
      location, cause area, and content type. Filter posts by organization
      location (city, county, state, ZIP, lat/lng radius) and NTEE codes
  - name: Beta
    description: Beta endpoints - may change without notice.
paths:
  /impact/stories:
    get:
      tags:
        - Impact
      summary: Browse Stories
      description: >-
        Browse impact stories across multiple nonprofits.


        Supports semantic search via the `q` parameter and filtering by EINs and
        power score.
      operationId: get_all_impact_stories_impact_stories_get
      parameters:
        - name: q
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Search Query
            description: Semantic search query for finding relevant stories
          description: Semantic search query for finding relevant stories
        - name: eins
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                type: array
              - type: 'null'
            title: EINs
            description: Filter by one or more nonprofit EINs
          description: Filter by one or more nonprofit EINs
        - name: min_power_score
          in: query
          required: false
          schema:
            anyOf:
              - type: number
                maximum: 10
                minimum: 0
              - type: 'null'
            title: Minimum Power Score
            description: Minimum power score (0-10)
          description: Minimum power score (0-10)
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            description: Page number
            default: 1
            title: Page
          description: Page number
        - name: size
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            description: Page size
            default: 20
            title: Size
          description: Page size
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PaginatedResponse_InsightsImpactStoryResponse_
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    PaginatedResponse_InsightsImpactStoryResponse_:
      properties:
        items:
          items:
            $ref: '#/components/schemas/InsightsImpactStoryResponse'
          type: array
          title: Items
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        size:
          type: integer
          title: Size
      type: object
      required:
        - items
        - total
        - page
        - size
      title: PaginatedResponse[InsightsImpactStoryResponse]
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    InsightsImpactStoryResponse:
      properties:
        ein:
          type: string
          title: Ein
        organization_name:
          type: string
          title: Organization Name
        story_title:
          type: string
          title: Story Title
        story_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Story Id
        emotional_hook:
          anyOf:
            - type: string
            - type: 'null'
          title: Emotional Hook
        full_quote:
          anyOf:
            - type: string
            - type: 'null'
          title: Full Quote
        quote_attribution:
          anyOf:
            - type: string
            - type: 'null'
          title: Quote Attribution
        protagonist:
          anyOf:
            - type: string
            - type: 'null'
          title: Protagonist
        before_state:
          anyOf:
            - type: string
            - type: 'null'
          title: Before State
        transformation_moment:
          anyOf:
            - type: string
            - type: 'null'
          title: Transformation Moment
        after_state:
          anyOf:
            - type: string
            - type: 'null'
          title: After State
        time_to_impact:
          anyOf:
            - type: string
            - type: 'null'
          title: Time To Impact
        obstacles_overcome:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Obstacles Overcome
        metrics:
          anyOf:
            - items:
                $ref: '#/components/schemas/EmbeddedImpactMetric'
              type: array
            - type: 'null'
          title: Metrics
        ripple_effect:
          anyOf:
            - type: string
            - type: 'null'
          title: Ripple Effect
        call_to_action:
          anyOf:
            - type: string
            - type: 'null'
          title: Call To Action
        story_category:
          anyOf:
            - type: string
            - type: 'null'
          title: Story Category
        identity_alignment:
          anyOf:
            - type: string
            - type: 'null'
          title: Identity Alignment
        date_extracted:
          anyOf:
            - type: string
            - type: 'null'
          title: Date Extracted
        source_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Url
        report_year:
          anyOf:
            - type: integer
            - type: 'null'
          title: Report Year
        power_score:
          anyOf:
            - type: number
            - type: 'null'
          title: Power Score
        confidence_score:
          anyOf:
            - type: number
            - type: 'null'
          title: Confidence Score
      type: object
      required:
        - ein
        - organization_name
        - story_title
      title: InsightsImpactStoryResponse
      description: >-
        Public API response for impact stories (excludes internal fields like
        model_used)
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    EmbeddedImpactMetric:
      properties:
        metric_id:
          type: string
          title: Metric Id
        metric_text:
          type: string
          title: Metric Text
        metric_type:
          type: string
          title: Metric Type
        metric_value:
          type: number
          title: Metric Value
        unit:
          anyOf:
            - type: string
            - type: 'null'
          title: Unit
        geo_impact:
          anyOf:
            - type: string
            - type: 'null'
          title: Geo Impact
        time_aggregation:
          anyOf:
            - type: string
            - type: 'null'
          title: Time Aggregation
      type: object
      required:
        - metric_id
        - metric_text
        - metric_type
        - metric_value
      title: EmbeddedImpactMetric
      description: Minimal metric representation for embedding in impact stories
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      description: Add a header [X-API-Key] with the token
      in: header
      name: X-API-Key

````