canonical: https://jentic.com/apis/googleapis.com/blogger

# Google Blogger API

The Blogger API exposes Google Blogger blogs, posts, pages, comments, and pageviews so applications can publish, edit, and moderate content programmatically. It supports listing posts by status (draft, live, scheduled), publishing and reverting drafts, searching posts within a blog, and managing the comment moderation queue. The same API powers external content tools, scheduled cross-posters, and migration utilities. Read access works with API keys for public blogs, while authoring requires OAuth-authenticated calls under the blog owner's account.

## For AI agents

Read, publish, and moderate posts, pages, and comments on Google Blogger blogs. Agents can draft posts, schedule publishes, and approve or remove comments.

## Scope

Does not host media, deliver email newsletters, or run analytics dashboards - use for Blogger blog, post, page, and comment operations only.

## Capabilities

- List, search, and retrieve posts on a blog with filters by status and labels
- Create, patch, publish, or revert blog posts including scheduled publishes
- Manage pages on a blog, including publishing and reverting page revisions
- Read and moderate comments - approve, mark as spam, or remove
- Look up a blog by URL or ID and inspect blog-level metadata
- Read pageview stats by time bucket for a blog
- List the blogs a given user has access to via blogs/byUser

## Use cases

### Programmatic Content Publishing

Drive a content workflow that drafts in an editorial system and publishes to Blogger automatically. Posts are managed at /v3/blogs/{blogId}/posts with publish at /v3/blogs/{blogId}/posts/{postId}/publish and revert at .../revert. Scheduling is supported by setting publish on a future timestamp.

Example prompt: Insert a draft post on blog 1234567890 with the supplied title and HTML content, then publish it immediately.

### Cross-Platform Content Sync

Mirror posts from a primary CMS into Blogger as a secondary distribution channel. Use list and search at /v3/blogs/{blogId}/posts/search to detect existing posts and patch them via PATCH /v3/blogs/{blogId}/posts/{postId} when source content updates. The same flow can also revert posts to draft if the source removes them.

Example prompt: Search posts on blog 1234567890 for the source slug, and either patch the existing post or create a new one with the supplied content.

### Comment Moderation

List pending comments and act on each - approve, mark as spam, or delete. Comments are managed at /v3/blogs/{blogId}/posts/{postId}/comments with explicit approve, markAsSpam, and removeContent endpoints. Combined with a moderation policy, this allows a hands-off comment pipeline.

Example prompt: List all pending comments on post 555 of blog 1234567890 and approve any whose author email matches the trusted-commenters list.

### Reader Analytics

Pull blog-level pageview stats from /v3/blogs/{blogId}/pageviews and feed them into a dashboard or spreadsheet. The endpoint returns counts by time range so editors can see which periods drove traffic without leaving their analytics tool.

Example prompt: Get pageviews for blog 1234567890 for the last 30 days and return totals per day.

### Agent-Driven Editorial

An AI agent receives a brief, drafts a post, and publishes it to Blogger via Jentic, then monitors the comment queue. The agent loads the insert post and publish operations, applies the right blogId, and handles credential injection through Jentic. OAuth tokens stay in the vault; the agent only ever sees a scoped access token.

Example prompt: From the brief 'announce v2 launch on the company blog with these talking points', insert a draft, publish it, and then approve any non-spam comments arriving in the next hour.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v3/blogs/byurl | Look up a blog by public URL |
| GET | /v3/blogs/{blogId}/posts | List posts on a blog |
| POST | /v3/blogs/{blogId}/posts | Create a new post on a blog |
| POST | /v3/blogs/{blogId}/posts/{postId}/publish | Publish a draft or scheduled post |
| POST | /v3/blogs/{blogId}/posts/{postId}/revert | Revert a post to draft |
| PATCH | /v3/blogs/{blogId}/pages/{pageId} | Patch a page on a blog |
| GET | /v3/blogs/{blogId}/pageviews | Get pageview stats for a blog |

## Key resources

- **Blogs** — Look up blogs by ID or URL and list blogs a user has access to.
- **Posts** — Create, list, search, patch, publish, and revert posts on a blog.
- **Pages** — Manage standalone pages on a blog with publish and revert operations.
- **Comments** — List and moderate comments - approve, spam, remove.
- **Pageviews** — Read aggregated pageview counts for a blog.

## Why Jentic

- **Setup:** Wiring the Blogger API by hand means standing up its Google OAuth 2.0 flow, refreshing scoped access tokens, and sequencing blog, post, page, and comment calls yourself. Through Jentic you install once, import the Blogger API from the API Directory, store the OAuth credentials once, and your agent calls it.
- **Permission scoping:** The API puts the blog and post in the URL path (/v3/blogs/{blogId}/posts, /v3/blogs/{blogId}/posts/{postId}/publish), so a rule can pin your agent to one blog: it can draft, publish, and read posts there and nowhere else. You choose the operations it may call, so reverting a published post is not included unless you add it.
- **Credential handling:** Your Google OAuth client credentials and refresh token are stored once, encrypted, by your own Jentic One instance and injected at execution time. The agent receives only short-lived scoped access tokens and never sees the refresh token in its prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'publish a blog post' or 'moderate a comment', and Jentic returns the matching Blogger operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Ghost API** — Open-source publishing platform with content and admin APIs.
- **Webflow API** — Publishing, CMS, and ecommerce APIs for Webflow sites.
- **Custom Search API** — Indexes and searches public content including Blogger sites.

## FAQ

### What authentication does the Blogger API use?

The Blogger API uses Google OAuth 2.0 with the https://www.googleapis.com/auth/blogger scope for read/write and https://www.googleapis.com/auth/blogger.readonly for read-only access. Through Jentic, the OAuth refresh token sits in the encrypted vault and the agent only receives short-lived scoped access tokens.

### Can I schedule a post to publish later with this API?

Yes. POST /v3/blogs/{blogId}/posts/{postId}/publish accepts a publishDate query parameter; setting it to a future RFC3339 timestamp schedules the post. Calling /publish again without publishDate publishes immediately.

### What are the rate limits for the Blogger API?

Blogger uses Google's standard project-level quotas - typically a few requests per second per user with a daily cap that you can monitor in the Google Cloud quotas console. Bulk publishing should pace inserts to stay well under the per-user QPS.

### How do I publish a post through Jentic?

Search Jentic for 'publish a Blogger post', load the schema for POST /v3/blogs/{blogId}/posts followed by POST /v3/blogs/{blogId}/posts/{postId}/publish, and execute. Jentic injects the OAuth token, so the agent only supplies blogId, the post body, and (optionally) the publishDate.

### Is the Blogger API free?

Yes - Blogger is a free product and the API has no per-call cost. The only practical limits are the Google Cloud project quotas and the OAuth scopes you have authorised.

### Can I moderate comments programmatically?

Yes. List pending comments via /v3/blogs/{blogId}/posts/{postId}/comments?status=pending and act on each with the approve, markAsSpam, or removeContent endpoints under the same path. This lets you build automated policies without using the Blogger UI.

### Can I limit what my agent is allowed to do with the Blogger API?

Yes. Because you run Jentic One yourself, your own rules decide which Blogger operations and credentials the agent may use. Since the API puts the blog and post in the URL path, such as /v3/blogs/{blogId}/posts and /v3/blogs/{blogId}/posts/{postId}/publish, you can pin the agent to a single blog so it drafts, publishes, and reads posts there and nowhere else. You also choose the exact operations it can call, so reverting a published post or moderating comments stays out of reach unless you grant it.
