Skip to main content

Blogger Data Source

Blogger is Google's free blog-publishing platform that exposes blogs, posts, pages, comments, and users through a REST API. Follow the instructions below to create a new data flow that ingests data from a Blogger source in Nexla.
blogger_api.png

Blogger

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Blogger connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Blogger instance, and click Next; or, create a new Blogger credential for use in this flow.

  3. In Nexla, Blogger data sources can be created using pre-built endpoint templates, which expedite source setup for common Blogger endpoints. Each template is designed specifically for the corresponding Blogger endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Blogger sources can also be configured manually, allowing you to ingest data from Blogger endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Blogger endpoints. Each template is designed specifically for the corresponding Blogger endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    List User Blogs

    This endpoint returns the list of blogs owned by the authenticated user (the user who authorized the OAuth credential). Use it as a discovery step to obtain blog IDs that are required by every other Blogger endpoint.

    • No configuration is required for this endpoint beyond selecting it. Blogger automatically returns all blogs accessible to the authenticated user via the /users/self/blogs route.
    • Each entry in the returned items array contains the blog's numeric id, name, description, url, post counts, and locale metadata.

    Blog IDs from this endpoint are required by virtually every other Blogger endpoint — including Get Blog by ID, List Posts, List Pages, List Comments by Blog, and all destination endpoints. Run this source first when bootstrapping a new Blogger integration.

    List Blogs by User

    This endpoint returns the list of blogs owned by, or accessible to, a specific Blogger user. Use it when the authenticated OAuth user has access to multiple Blogger user accounts (for example, when authoring across team accounts) and you need to enumerate blogs for a user other than self.

    • Enter the Blogger user ID in the User Id field. Use the literal value self to refer to the authenticated user, or a numeric user ID obtained from the Get User endpoint or from the author.id attribute of a previously fetched post.

    For complete reference information, see the Blogs: listByUser reference.

    Get Blog by ID

    This endpoint retrieves the full metadata for a single blog by its numeric ID, including the blog name, description, URL, locale, and post and page counts. Use it to enrich a dataset of blog IDs with the latest blog-level details.

    • Enter the numeric blog ID in the Blog ID field. This field is required. Blog IDs can be obtained from the List User Blogs endpoint.
    • Leave the $.Xgafv field blank in normal usage. This is Google's standard v1/v2 error-format query parameter and is not required for typical Blogger calls.

    Get Blog by URL

    This endpoint retrieves a blog by its public URL rather than by numeric ID. Use it to look up the blog ID and metadata when you only have the blog's address — for example, when integrating with a marketing dataset that stores blog URLs.

    • Enter the full blog URL (including https://) in the Blog URL field. This field is required. Example: https://buzz.blogger.com/.
    • Optionally, enter a view filter in the View field to control which fields are returned: ADMIN for full admin-level detail, AUTHOR for the author's view, or READER for the public view.

    Get Blog User Info

    This endpoint retrieves per-user metadata for a specific blog — including the user's role on the blog and their permissions — combined with the blog's own metadata. Use it to verify access rights or to inspect role assignments programmatically.

    • Enter the user ID in the User Id field. Use self for the authenticated user, or a numeric user ID from the Get User endpoint.
    • Enter the numeric blog ID in the Blog Id field.
    • Optionally, enter the maximum number of recent posts to include in the response in the Max Posts field. Leaving this blank returns only blog-user metadata without inline posts.

    Get Page Views

    This endpoint returns page-view statistics for a blog over a specified time window. Use it to feed Blogger traffic data into a warehouse, BI tool, or marketing dashboard alongside content data from List Posts.

    • Enter the numeric blog ID in the Blog Id field. This field is required.
    • Optionally, enter a time window in the Range field. Supported values include 30DAYS, 7DAYS, and all for the lifetime total. The parameter can be repeated to fetch multiple ranges in a single call.

    Page-view counts returned by this endpoint represent the total across all posts and pages on the blog for the selected range. To analyze traffic by post, pair this endpoint with List Posts in a separate flow.

    List Posts

    This endpoint returns a paginated list of posts from a blog. Use it as the primary content-sync endpoint for ingesting Blogger posts into a warehouse, content management system, or analytics platform. Pagination is handled automatically by Nexla using Blogger's nextPageToken.

    • Enter the numeric blog ID in the Blog Id field. This field is required.
    • Optionally, enter a maximum result count in the Max Results field. Blogger caps this at 500 per page.
    • Set the Fetch Bodies field to true to include the full HTML body of each post, or false to return only metadata. Omitting bodies dramatically reduces payload size for large catalogs.
    • Set the Fetch Images field to true to include image metadata extracted from each post's body.
    • To restrict the date window, enter ISO 8601 timestamps (for example, 2026-01-01T00:00:00-00:00) in the Start Date and End Date fields. The Nexla {now} and {now-1} macros can be used here for incremental ingestion.
    • To filter by post status, enter one of LIVE, DRAFT, SCHEDULED, or SOFT_TRASHED in the Status field. The parameter can be repeated to request multiple statuses.
    • To restrict results to specific labels, enter a comma-separated list of labels in the Labels field.
    • To sort the result set, enter published or updated in the Order By field.
    • To switch between admin and public views, enter ADMIN, AUTHOR, or READER in the View field. READER only returns posts visible to the public; ADMIN requires admin role on the blog.

    Combine Start Date set to {now-1} (with the Time Unit for Operations set to Day) and a scheduled cron in the Nexla flow to ingest only posts published since the last run.

    Get a Post

    This endpoint retrieves a single post by ID, including its full body, labels, and metadata. Use it to enrich an existing dataset of post IDs with the latest content, or to drive downstream workflows that operate on individual posts.

    • Enter the numeric blog ID in the Blog Id field. This field is required.
    • Enter the numeric post ID in the Post Id field. This field is required. Post IDs can be obtained from the List Posts endpoint.
    • Set the Fetch Body field to true to include the full HTML body of the post, or false to omit it.
    • Set the Fetch Images field to true to include image metadata extracted from the post body.
    • Optionally, enter a value in the Max Comments field to include up to that many of the most recent comments inline with the post.
    • Optionally, enter ADMIN or READER in the View field. ADMIN includes draft and scheduled posts and requires admin access; READER returns the public view only.

    Get Post by Path

    This endpoint retrieves a post by its URL path (the portion of the post URL after the blog's domain) rather than by numeric post ID. Use it when integrating with marketing or analytics data that references posts by their slug.

    • Enter the numeric blog ID in the Blog Id field. This field is required.
    • Enter the relative URL path of the post in the Path field. The path begins with a forward slash and matches the format Blogger uses for permalinks (for example, /2026/03/my-post.html). This field is required.
    • Optionally, enter a value in the Max Comments field to include recent comments inline with the post.
    • Optionally, enter ADMIN or READER in the View field to control which fields are returned.

    Search Posts

    This endpoint searches for posts on a blog using a free-text query, returning posts whose title or body match the query. Use it to build content-search integrations or to surface relevant Blogger content in a downstream knowledge base.

    • Enter the numeric blog ID in the Blog Id field. This field is required.
    • Enter the search query in the Q field. This field is required. Multi-word queries are matched against the post title and body.
    • To control the sort order of matched posts, enter published or updated in the Order By field. The default is published (most recent first).
    • Optionally, enter true in the Fetch Bodies field to include full post bodies in the response.

    Search uses Blogger's built-in indexing and only returns published posts visible to readers; it does not match drafts or scheduled posts.

    List Post User Infos

    This endpoint returns posts on a blog combined with per-user metadata (for example, the requesting user's role on each post) for a specified Blogger user. Use it to drive author-specific dashboards or to enumerate posts that a particular user has rights to edit.

    • Enter the user ID in the User Id field. Use self for the authenticated user.
    • Enter the numeric blog ID in the Blog Id field. This field is required.
    • Optionally, enter a maximum result count in the Max Results field. Pagination is handled automatically by Nexla.
    • Set the Fetch Bodies field to true to include full post bodies, or false to return only metadata.
    • To restrict the date window, enter ISO 8601 timestamps in the Start Date and End Date fields.
    • To filter by labels, enter a comma-separated list in the Labels field.
    • To filter by status, enter LIVE, DRAFT, SCHEDULED, or SOFT_TRASHED in the Status field. The parameter can be repeated to request multiple statuses.
    • To control sort order, enter published or updated in the Order By field.
    • To switch between admin and public views, enter ADMIN or READER in the View field.

    List Pages

    This endpoint returns a paginated list of static pages on a blog. Pages on Blogger are evergreen content (such as "About" or "Contact"), distinct from posts. Pagination is handled automatically by Nexla using Blogger's nextPageToken.

    • Enter the numeric blog ID in the Blog Id field. This field is required.
    • Optionally, enter a maximum result count in the Max Results field.
    • Set the Fetch Bodies field to true to include the full HTML body of each page.
    • To filter by status, enter LIVE, DRAFT, or SOFT_TRASHED in the Status field. The parameter can be repeated to request multiple statuses.
    • To switch between admin and public views, enter ADMIN, AUTHOR, or READER in the View field.

    Get Page by ID

    This endpoint retrieves a single page by blog ID and page ID, returning the page's full HTML body and metadata. Use it to fetch the latest version of a specific static page for a downstream site or CMS.

    • Enter the numeric blog ID in the Blog ID field. This field is required.
    • Enter the numeric page ID in the Page ID field. This field is required. Page IDs can be obtained from the List Pages endpoint.

    List Comments by Blog

    This endpoint returns a paginated list of all comments on a blog, across all posts. Use it for blog-wide comment moderation or to feed comment data into a sentiment-analysis or community-management pipeline. Pagination is handled automatically by Nexla.

    • Enter the numeric blog ID in the Blog Id field.
    • To restrict the date window, enter ISO 3339 (RFC 3339) timestamps in the Start Date and End Date fields. The Nexla {now} and {now-1} macros can be used here for incremental ingestion.
    • Set the Fetch Bodies field to true to include the full comment text, or false to return only metadata.
    • Optionally, enter a maximum result count in the Max Results field.
    • To filter by moderation status, enter live, pending, spam, or emptied in the Status field.
    • The Page Token field is managed automatically by Nexla pagination and does not normally need to be set manually.

    List Comments

    This endpoint returns the comments attached to a specific post. Use it when ingesting comments tied to a known set of posts — for example, syncing the discussion on a recent campaign post into a CRM or community tool.

    • Enter the numeric blog ID in the Blog Id field. This field is required.
    • Enter the numeric post ID in the Post Id field. This field is required.
    • To restrict the date window, enter RFC 3339 timestamps in the Start Date and End Date fields.
    • Set the Fetch Bodies field to true to include the full comment text.
    • Optionally, enter a maximum result count in the Max Results field.
    • To filter by moderation status, enter live, pending, spam, or emptied in the Status field.
    • To switch between admin and public views, enter ADMIN or READER in the View field. ADMIN returns pending and spam comments; READER returns only live comments.

    Get User

    This endpoint retrieves a Blogger user profile, including the user's display name, locale, and account creation timestamp. Use it to enrich a dataset of user IDs with profile metadata, or to look up the authenticated user via self.

    • Enter the user ID in the User ID field. Use self for the authenticated user, or a numeric user ID. This field is required.
    • Leave the $.Xgafv field blank in normal usage.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Blogger data sources can be manually configured to ingest data from any valid Blogger API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Blogger sources, such as sources that chain calls to multiple endpoints — for example, listing posts and then fetching comments for each post.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Blogger API from the Method pulldown menu. All read-only Blogger endpoints use GET:

    • GET: For retrieving blogs, posts, pages, comments, page views, and user profiles
    • POST: For creating new resources (used in destinations, not sources)
    • PUT / PATCH: For updating existing resources (used in destinations, not sources)
    • DELETE: For removing resources (used in destinations, not sources)

API Endpoint URL

  1. Enter the URL of the Blogger API endpoint from which this source will fetch data in the Set API URL field. All Blogger v3 URLs use the base https://blogger.googleapis.com/v3/ followed by the resource path (for example, https://blogger.googleapis.com/v3/users/self/blogs to list blogs for the authenticated user, or https://blogger.googleapis.com/v3/blogs/{blog_id}/posts to list posts).

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods. They are particularly useful for Blogger endpoints that filter on startDate and endDate (for example, /posts and /comments), which expect RFC 3339 timestamps.

Macros are particularly useful for incremental ingestion. For example, you can use {now-1} with a Day time unit to fetch only posts or comments published since the previous run.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime

    • {now-1} – The datetime one time unit before the current datetime

    • {now+1} – The datetime one time unit after the current datetime

    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime

  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. The Blogger API expects RFC 3339 timestamps (for example, 2026-05-01T00:00:00-00:00) for the startDate and endDate parameters, so choose a format that emits a full RFC 3339 timestamp.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that adapt based on existing data. For Blogger, this is useful when you have a Nexla dataset of post IDs, blog IDs, or page IDs and want to fetch the related record for each.

Lookup-based macros are useful when chaining Blogger endpoints — for example, fetching comments for each post returned by List Posts, or fetching the page body for every page ID returned by List Pages.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data returned by a Blogger endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) by specifying the path to the relevant data within the response.

Blogger list endpoints (such as /posts, /pages, /comments, and /users/self/blogs) return an items array alongside pagination metadata, so the path to data is $.items[*]. Endpoints that return a single object (such as /blogs/{blog_id} or /posts/{post_id}) use $ to treat the entire response body as a single record.

Path to Data is essential when API responses have nested structures. Without specifying the correct path, Nexla might not be able to properly parse and organize your data into usable records.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (for example, $.items[*] to access every element of the Blogger items array).
    Path to Data Example:

    For a Blogger list endpoint (such as GET /blogs/{blog_id}/posts), enter $.items[*] as the path to data. For an endpoint that returns a single object (such as GET /blogs/{blog_id}/posts/{post_id}), enter $.

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. This is useful when you want to preserve important contextual information that applies to all records but isn't part of the main data array.

For Blogger list endpoints, the kind, nextPageToken, and etag fields are returned as siblings of the items array. These can be captured as record-level metadata for downstream auditing or pagination tracking.

Metadata paths are particularly useful for preserving API response context like the Blogger etag (for change detection) or nextPageToken (for verifying that pagination completed).

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (for example, header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials. The Authorization: Bearer ... header is added automatically based on your Blogger OAuth credential.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Blogger data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.