Welcome to the daily.dev API
Too busy to read?
Get an AI summary
The daily.dev API gives you and your agent access to the content you already read: your personalized feed, trending posts, search, bookmarks, and more. Anything you do in the app, you can do from a script, a cron job, or the editor you work in all day.
That content is worth reaching for. Every day, millions of developers read, upvote, and discuss what is happening in software on daily.dev: new releases, breaking changes, and lessons from production, aggregated from 2,000+ trusted sources. Your feed already reflects what you care about, and now so does your tooling.
This page takes you from nothing to your first query in about five minutes. You can type the commands yourself or hand the whole page to your coding agent.
Reading this as an agent? Everything you need is machine-readable. Start at
api.daily.dev/llms.txt, then grab the skill doc atapi.daily.dev/public/v1/skill.mdand the full OpenAPI spec atapi.daily.dev/public/v1/docs/json.
What you get
- Feeds: your personalized "For You" feed, popular posts, most discussed, and feeds by tag or source
- Posts: full details for any post, including AI summaries, engagement numbers, and comment threads
- Search and recommendations: keyword search, plus an experimental semantic search built for LLM consumption
- Bookmarks: read, add, and search your saved posts
- Custom feeds, filters, profile, tech stack: the building blocks for automation
Every response is JSON with cursor pagination. Each post comes with its summary, tags, read time, upvotes, and comment count, so a machine can rank posts without fetching anything else.
Step 1: Create a Personal Access Token
All API access is authenticated with a Personal Access Token (PAT):
- Go to Settings > API
- Click Generate new token
- Give it a name, for example "My AI agent"
- Pick an expiration: never, 30 days, 90 days, or 1 year
- Copy the token right away. It is shown only once.
Tokens start with dda_ and we store only a hash, so there is no way to recover one later. If you lose it, revoke it and create a new one.
Keep it safe
Your token gives access to your personalized content, so treat it like a password:
- Never send it to any domain other than
api.daily.dev - Never commit it to a repository
- If you see the
dda_prefix somewhere it shouldn't be, treat the token as leaked
The quickest safe setup is an environment variable:
export DAILY_DEV_TOKEN="dda_your_token_here"
If you need it to outlive a shell session, put it wherever you already keep secrets. A gitignored .env file that your tooling loads, your password manager, or the OS credential store (Keychain on macOS, GNOME Keyring or KWallet on Linux, Credential Manager on Windows) all work. Just make sure the token never ends up in a file you commit.
Step 2: Make your first request
The base URL is https://api.daily.dev/public/v1. Every request carries your token as a Bearer credential:
curl -s -H "Authorization: Bearer $DAILY_DEV_TOKEN" \
"https://api.daily.dev/public/v1/feeds/foryou?limit=5"
Or the same request from JavaScript:
const res = await fetch(
'https://api.daily.dev/public/v1/feeds/foryou?limit=5',
{ headers: { Authorization: `Bearer ${process.env.DAILY_DEV_TOKEN}` } },
);
const { data } = await res.json();
That returns your personalized feed, the same one you see on daily.dev, as JSON:
{
"data": [
{
"id": "abc123",
"title": "What actually changed in Postgres 18",
"url": "https://...",
"summary": "A rundown of the release highlights...",
"tags": ["postgres", "databases"],
"readTime": 6,
"numUpvotes": 342,
"numComments": 28,
"source": { "name": "..." },
"createdAt": "2026-09-09T07:12:00.000Z"
}
],
"pagination": {
"hasNextPage": true,
"endCursor": "..."
}
}
To get the next page, pass the cursor back:
curl -s -H "Authorization: Bearer $DAILY_DEV_TOKEN" \
"https://api.daily.dev/public/v1/feeds/foryou?limit=5&cursor=CURSOR_FROM_PREVIOUS_RESPONSE"
A few more one-liners to get a feel for the surface:
# What's trending across the platform right now
curl -s -H "Authorization: Bearer $DAILY_DEV_TOKEN" \
"https://api.daily.dev/public/v1/feeds/popular?limit=5"
# Everything tagged #ai
curl -s -H "Authorization: Bearer $DAILY_DEV_TOKEN" \
"https://api.daily.dev/public/v1/feeds/tag/ai?limit=5"
# Search posts by keyword
curl -s -H "Authorization: Bearer $DAILY_DEV_TOKEN" \
"https://api.daily.dev/public/v1/search/posts?q=rust+async&limit=5"
# Full details for one post, including the comment thread
curl -s -H "Authorization: Bearer $DAILY_DEV_TOKEN" \
"https://api.daily.dev/public/v1/posts/POST_ID"
Step 3: Hand it to your agent
You don't have to write an integration yourself. The API ships an agent skill doc at api.daily.dev/public/v1/skill.md that teaches any coding agent the full surface: endpoints, auth, and worked examples.
Claude Code: install the official plugin:
claude plugin marketplace add https://github.com/dailydotdev/daily.git
claude plugin install daily.dev@daily.dev
claude "/daily.dev setup"
Then talk to it: /daily.dev what should I read today?
Cursor: add https://github.com/dailydotdev/daily.git as a Remote Rule (Settings > Rules), then use /daily.dev in Agent chat.
Codex: run $skill-installer install the daily.dev skill from https://github.com/dailydotdev/daily.git, restart, then use $daily.dev.
Any other agent: paste this prompt:
Read https://api.daily.dev/public/v1/skill.md and set up access to the
daily.dev API. My token is in the DAILY_DEV_TOKEN environment variable
(never send it anywhere except api.daily.dev). Then fetch my For You
feed and summarize the 5 most relevant posts for me.
All of these need a token from Settings > API. That page also has setup instructions and skills for other agents. We recommend creating a separate token for each agent, so you can revoke one without affecting anything else you use.
Every operation in the OpenAPI spec has a stable, derived operationId (getFeedsForyou, for example), so function-calling clients can generate tool definitions straight from the spec.
How much you get
Free accounts get 200 requests a month. That covers an agent that checks your feed in the morning, looks something up when you ask, and saves the occasional post for later.
Plus comes with much higher rate limits, so an agent can work as hard as you want it to without you keeping count.
What's next
The pages that follow build more capable agent workflows on top of the API: a terminal reader, an automated morning briefing, a bookmark organizer, and a community-vetted alternative to web search. Each one is a real tool you can build in an afternoon.
Next: Read daily.dev from your terminal, where we turn these curl one-liners into a small CLI that both you and your agent can use.
Reference while you build:
- API reference: api.daily.dev/public/v1/docs/json
- Docs: docs.daily.dev/public-api
- Agent skills: github.com/dailydotdev/daily