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

# List sources

> Get a list of sources (journals, repositories, conferences) with optional filtering, searching, sorting, and pagination.



## OpenAPI

````yaml /api-reference/openapi.json get /sources
openapi: 3.1.0
info:
  title: OpenAlex API
  description: >-
    The OpenAlex API provides access to a comprehensive catalog of scholarly
    works, authors, sources, institutions, topics, keywords, publishers, and
    funders. OpenAlex indexes over 250 million scholarly works.
  version: 1.0.0
  contact:
    name: OpenAlex Support
    email: support@openalex.org
    url: https://openalex.org
  license:
    name: CC0
    url: https://creativecommons.org/publicdomain/zero/1.0/
servers:
  - url: https://api.openalex.org
    description: OpenAlex Production API
security:
  - apiKey: []
tags:
  - name: Works
    description: Scholarly documents like journal articles, books, datasets, and theses
  - name: Authors
    description: People who create scholarly works
  - name: Sources
    description: Journals, repositories, and other venues where works are hosted
  - name: Institutions
    description: Universities, research organizations, and other affiliations
  - name: Topics
    description: Research topics automatically assigned to works
  - name: Keywords
    description: Short phrases identified from works' topics
  - name: Publishers
    description: Companies and organizations that publish scholarly works
  - name: Funders
    description: Organizations that fund research
  - name: Autocomplete
    description: Fast typeahead search for any entity type
  - name: Domains
    description: Top-level categories in the topic hierarchy (4 total)
  - name: Fields
    description: Second-level categories in the topic hierarchy (26 total)
  - name: Subfields
    description: Third-level categories in the topic hierarchy (254 total)
  - name: SDGs
    description: UN Sustainable Development Goals (17 total)
  - name: Countries
    description: Geographic countries for filtering research by location
  - name: Continents
    description: Geographic continents (7 total)
  - name: Languages
    description: Languages of scholarly works
  - name: Awards
    description: Research grants and funding awards
  - name: Concepts
    description: Legacy taxonomy of research areas (deprecated - use Topics instead)
  - name: Work Types
    description: Types of scholarly works (article, book, dataset, etc.)
  - name: Source Types
    description: Types of sources (journal, repository, conference, etc.)
  - name: Institution Types
    description: Types of institutions (education, healthcare, company, etc.)
  - name: Licenses
    description: Open access licenses (CC BY, CC BY-SA, etc.)
