Qiita API
Qiita is a technical knowledge sharing platform popular in Japan. This skill provides integration for searching articles, publishing content, and interacting with the community.
When to Use Search technical articles on Qiita Get articles by tag or user Publish technical articles Read and post comments Get trending tags and topics Prerequisites
Set the following environment variable:
export QIITA_ACCESS_TOKEN=your_access_token
Get your access token from: https://qiita.com/settings/tokens/new
Important: Environment Variables and Pipes
When using environment variables in commands with pipes, always wrap the command in bash -c '...' and keep the pipe outside. This ensures proper variable substitution:
Good - wraps curl in bash -c, pipe is outside
bash -c 'curl -H "Authorization: Bearer ${QIITA_ACCESS_TOKEN}" https://api.qiita.com/api/v2/users'
Bad - environment variable with pipe causes issues
curl -H "Authorization: Bearer ${QIITA_ACCESS_TOKEN}" https://api.qiita.com/api/v2/users
Required Scopes read_qiita - Read articles, comments, users write_qiita - Post articles, comments How to Use Commands
The script supports 5 modules: item, user, tag, comment, auth
- Item - Articles Search Articles scripts/qiita.sh item search --query "React hooks" scripts/qiita.sh item search --query "tag:Python" --per-page 20 scripts/qiita.sh item search --query "user:username title:tutorial"
Parameter Required Default Description --query Yes - Search query (supports tag:, user:, title:, body:, stocks:) --page No 1 Page number --per-page No 20 Items per page (max 100) Get Article scripts/qiita.sh item get --id "article_id"
Get My Articles scripts/qiita.sh item mine --per-page 10
Post Article scripts/qiita.sh item post --title "Article Title" --body "# Content" --tags "Python,Tutorial" scripts/qiita.sh item post --title "Draft Post" --body-file ./article.md --tags "React" --private
Parameter Required Default Description --title Yes - Article title --body Yes - Article body in Markdown --body-file Yes - Read body from file (alternative to --body) --tags Yes - Comma-separated tags (max 5) --private No false Create as private article Update Article scripts/qiita.sh item update --id "article_id" --title "New Title" --body "Updated content"
Delete Article scripts/qiita.sh item delete --id "article_id"
- User - User Information Get Current User scripts/qiita.sh user me
Get User Profile scripts/qiita.sh user get --id "username"
Get User's Articles scripts/qiita.sh user items --id "username" --per-page 10
Get User's Stocks scripts/qiita.sh user stocks --id "username"
Get User's Followers/Following scripts/qiita.sh user followers --id "username" scripts/qiita.sh user following --id "username"
- Tag - Tags List Popular Tags scripts/qiita.sh tag list --per-page 20 scripts/qiita.sh tag list --sort count
Parameter Required Default Description --page No 1 Page number --per-page No 20 Tags per page --sort No count Sort by: count or name Get Tag Info scripts/qiita.sh tag get --id "Python"
Get Articles by Tag scripts/qiita.sh tag items --id "JavaScript" --per-page 10
- Comment - Comments Get Article Comments scripts/qiita.sh comment list --item-id "article_id"
Post Comment scripts/qiita.sh comment post --item-id "article_id" --body "Great article!"
Delete Comment scripts/qiita.sh comment delete --id "comment_id"
- Auth - Authentication Verify Token scripts/qiita.sh auth verify
Returns current user info if token is valid.
Search Query Syntax
Qiita search supports special operators:
Operator Example Description tag: tag:Python Filter by tag user: user:qiita Filter by author title: title:tutorial Search in title body: body:example Search in body stocks: stocks:>100 Filter by stock count created: created:>2024-01-01 Filter by date
Combine operators: tag:React title:hooks stocks:>50
Examples Search and Read Articles
Search for Python tutorials
scripts/qiita.sh item search --query "tag:Python title:tutorial" --per-page 5
Get specific article
scripts/qiita.sh item get --id "abc123def456"
Publish an Article
Post from command line
scripts/qiita.sh item post --title "Getting Started with Docker" --body "# Introduction
Docker is a containerization platform..." --tags "Docker,DevOps,Tutorial"
Post from file
scripts/qiita.sh item post --title "My Technical Article" --body-file ./my-article.md --tags "Programming"
Explore Tags and Users
Get trending tags
scripts/qiita.sh tag list --per-page 10 --sort count
Get user's articles
scripts/qiita.sh user items --id "famous_author" --per-page 5
Guidelines Rate Limits: 1000 requests/hour (authenticated), 60/hour (unauthenticated) Tags: Maximum 5 tags per article Markdown: Article body supports GitHub-flavored Markdown Private Articles: Use --private flag for drafts or private content Search: Use operators for precise search results API Reference Documentation: https://qiita.com/api/v2/docs Access Tokens: https://qiita.com/settings/tokens/new