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

> ## Agent Instructions
> - Base URLs: models `https://api.aisa.one/v1` (Gemini GenerateContent: `https://api.aisa.one/v1beta`); data APIs `https://api.aisa.one/apis/v1`. The `servers` of each operation in https://aisa.one/openapi.yaml is authoritative.
> - Auth: `Authorization: Bearer $AISA_API_KEY`. Never print, log, or commit the key.
> - MCP (preferred for agents): `https://mcp.aisa.one/mcp`, signed in with OAuth, so there is no key to paste.
> - Agent Skill: `npx skills add AIsa-team/agent-skills --skill aisa`. Fallback with the AIsa CLI: `aisa skills install aisa`.
> - Spending: docs, https://aisa.one/models, https://aisa.one/api, `/v1/models`, and MCP `search`, `list_categories`, `get_details`, `batch_quote`, and the `account` operation are free. Quote the exact calls before running them (MCP `batch_quote`, CLI `aisa quote --json`). If the quote reports `auto_execute_eligible: true`, run it unless the user set a tighter limit or asked only for a quote. Otherwise, tell the user in one message the planned calls, the quoted price, and a total USD budget for the task, then wait for approval. Direct HTTP calls follow the stricter rule at https://aisa.one/docs/get-started/cli.md#direct-http-fallback. Do not make paid calls to test availability. Full rule: https://aisa.one/llms.txt

# Search Episode Titles

> <!-- aisa-pricing:start -->
Usage-based billing; Default request estimate: $0.0403 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.
<!-- aisa-pricing:end -->

## Request contract

* **Method and path:** POST /apis/v1/listennotes/find-episodes-by-title
* **Availability:** enabled
* **Request URL template:** `https://api.aisa.one/apis/v1/listennotes/find-episodes-by-title`
* **Runtime facts:** 3f699076c1baf63c05edde2629715e34586e70ee0982cdee89366394f35facf8

