Lytics Content API

Content APIs for Lytics Content Affinity Engine, allow for adding content into lytics, getting lists of content, and understanding the content and content-topics. **Content Classification** Content classification refers to the Lytics automated process of taking text, URL, image based content and classifying it to attach topics to content documents. * *Content* A list of content (URLs, Email Documents, Uploaded Documents, Campaigns) and the topics, created dates, etc for each. * *ContentTopics* Categories/Topics are applied to each piece of content. * *User Content Affinity* Based on user interacting with content, the topics (derived from the content they interact with) is enriched into their profile. First, an overview of How this content gets here. * *Observed URLs* Once the lytics tag is on a Website, as users use the website any new URL they interact with is collected. * *Crawling* we can proactively crawl a site. * *Email Tools* We see URLs inside of email campaigns and proactively classify those URLs, as well as the emails themselves. * *Uploaded Content* You may upload content to the **Classify**. **Use Cases** *1) User Content Recomendations* Find content for a user based on their content-affinity. *2) Get List of Content* Rich query api to get content. **Examples** ``` # ad-hoc segment scan from content table # get a list of content documents that # - have aspects=article (aspects = article,product, etc) # - has imageurl curl -s -H "Authorization: $LIOKEY" \ -XGET "https://api.lytics.io/api/segment/scan?sortfield=created&limit=10" -d ' FILTER AND ( EXISTS imageurls aspects = "article" ) FROM content ' | jq '.' # Create a content-segment # - uses "ALIAS" as id for create/update, must be unique curl -s -H "Authorization: $LIOKEY" -H "Content-Type: text/plain" \ -XPOST "$LIOAPI/api/segment" -d ' FILTER AND ( EXISTS imageurls aspects = "article" ) FROM content WITH name = "My Articles" ALIAS my_articles ' | jq '.' # grab just those content-docs using named segment scan curl -s -H "Authorization: $LIOKEY" \ -XGET "https://api.lytics.io/api/segment/my_articles/scan?sortfield=created&limit=10" \ | jq '.' # grab recommended articles for single user curl -s -H "Authorization: $LIODATAKEY" \ -XGET "https://api.lytics.io/api/content/recommend/:your_account_id/user/user_id/123456" \ | jq '.' ```

