Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/bookmarks/create/index.md
6552 views
---
title: bookmarks.create() slug: Mozilla/Add-ons/WebExtensions/API/bookmarks/create page-type: webextension-api-function tags: - API - Add-ons - Bookmarks - Create - Extensions - Method - Non-standard - Reference - WebExtensions browser-compat: webextensions.api.bookmarks.create
---

{{AddonSidebar()}}

Creates a bookmark or folder as a child of the {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} with the specified parentId. To create a folder, omit or leave empty the {{WebExtAPIRef("bookmarks.CreateDetails", "CreateDetails", "url")}} parameter.

Warning: If your extension tries to create a new bookmark in the bookmark tree's root node, it raises an error: "The bookmark root cannot be modified" and the bookmark won't be created.

This is an asynchronous function that returns a Promise.

Syntax

let createBookmark = browser.bookmarks.create( bookmark // CreateDetails object )

Parameters

  • bookmark

    • : A {{WebExtAPIRef("bookmarks.CreateDetails")}} object.

Return value

A Promise that will be fulfilled with a {{WebExtAPIRef('bookmarks.BookmarkTreeNode', 'BookmarkTreeNode')}} that describes the new bookmark node.

Note: If you create multiple bookmarks, because this API is asynchronous, the create calls may get processed in any order. Consequently, the value of each bookmark's index returned in {{WebExtAPIRef('bookmarks.BookmarkTreeNode', 'BookmarkTreeNode')}} may change or be unknown until all the create calls are completed. If the index associated with a bookmark matters to your extension, then – when creating multiple bookmarks – the extension should wait for each bookmarks.create call to complete before creating the next bookmark. Waiting ensures that the index associated with each bookmark is not affected by a create call executing concurrently while the original call is in progress.

Examples

This example creates a bookmark for this page, placing it in the default folder ("Other Bookmarks" in Firefox and Chrome).

function onCreated(node) { console.log(node); } let createBookmark = browser.bookmarks.create({ title: "bookmarks.create() on MDN", url: "https://developer.mozilla.org/Add-ons/WebExtensions/API/bookmarks/create", }); createBookmark.then(onCreated);

{{WebExtExamples}}

Browser compatibility

{{Compat}}

Note: This API is based on Chromium's chrome.bookmarks API. This documentation is derived from bookmarks.json in the Chromium code.