paths:
  /sources:
    get:
      tags:
        - Sources
      summary: List sources
      description: >-
        Get a list of sources (journals, repositories, conferences) with
        optional filtering, searching, sorting, and pagination.
      operationId: listSources
      parameters:
        - name: filter
          in: query
          description: >-
            Filter sources. Examples: `is_oa:true`, `is_in_doaj:true`,
            `type:journal`, `country_code:US`, `host_organization:P4310320595`
            See [all Source
            fields](/api-reference/sources#available-filter-sort-and-group_by-fields).
          schema:
            type: string
        - name: sort
          in: query
          description: >-
            Sort by: `works_count`, `cited_by_count`, `summary_stats.h_index`.
            Prefix with `-` for descending. See [all Source
            fields](/api-reference/sources#available-filter-sort-and-group_by-fields).
          schema:
            type: string
        - name: group_by
          in: query
          description: >-
            Group by: `type`, `country_code`, `is_oa`, `is_in_doaj` See [all
            Source
            fields](/api-reference/sources#available-filter-sort-and-group_by-fields).
          schema:
            type: string
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/per_page'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/cursor'
        - $ref: '#/components/parameters/sample'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/api_key'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourcesListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  parameters:
    search:
      name: search
      in: query
      description: >-
        Full-text search across titles, abstracts, and other text fields.
        Example: `search=machine learning`
      schema:
        type: string
    per_page:
      name: per_page
      in: query
      description: Number of results per page (1-100, default 25)
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    page:
      name: page
      in: query
      description: >-
        Page number for pagination. Use cursor for deep pagination beyond 10,000
        results.
      schema:
        type: integer
        minimum: 1
    cursor:
      name: cursor
      in: query
      description: >-
        Cursor for deep pagination. Use `cursor=*` to start, then use the
        `next_cursor` from the response.
      schema:
        type: string
    sample:
      name: sample
      in: query
      description: >-
        Return a random sample of N results (max 10,000). Cannot be used with
        sort or page.
      schema:
        type: integer
        maximum: 10000
    select:
      name: select
      in: query
      description: >-
        Comma-separated list of fields to return. Reduces response size.
        Example: `select=id,display_name,cited_by_count`
      schema:
        type: string
    api_key:
      name: api_key
      in: query
      description: >-
        Your OpenAlex API key (required). Get a free key at
        https://openalex.org/settings/api
      required: true
      schema:
        type: string
  schemas:
    SourcesListResponse:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/Meta'
        results:
          type: array
          items:
            $ref: '#/components/schemas/Source'
        group_by:
          type: array
          items:
            $ref: '#/components/schemas/GroupByResult'
    Meta:
      type: object
      description: Metadata about the query results
      properties:
        count:
          type: integer
          description: Total number of results matching the query
        db_response_time_ms:
          type: integer
          description: Database response time in milliseconds
        page:
          type: integer
          description: Current page number
        per_page:
          type: integer
          description: Number of results per page
        next_cursor:
          type: string
          description: Cursor for the next page (when using cursor pagination)
        groups_count:
          type: integer
          nullable: true
          description: Number of groups when using group_by
        cost_usd:
          type: number
          description: Cost of this request in USD
    Source:
      type: object
      description: A journal, repository, or other venue for scholarly works
      properties:
        id:
          type: string
          description: The OpenAlex ID for this source.
          example: https://openalex.org/S1983995261
        issn_l:
          type: string
          nullable: true
          description: >-
            The ISSN-L (linking ISSN) for this source. This is the Canonical
            External ID for sources.
        issn:
          type: array
          items:
            type: string
          nullable: true
          description: >-
            All ISSNs used by this source. Many publications have multiple
            ISSNs.
        display_name:
          type: string
          description: The name of the source.
        type:
          type: string
          enum:
            - journal
            - repository
            - conference
            - ebook platform
            - book series
          description: >-
            The type of source: `journal`, `repository`, `conference`, `ebook
            platform`, `book series`, `metadata`, or `other`.
        host_organization:
          type: string
          nullable: true
          description: >-
            The host organization as an OpenAlex ID. This will be an Institution
            ID if the source is a repository, or a Publisher ID if it's a
            journal/conference.
        host_organization_name:
          type: string
          nullable: true
          description: The display_name of the host organization.
        host_organization_lineage:
          type: array
          items:
            type: string
          description: >-
            OpenAlex IDs of parent publishers (only for publisher-hosted
            sources).
        is_oa:
          type: boolean
          description: Whether this is currently a fully open-access source.
        is_in_doaj:
          type: boolean
          description: >-
            Whether this journal is listed in the Directory of Open Access
            Journals.
        works_count:
          type: integer
          description: The number of works this source hosts.
        cited_by_count:
          type: integer
          description: Total citations to works hosted in this source.
        summary_stats:
          type: object
          properties:
            2yr_mean_citedness:
              type: number
            h_index:
              type: integer
            i10_index:
              type: integer
          description: 'Citation metrics:'
        apc_usd:
          type: integer
          nullable: true
          description: The source's article processing charge in USD.
        homepage_url:
          type: string
          nullable: true
          description: The homepage URL for this source.
        ids:
          type: object
          properties:
            openalex:
              type: string
            issn_l:
              type: string
            issn:
              type: array
              items:
                type: string
            mag:
              type: integer
            wikidata:
              type: string
            fatcat:
              type: string
          description: 'External identifiers:'
        counts_by_year:
          type: array
          items:
            type: object
            properties:
              year:
                type: integer
              works_count:
                type: integer
              cited_by_count:
                type: integer
          description: '`works_count` and `cited_by_count` for each of the last ten years.'
        works_api_url:
          type: string
          description: A URL that will get you a list of all this source's works.
        created_date:
          type: string
          format: date
          description: When this source was added to OpenAlex (ISO 8601 date).
        updated_date:
          type: string
          format: date-time
          description: When this source was last updated (ISO 8601 datetime).
    GroupByResult:
      type: object
      properties:
        key:
          type: string
          description: The group key value
        key_display_name:
          type: string
          description: Human-readable name for the key
        count:
          type: integer
          description: Number of results in this group
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error type
        message:
          type: string
          description: Human-readable error message
  responses:
    BadRequest:
      description: Bad request - invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: api_key
      description: >-
        Your OpenAlex API key. Get a free key at
        https://openalex.org/settings/api

````