Operations 30

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/content/topic List topics in the content graph · ContentTopics #
Ask an LLM
“Which topics does my content graph contain?”
“Can I cap how many content topics come back?”
Tell an agent
List the topics in my content graph.
Show the first {limit} content topics.
GET /api/content/topic/{topic} Get a summary of one content topic · ContentTopicSummary #
Ask an LLM
“Can I see a summary for a single content topic?”
“What does the content graph know about one specific topic?”
Tell an agent
Summarize content topic {topic}.
Show me the summary for topic {topic}.
GET /api/content/rollup/{label} Get a summary of a topic rollup by label · ContentTopicRollupSummary #
Ask an LLM
“Can I get a summary of a topic rollup using its label?”
“What does a labelled rollup of topics look like in aggregate?”
Tell an agent
Summarize the topic rollup labelled {label}.
Show the rollup summary for label {label}.
GET /api/content/topicrollup List topic rollups · ContentTopicRollupList #
Ask an LLM
“Which topic rollups have been set up on my account?”
“Can I see all my topic rollups at once?”
Tell an agent
List all my topic rollups.
Show every topic rollup on the account.
GET /api/content/topicblocklist Get the blocked topics list · Content Topic Blacklist Fetch #
Ask an LLM
“Which content topics are currently blocklisted?”
“Can I see the topics I've excluded from my content graph?”
Tell an agent
Show my topic blocklist.
List the topics I have blocked.
POST /api/content/topicblocklist Add or remove topics on the blocklist · Content Topic Blacklist Create #
Ask an LLM
“Can I add a few topics to my blocklist without replacing the rest?”
“How do I un-block a topic I blocked earlier?”
Tell an agent
Add these topics to my existing topic blocklist.
Un-block a topic by removing it from the blocklist.
PUT /api/content/topicblocklist Replace the whole topic blocklist · Content Topic Blacklist Update #
Ask an LLM
“Can I overwrite my entire topic blocklist with a new set of topics?”
“Is there a way to replace every blocked topic in one call?”
Tell an agent
Replace my topic blocklist with a new list of topics.
Overwrite the full set of blocked topics.
GET /api/content/topicrollup/{id} Get a topic rollup by id · ContentTopicRollup Fetch #
Ask an LLM
“Can I fetch a single topic rollup by its id?”
“Which topics are inside a particular rollup?”
Tell an agent
Fetch topic rollup {id}.
Show the topics in rollup {id}.
POST /api/content/topicrollup/{id} Create a topic rollup · ContentTopicRollup Create #
Ask an LLM
“Can I group several content topics into a named rollup?”
“What's needed to create a new topic rollup?”
Tell an agent
Create topic rollup {id}.
Set up a new rollup {id} grouping related topics.
DELETE /api/content/topicrollup/{id} Delete a topic rollup · ContentTopicRollup Delete #
Ask an LLM
“Can I delete a topic rollup I no longer need?”
“Does removing a rollup affect the topics inside it?”
Tell an agent destructive · confirm first
Delete topic rollup {id}.
Remove rollup {id} from my account.
GET /api/content/doc Look up content documents by URL or id · ContentDocument #
Ask an LLM
“Can I fetch stored content documents by their URLs?”
“What does the content table hold for a given document id?”
Tell an agent
Get the content documents for URLs {urls}.
Look up content documents with ids {ids}.
GET /api/content/doc/classify Test-classify a document without saving it · Content Classify #
Ask an LLM
“Can I see what topics a page would get without adding it to my corpus?”
“Is there a dry-run way to classify some text for debugging?”
Tell an agent
Classify {url} for debugging without adding it to the corpus.
Dry-run topic classification on this text: {text}.
POST /api/content/doc/classify Classify a document and add it to the corpus · Content Classify #
Ask an LLM
“Can I classify a URL and have it saved into my content corpus at the same time?”
“What topics get assigned when I classify and store a document?”
Tell an agent
Classify {url} and add it to the content corpus.
Classify this text and save it as a document: {text}.
GET /api/content/recommend/user/{fieldname}/{fieldval} Recommend content for a user · Content Recommendation #
Ask an LLM
“Can I get personalized content recommendations for one user?”
“Can recommendations skip content the user has already seen?”
Tell an agent
Recommend content from collection {contentsegment} for the user whose {fieldname} is {fieldval}.
Give the user with {fieldname} {fieldval} {limit} recommendations from {contentsegment} ranked by {rank}.
GET /api/content/recommend/segment/{segId} Recommend content for an audience segment · Content Segment Recommendation #
Ask an LLM
“Can I get content recommendations for a whole audience segment rather than one user?”
“What content would best suit everyone in a segment?”
Tell an agent
Recommend content for segment {segId}.
Suggest {limit} pieces of content for audience segment {segId}.
GET /api/content/recommend/{account}/user/{fieldname}/{fieldval} Get public content recommendations for a user · Public Content Recommendation #
Ask an LLM
“Can I fetch content recommendations from the public endpoint that names the account in the path?”
“Is there a recommendation call I can use from a public page for a given account?”
Tell an agent
Get public recommendations from account {account} collection {contentsegment} for the user with {fieldname} {fieldval}.
Using the public endpoint for account {account}, recommend {limit} items from {contentsegment} to {fieldname} {fieldval}.
GET /api/content/taxonomy Get the topic taxonomy graph · Content Taxonomy #
Ask an LLM
“Can I see how my content topics relate to each other as a graph?”
“Is the topic taxonomy capped at a certain number of topics?”
Tell an agent
Show my content topic taxonomy.
Build the topic taxonomy graph with up to {limit} topics, split into cliques: {cliques}.
POST /api/content/corpus Add a document to the content corpus · Content Corpus #
Ask an LLM
“Can I add a page to my content library so it can be recommended?”
“Can I add raw text with my own topics to the corpus?”
Tell an agent
Add {url} to my content corpus.
Add this text to the corpus tagged with topics {topics}: {text}.
GET /api/content/filter/topic Plot content topics for a segment · Content Plot #
Ask an LLM
“Can I plot content topic data filtered to one segment?”
“What topic distribution shows up for a given audience?”
Tell an agent
Plot content topics for segment {segment_id}.
Show a topic plot with filters {filters}, limited to {limit} results.
POST /api/content/doc/{docField}/{docId}/topic/{topicLabel} Tag a document with a topic · Topic Add #
Ask an LLM
“Can I manually add a topic to a specific document?”
“Can I set how relevant a topic is when I attach it to content?”
Tell an agent
Add topic {topicLabel} to the document whose {docField} is {docId}.
Tag document {docField} {docId} with {topicLabel} at relevance {relevance}.
DELETE /api/content/doc/{docField}/{docId}/topic/{topicLabel} Remove a topic from a document · Topic Remove #
Ask an LLM
“Can I take a wrong topic off a document?”
“Is it possible to detach a topic from one piece of content?”
Tell an agent destructive · confirm first
Remove topic {topicLabel} from the document whose {docField} is {docId}.
Untag {topicLabel} from document {docField} {docId}.
POST /api/content/crawl Start a crawl of a website · Content Crawl #
Ask an LLM
“Can I kick off a crawl of my site to pull its content in?”
“Can one crawl cover several domains?”
Tell an agent
Start a content crawl of {domain}.
Crawl the domains {domains} for content.
GET /api/content/metrics Get account content metrics · Content Metrics #
Ask an LLM
“What content metrics does my account have?”
“Can I see overall stats about my content library?”
Tell an agent
Show my account's content metrics.
Fetch the content stats for my account.
GET /api/content/topic/cluster Preview the most central topic clusters · Content Topic Clusters #
Ask an LLM
“Which topics are most central in my topic graph, and what clusters form around them?”
“Can I experiment with penalty and threshold to see different topic clusters?”
Tell an agent
Show the {limit} most central topics with their clusters.
Preview topic clusters using penalty {penalty} and threshold {threshold}.
POST /api/content/topic/cluster Create a set of central topic clusters · Create Content Topic Clusters #
Ask an LLM
“Can I save a collection of central topic clusters for my account?”
“Once I like the clustering settings, how do I create the clusters?”
Tell an agent
Create topic clusters from my {limit} most central topics.
Generate and save topic clusters with threshold {threshold}.
GET /api/content/topic/cluster/{topicId} Find topics related to one topic · Content Topic Cluster #
Ask an LLM
“Which topics are related to a given topic, to help build a rollup?”
“Can I follow topic dependencies inward or outward from one topic?”
Tell an agent
Find topics related to {topicId}.
Show the cluster around topic {topicId} following direction {direction}.
POST /content/align Score content alignment against topics · Get content alignment with a set of topics #
Ask an LLM
“How well does my content line up with a set of topics I care about?”
“Can I limit how many aligned documents come back when checking topic alignment?”
Tell an agent
Check how my content aligns with topics {topics}.
Return the top {limit} documents aligned with topics {topics} using method {method}.
POST /content/classify Classify a URL and show the steps taken · Classify a URL #
Ask an LLM
“What content gets extracted from a URL when it is classified, step by step?”
“Can I see each classification step the classifier ran on a page?”
Tell an agent
Run the classifier on {url} and show the extracted content and steps.
Explain how {url} was classified, step by step.
POST /content/enrich Enrich a URL or text with topics · Enrich a URL or text with Topics #
Ask an LLM
“Can I get topics and inferred topics for a block of plain text?”
“What inferred topics would a URL be enriched with?”
Tell an agent
Enrich {url} with topics and inferred topics.
Find the topics and inferred topics in this text: {text}.
GET /content/opportunity Get saved content opportunity metrics · Get content opportunities #
Ask an LLM
“Where are my content opportunities according to the saved metrics?”
“Can I see the content opportunity snapshot from a past day?”
Tell an agent
Show my saved content opportunity metrics.
Get the content opportunity snapshot for {date}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lytics:lytics-content-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lytics-content-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lytics Content API
  version: '1.0'
  description: 'Operations tagged Content across 2 of this provider''s published API definitions: lytics-api-v1-openapi.json, lytics-api-v2-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.lytics.io
- url: https://api.lytics.io/v2
tags:


# --- truncated at 32 KB (104 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lytics/refs/heads/main/openapi/lytics-content-api-openapi.yml