[Complete OpenAPI definition](https://aisa.one/docs/reference-contracts/listennotes.json)

Effective request and pricing declaration (including authentication and referenced schemas):

```json theme={null}
{
  "operationId": "listennotes.find-episodes-by-title",
  "method": "POST",
  "path": "/apis/v1/listennotes/find-episodes-by-title",
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "parameters": [],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "q"
          ],
          "properties": {
            "q": {
              "type": "string",
              "description": "An episode\"s title, e.g., Jerusalem Demsas on The Dispossessed. You can use double quotes to do verbatim match, e.g., \"Jerusalem Demsas on The Dispossessed\". Otherwise, it\"s fuzzy search.  "
            },
            "podcast_id": {
              "type": "string",
              "description": "Refine search results by specifying a podcast through its unique ID. The format of the podcast ID is governed by the podcast_id_type parameter.  For listennotes_id, the podcast ID will look like \"cda18f20f1be4ac7b3cce7d0eb168fff\".  For itunes_id, it will be a numerical value like \"983795625\".  For spotify_id, expect a format like \"0Z1234tGXD2hVhjFrrhJ7g\".  For rss, the podcast ID will be the RSS URL, e.g., \"https://cowenconvos.libsyn.com/rss\".  "
            },
            "podcast_id_type": {
              "enum": [
                "itunes_id",
                "listennotes_id",
                "rss",
                "spotify_id"
              ],
              "type": "string",
              "default": "listennotes_id",
              "description": "The type of podcast id. Valid values are **listennotes_id**, **itunes_id**, **spotify_id**, and **rss**. Note: **itunes_id** is for Apple Podcasts.  "
            }
          }
        }
      }
    }
  },
  "x-aisa-status": "enabled",
  "x-aisa-pricing": {
    "cost_contract": "response_units",
    "customer_multiplier": 1.0,
    "customer_pricing": "provider_cost_multiplier",
    "default_request_estimate_usd": 0.0403,
    "estimate_source": "profile_seed",
    "evidence_source": "response_body",
    "maximum_units": 10000000,
    "unit": "provider_credit",
    "unit_rate_usd": 1e-06
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}
```

## Cost and request rules

Usage-based billing; Default request estimate: \$0.0403 USD (not a fixed price). Declared unit rate: \$0.000001 USD per provider\_credit. Account-specific pricing and final settlement may differ.

Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.

* **Default request reference estimate (USD):** 0.0403
* **Declared unit rate (USD):** 1e-06
* **Billing unit:** provider\_credit
* **Cost contract:** response\_units
* **Published reference multiplier:** 1.0
* **Declared maximum count/units:** 10000000
* **Settlement evidence source:** response\_body


## OpenAPI

````yaml reference-contracts/listennotes.json POST /apis/v1/listennotes/find-episodes-by-title
openapi: 3.1.0
info:
  description: ''
  title: Listen Notes
  version: '1'
  x-aisa-capabilities:
    idempotency: Idempotency-Key
    max_price: X-AISA-Max-Price-USD
    quote:
      header: X-AISA-Cost-Mode
      value: quote
  x-aisa-configured-paths:
    - /apis/v1/listennotes/batch-fetch-basic-meta-data-for-episodes
    - /apis/v1/listennotes/batch-fetch-basic-meta-data-for-podcasts
    - /apis/v1/listennotes/fetch-a-curated-list-of-podcasts-by-id
    - /apis/v1/listennotes/fetch-a-list-of-best-podcasts-by-genre
    - /apis/v1/listennotes/fetch-a-list-of-podcast-genres
    - /apis/v1/listennotes/fetch-a-random-podcast-episode
    - /apis/v1/listennotes/fetch-audience-demographics-for-a-podcast
    - /apis/v1/listennotes/fetch-curated-lists-of-podcasts
    - /apis/v1/listennotes/fetch-detailed-meta-data-for-an-episode-by-id
    - /apis/v1/listennotes/fetch-podcast-episodes-by-id
    - /apis/v1/listennotes/fetch-podcast-languages
    - /apis/v1/listennotes/fetch-podcasts-by-a-publisher-s-domain-name
    - /apis/v1/listennotes/fetch-recommendations-for-a-podcast
    - /apis/v1/listennotes/fetch-recommendations-for-an-episode
    - /apis/v1/listennotes/fetch-related-search-terms
    - /apis/v1/listennotes/fetch-supported-regions
    - /apis/v1/listennotes/fetch-trending-search-terms
    - /apis/v1/listennotes/find-episodes-by-title
    - /apis/v1/listennotes/full-text-search
    - /apis/v1/listennotes/typeahead-search
  x-aisa-document:
    facts_hash: 3f699076c1baf63c05edde2629715e34586e70ee0982cdee89366394f35facf8
    generator_version: '3'
    protocol_version: '1'
    schema_version: '1'
    composer_version: '28'
    response_pending: []
    document_hash: sha256:bd77c0884b58e4fbb6600c9c74a804ea4c4a004f668af8485e1b70fec19e76d1
  x-aisa-plans:
    builder: 1
    display_plan: payg
    payg: 1
    similarweb_payg: 1
    team: 1
    version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
  x-aisa-provider: listennotes
  x-aisa-catalogs:
    listennotes:
      title: Listen Notes
      description: ''
      x-aisa-document:
        facts_hash: 3f699076c1baf63c05edde2629715e34586e70ee0982cdee89366394f35facf8
        generator_version: '3'
        protocol_version: '1'
        schema_version: '1'
      x-aisa-plans:
        builder: 1
        display_plan: payg
        payg: 1
        similarweb_payg: 1
        team: 1
        version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
      x-aisa-capabilities:
        idempotency: Idempotency-Key
        max_price: X-AISA-Max-Price-USD
        quote:
          header: X-AISA-Cost-Mode
          value: quote
servers:
  - url: https://api.aisa.one
security:
  - bearerAuth: []
paths:
  /apis/v1/listennotes/find-episodes-by-title:
    post:
      tags:
        - Listen Notes
      summary: Search Episode Titles
      description: >-
        <!-- aisa-pricing:start -->

        Usage-based billing; Default request estimate: $0.0403 USD (not a fixed
        price). Declared unit rate: $0.000001 USD per provider_credit.
        Account-specific pricing and final settlement may differ.

        <!-- aisa-pricing:end -->
      operationId: listennotes.find-episodes-by-title
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - q
              properties:
                q:
                  type: string
                  description: >-
                    An episode"s title, e.g., Jerusalem Demsas on The
                    Dispossessed. You can use double quotes to do verbatim
                    match, e.g., "Jerusalem Demsas on The Dispossessed".
                    Otherwise, it"s fuzzy search.  
                podcast_id:
                  type: string
                  description: >-
                    Refine search results by specifying a podcast through its
                    unique ID. The format of the podcast ID is governed by the
                    podcast_id_type parameter.  For listennotes_id, the podcast
                    ID will look like "cda18f20f1be4ac7b3cce7d0eb168fff".  For
                    itunes_id, it will be a numerical value like "983795625". 
                    For spotify_id, expect a format like
                    "0Z1234tGXD2hVhjFrrhJ7g".  For rss, the podcast ID will be
                    the RSS URL, e.g., "https://cowenconvos.libsyn.com/rss".  
                podcast_id_type:
                  enum:
                    - itunes_id
                    - listennotes_id
                    - rss
                    - spotify_id
                  type: string
                  default: listennotes_id
                  description: >-
                    The type of podcast id. Valid values are **listennotes_id**,
                    **itunes_id**, **spotify_id**, and **rss**. Note:
                    **itunes_id** is for Apple Podcasts.  
      responses:
        '200':
          description: Tool result data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Response576A0Ea506F3_connect_LISTENNOTES_FIND_EPISODES_BY_TITLE__output__public_data
        default:
          content:
            application/json:
              schema: {}
          description: >-
            Error response; upstream passthrough responses may use provider
            formats
components:
  schemas:
    Response576A0Ea506F3_connect_LISTENNOTES_FIND_EPISODES_BY_TITLE__output__public_data:
      $ref: >-
        #/components/schemas/Response576A0Ea506F3_connect_LISTENNOTES_FIND_EPISODES_BY_TITLE__output__b2b936dfdbc0e4f1
    Response576A0Ea506F3_connect_LISTENNOTES_FIND_EPISODES_BY_TITLE__output__b2b936dfdbc0e4f1:
      type: object
      required:
        - data
      properties:
        data:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_LISTENNOTES_FIND_EPISODES_BY_TITLE__output__cad6072e01a87fc4
    Response576A0Ea506F3_connect_LISTENNOTES_FIND_EPISODES_BY_TITLE__output__cad6072e01a87fc4:
      type: object
      properties:
        took:
          type: number
          examples:
            - 0.093
        count:
          type: integer
          examples:
            - 10
        total:
          type: integer
          examples:
            - 1989
        results:
          type: array
          items:
            $ref: >-
              #/components/schemas/Response576A0Ea506F3_connect_LISTENNOTES_FIND_EPISODES_BY_TITLE__output__627a10961778a8ee
        next_offset:
          type: integer
          examples:
            - 10
    Response576A0Ea506F3_connect_LISTENNOTES_FIND_EPISODES_BY_TITLE__output__627a10961778a8ee:
      type: object
      properties:
        id:
          type: string
          examples:
            - 4d82e50314174754a3b603912448e812
        rss:
          type: string
          examples:
            - https://sw7x7.libsyn.com/rss
        link:
          type: string
          examples:
            - https://www.npr.org/2020/01/22/798532179/soleimanis-iran
        audio:
          type: string
          examples:
            - https://www.listennotes.com/e/p/11b34041e804491b9704d11f283c74de/
        image:
          type: string
          examples:
            - >-
              https://cdn-images-3.listennotes.com/podcasts/exponent-ben-thompson-james-allworth-OaJSjb4xQv3.1400x1400.jpg
        podcast:
          $ref: >-
            #/components/schemas/Response576A0Ea506F3_connect_LISTENNOTES_FIND_EPISODES_BY_TITLE__output__8759638295d1e25d
        itunes_id:
          type: integer
          examples:
            - 896354638
        thumbnail:
          type: string
          examples:
            - >-
              https://cdn-images-3.listennotes.com/podcasts/exponent-ben-thompson-james-allworth-OaJSjb4xQv3.300x300.jpg
        pub_date_ms:
          type: integer
          examples:
            - 1474873200000
        title_original:
          type: string
          examples:
            - '815: Star Wars 2020 Movie and Beyond!'
        listennotes_url:
          type: string
          examples:
            - https://www.listennotes.com/e/4d82e50314174754a3b603912448e812/
        audio_length_sec:
          type: integer
          examples:
            - 567
        explicit_content:
          type: boolean
          examples:
            - false
        title_highlighted:
          type: string
          examples:
            - >-
              815: <span class="ln-search-highlight">Star</span> <span
              class="ln-search-highlight">Wars</span> 2020 Movie and Beyond!
        description_original:
          type: string
          examples:
            - >
              Yeah, Star Wars Celebration Orlando is 32 days away, but what's
              the scoop on Celebration 2018? Plus, Rebels Day is Saturday, and
              much more in our update. Punch it! ***We're listener supported! Go
              to http://Patreon.com/sw7x7 to donate to the Star Wars 7x7
              podcast, and youâ€™ll get some fabulous rewards for your
              pledge.***  Check out SW7x7.com for full Star Wars 7x7 show notes
              and links, and to comment on any of the content of this episode!
              If you like what you've heard, please leave us a rating or review
              on iTunes or Stitcher, which will also help more people discover
              this Star Wars podcast. Don't forget to join the Star Wars 7x7 fun
              on Facebook at Facebook.com/SW7x7, and follow the breaking news
              Twitter feed at Twitter.com/SW7x7Podcast. We're also on Pinterest
              and Instagram as "SW7x7" too, and we'd love to connect with you
              there!
        description_highlighted:
          type: string
          examples:
            - >
              ...Go to http://Patreon.com/sw7x7 to donate to the <span
              class="ln-search-highlight">Star</span> <span
              class="ln-search-highlight">Wars</span> 7x7 podcast, and you'll
              get some fabulous rewards for your pledge.***  Check out SW7x7.com
              for full <span class="ln-search-highlight">Star</span> <span
              class="ln-search-highlight">Wars</span> 7x7 show notes and links,
              and to
        transcripts_highlighted:
          type: array
          items:
            type: string
    Response576A0Ea506F3_connect_LISTENNOTES_FIND_EPISODES_BY_TITLE__output__8759638295d1e25d:
      type: object
      properties:
        id:
          type: string
          examples:
            - 4d3fe717742d4963a85562e9f84d8c79
        image:
          type: string
          examples:
            - >-
              https://cdn-images-3.listennotes.com/podcasts/exponent-ben-thompson-james-allworth-OaJSjb4xQv3.1400x1400.jpg
        genre_ids:
          type: array
          items:
            type: integer
          examples:
            - - 138
              - 86
              - 160
              - 68
              - 82
              - 100
              - 101
        thumbnail:
          type: string
          examples:
            - >-
              https://cdn-images-3.listennotes.com/podcasts/exponent-ben-thompson-james-allworth-OaJSjb4xQv3.300x300.jpg
        listen_score:
          type: integer
          examples:
            - 81
        title_original:
          type: string
          examples:
            - Star Wars 7x7 | Star Wars News, Interviews, and More!
        listennotes_url:
          type: string
          examples:
            - https://www.listennotes.com/c/4d3fe717742d4963a85562e9f84d8c79/
        title_highlighted:
          type: string
          examples:
            - >-
              <span class=\"ln-search-highlight\">Star</span> <span
              class=\"ln-search-highlight\">Wars</span> 7x7 | <span
              class=\"ln-search-highlight\">Star</span> <span
              class=\"ln-search-highlight\">Wars</span> News, Interviews, and
              More!
        publisher_original:
          type: string
          examples:
            - Star Wars Daily, by Allen Voivod
        publisher_highlighted:
          type: string
          examples:
            - >-
              <span class=\"ln-search-highlight\">Star</span> <span
              class=\"ln-search-highlight\">Wars</span> Daily, by Allen Voivod
        listen_score_global_rank:
          type: string
          examples:
            - 0.5%
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````

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