API documentation

Before getting started, make sure to read the API section of our FAQ. The answers there give you more context, and they explain our approach to stability and versioning.

We have an open-source Python SDK and Rust SDK. You can use these to quickly integrate.

For example, you can create a serverless function in Python, get data from anywhere you want (call a database, process an event, scrape a website), and add items in just a few lines:

from yupdates import yapi
from yupdates.models import InputItem

item = InputItem("the title", "the content", "https://example.com")

yapi.new_items([item])

The OpenAPI spec is available for download below. You can use that to generate 50+ different types of client libraries across many languages (sample commands). Or, if you paste the spec into the Swagger Editor, you get a point and click interface to generate clients.

If you are operating outside Python or Rust, those generated libraries could be a good way to go instead of a direct HTTP integration.

Before we get started with the formal documentation: you might want to quickly integrate with curl?

Here are some curl samples to jumpstart the process. You will need to replace YUPDATES_API_TOKEN and FEED_ID with values from your account.

YUPDATES_API_TOKEN=230135ed11:94ff80f575549484400f27843ae1ccbaf92385dcf0e02
curl -X GET \
     'https://feeds.yupdates.com/api/v0/ping/' \
     -H 'X-Auth-Token: $YUPDATES_API_TOKEN'

FEED_ID=02fb24a4471232a4491067224b66daa8b2338dada2737
curl -X GET \
     'https://feeds.yupdates.com/api/v0/feeds/$FEED_ID/?max_items=20' \
     -H 'X-Auth-Token: $YUPDATES_API_TOKEN'

            

Yupdates API (v0)

Download OpenAPI specification:Download

Ping: test operation to check connection and auth

Test operation to check connection and auth. One ping only, please.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "message": "pong",
  • "code": 200
}

Read items: retrieve items from one feed

Read items from one feed. If neither item_time_after nor item_time_before are used, it returns the latest items.

Authorizations:
ApiKeyAuth
path Parameters
feed_id
required
string = 45 characters
Example: 02fb24a4478462a4491067224b66d9a8b2338dada2737

Feed to retrieve items from

query Parameters
max_items
integer [ 1 .. 50 ]
Default: 10
Example: max_items=10

Number of items to retrieve, from 1-50. The default is 10. It not be more than 10 if include_item_content is true.

include_item_content
boolean
Default: false

Request the full item content (body of each item). If this is true, you may only retrieve up to 10 items at once.

item_time_after
string (ItemTime) [ 1 .. 19 ] characters

Request the items that come after the specified item time. May not be used at the same time as item_time_before

item_time_before
string (ItemTime) [ 1 .. 19 ] characters

Request the items that come before the specified item time. May not be used at the same time as item_time_after

Responses

Response samples

Content type
application/json
[
  • {
    }
]

New items: add items to a feed

Add new items to a feed. This requires a feed-specific credential; there is no feed_id parameter. Items are given item times based on when they are added (this operation does not allow injecting feed items into the past).

Authorizations:
ApiKeyAuth
Request Body schema: application/json

Array of InputItem to add to the feed. You can send zero to ten items in each call (zero can be useful to check authorization and/or to get the feed ID in the response).

Array
title
required
string <= 1024 characters

Item title

canonical_url
required
string <= 1900 characters

Item URL

content
required
string <= 100000 characters

Item content

Array of objects (AssociatedFile)

Files associated with the item, e.g. URL to a podcast file

Responses

Request samples

Content type
application/json
[]

Response samples

Content type
application/json
{
  • "message": "string",
  • "code": 200,
  • "feed_id": "02fb24a4478462a4491067224b66d9a8b2338dada2737"
}