OpenAI APIopenai.com ↗
Retrieve OpenAI news articles and current API model specs including pricing, context length, and knowledge cutoff via two structured endpoints.
What is the OpenAI API?
This API exposes two endpoints covering OpenAI's public-facing content: list_news returns structured news articles from OpenAI's official feed with fields like title, description, category, and publication date, while list_models delivers current model specifications including input/output pricing, context window size, max output tokens, and knowledge cutoff dates. Together they give developers a structured view of OpenAI's announcements and model catalog without manual parsing.
curl -X GET 'https://api.parse.bot/scraper/39e8ab94-394d-467d-8099-aa0478b4adee/list_news?limit=10&query=AI&category=Safety' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace openai-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: OpenAI SDK — bounded, re-runnable; every call capped."""
from parse_apis.OpenAI_Website_API import OpenAI, NewsCategory, InputFormatInvalid
client = OpenAI()
# List recent news articles filtered by Product category
for article in client.articles.list(category=NewsCategory.PRODUCT, limit=3):
print(article.title, article.published_at)
# Filter articles by keyword query
for article in client.articles.list(query="GPT", limit=3):
print(article.title, article.url)
# List all available API models with pricing
for model in client.models.list(limit=3):
print(model.name, model.input_price, model.output_price)
# Get the latest safety article
safety_article = client.articles.list(category=NewsCategory.SAFETY, limit=1).first()
if safety_article:
print(safety_article.title, safety_article.url)
# Handle invalid input gracefully
try:
for article in client.articles.list(category=NewsCategory.RESEARCH, limit=2):
print(article.title, article.category)
except InputFormatInvalid as e:
print(f"invalid input: {e}")
print("exercised: articles.list, models.list")
Retrieves OpenAI news articles from the official RSS feed. Articles include title, description, URL, category, and publication date. Results are ordered by publication date (newest first). When a category is specified, only articles matching that category are returned. When a query is specified, only articles whose title or description contains the keyword (case-insensitive) are returned.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of articles to return. |
| query | string | Filter articles to those whose title or description contains this keyword or phrase (case-insensitive). |
| category | string | Filter articles by category. |
{
"type": "object",
"fields": {
"count": "integer, number of articles returned",
"articles": "array of news article objects with title, description, url, category, and published_at"
},
"sample": {
"count": 1,
"articles": [
{
"url": "https://openai.com/index/why-teens-deserve-access-safe-ai",
"title": "Why teens deserve access to safe AI",
"category": "Safety",
"description": "Learn how OpenAI is making ChatGPT safer for teens with age-appropriate protections, learning tools, parental controls, and expert partnerships.",
"published_at": "Thu, 16 Jul 2026 16:00:00 GMT"
}
]
}
}About the OpenAI API
News Articles
The list_news endpoint returns an array of articles sourced from OpenAI's official news feed. Each article object includes title, description, url, category, and published_at. Results are sorted newest-first by default. You can pass a limit integer to cap the number of results, or a category string to filter to a specific topic area — useful when you only want research announcements, product updates, or policy-related posts. The count field in the response tells you how many articles matched.
Model Specifications
The list_models endpoint requires no input parameters and returns a full snapshot of currently available OpenAI API models as listed on the platform page. Each model object includes the model name, input and output pricing (typically per token), context_length, max_output_tokens, and knowledge_cutoff date. This makes it straightforward to build tooling that surfaces up-to-date pricing comparisons or validates whether a given model supports a required context window.
Coverage and Freshness
The news endpoint reflects what OpenAI publishes on its official feed, so coverage is limited to announcements OpenAI chooses to publish publicly. The models endpoint reflects the platform documentation page; model availability and pricing on that page can change when OpenAI adds, deprecates, or reprices models, so applications that depend on exact figures should account for refresh cadence.
The OpenAI API is a managed, monitored endpoint for openai.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when openai.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official openai.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor OpenAI product announcements by polling
list_newsfiltered by category for new releases. - Build a model comparison table using
list_modelsfields: context length, output token limits, and per-token pricing. - Alert a Slack channel whenever a new article appears in a specific OpenAI news category.
- Track pricing changes across GPT and embedding models over time by storing
list_modelssnapshots. - Populate a developer dashboard with the latest OpenAI research and policy articles using
published_atordering. - Validate model availability and knowledge cutoff dates before routing LLM requests in a multi-model pipeline.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does OpenAI have an official developer API?+
What does the `list_news` endpoint return and how does category filtering work?+
title, description, url, category, and published_at. When you pass a category parameter, only articles whose category matches that string are included. The response also includes a count field reflecting the number of matching articles returned.Does `list_models` include deprecated or preview models?+
Does the API expose OpenAI's research papers or changelog history beyond news articles?+
list_news and model specs via list_models. Research papers, detailed changelogs, and release notes pages are not included. You can fork this API on Parse and revise it to add an endpoint targeting those content areas.Is pagination supported for `list_news`?+
limit parameter to cap results but does not currently expose offset or page-based pagination. If you need to process large batches of articles beyond the returned set, you can fork this API on Parse and revise it to add pagination support.