PHPackages                             yalesites-org/ai\_feed - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. yalesites-org/ai\_feed

ActiveDrupal-module[API Development](/categories/api)

yalesites-org/ai\_feed
======================

Provides JSON feeds of website content for AI ingestion.

1.1.0(2y ago)028PHP

Since Jan 23Pushed 2y ago1 watchersCompare

[ Source](https://github.com/yalesites-org/ai_feed)[ Packagist](https://packagist.org/packages/yalesites-org/ai_feed)[ RSS](/packages/yalesites-org-ai-feed/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)DependenciesVersions (5)Used By (0)

AI Feed Module
==============

[](#ai-feed-module)

Overview
--------

[](#overview)

The AI Feed module, developed by Yale ITS, is designed to create a feed of website content that can be ingested by and generate embeddings for an AI search service. The module leverages Drupal to query and prepare content for consumption by a language model integration framework, such as LangChain.

Features
--------

[](#features)

- Retrieves published nodes accessible to anonymous users.
- Processes content to create a consistent and expected format.
- Generates a JSON feed of website content suitable for ingestion by an AI search service.
- Utilizes Drupal core and entity-related functionalities for content retrieval and processing.

Feed Shape
----------

[](#feed-shape)

This module creates an endpoint of website content at `api/ai/v1/content`. Currently, this feed is limited to published nodes that are accessible to anonymous users. In the future, this may be expanded to include filters and new entity types. The shape of the JSON is as follows:

```
{
  "data": [
    {
      "url": "yalesites-yale.edu-node-18",
      "source": "drupal",
      "documentType": "node/page",
      "documentId": 18,
      "documentTitle": "Resources and Workshops",
      "documentUrl": "https://yalesites.yale.edu/resource",
      "documentContent": "...",
      "metaTags": "",
      "metaDescription": "",
      "dateCreated": "2023-10-12T16:09:21+00:00",
      "dateModified": "2023-11-30T16:11:18+00:00",
      "dateProcessed": "2024-01-23T16:05:38+00:00",
    },
    { ... },
  ],
  "links": {
    "first": "https://yalesites.yale.edu/api/ai/v1/content?page=1",
    "prev": "https://yalesites.yale.edu/api/ai/v1/content?page=1",
    "self": "https://yalesites.yale.edu/api/ai/v1/content?page=2",
    "next": "",
    "last": "https://yalesites.yale.edu/api/ai/v1/content?page=2"
  },
  "totals": {
    "total_records": 52,
    "total_pages": 2
  }
}
```

Data Fields
-----------

[](#data-fields)

Data FieldTypeDescriptionidStringA unique id used by the search indexdocumentTypeStringFollows the pattern entityTypeId/bundledocumentIdIntThe entity iddocumentTitleStringThe title or label of the entitydocumentUrlStringThe absolute path to the canonical viewdocumentContentStringThe rendered default display of the entitymetaTagsStringCurrently empty but will be used soonmetaDescriptionStringCurrently empty but will be used soondateCreatedDateCreated date as ISO 8601dateModifiedDateModified date as ISO 8601dateProcessedDateWhen this record was generated as ISO 8601Links Fields
------------

[](#links-fields)

Links FieldTypeDescriptionfirstStringURL to the first page of resultsprevStringURL to the previous page of resultsselfStringURL to the current page of resultsnextStringURL to the next page of resultslastStringURL to the last page of resultsTotals Fields
-------------

[](#totals-fields)

Links FieldTypeDescriptiontotal\_recordsIntThe total number of resultstotal\_pagesIntThe total number of pages of resultsPagination
----------

[](#pagination)

This API supports pagination returning 50 results per page. By default without any query parameters, the API defaults to page 1.

Query different pages with the `?page=x` query parameter where `x` is a positive integer.

If there is not a previous or next page of results, the `prev` and `next` URL's will be empty strings.

Requirements
------------

[](#requirements)

- Drupal 8 or later

Contribution / Collaboration
----------------------------

[](#contribution--collaboration)

You are welcome to contribute functionality, bug fixes, or documentation to this module. If you would like to suggest a fix or new functionality you may add a new issue to the GitHub issue queue or you may fork this repository and submit a pull request. For more help please see GitHub's article on fork, branch, and pull requests

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~11 days

Total

3

Last Release

816d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9d6160d520301936b96b3ebedc5be3220cff86d6c6d4d11e221b97043cd1a4a7?d=identicon)[nJim](/maintainers/nJim)

---

Top Contributors

[![nJim](https://avatars.githubusercontent.com/u/9594124?v=4)](https://github.com/nJim "nJim (11 commits)")

### Embed Badge

![Health badge](/badges/yalesites-org-ai-feed/health.svg)

```
[![Health](https://phpackages.com/badges/yalesites-org-ai-feed/health.svg)](https://phpackages.com/packages/yalesites-org-ai-feed)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M271](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[microsoft/microsoft-graph

The Microsoft Graph SDK for PHP

65723.5M96](/packages/microsoft-microsoft-graph)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
