Create Skill
Create a new skill via automated generation.
POST
/
skills
Create Skill
const options = {
method: 'POST',
headers: {'X-Browser-Use-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
goal: '<string>',
agentPrompt: '<string>',
title: '<string>',
description: '<string>'
})
};
fetch('https://api.browser-use.com/api/v2/skills', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://api.browser-use.com/api/v2/skills \
--header 'Content-Type: application/json' \
--header 'X-Browser-Use-API-Key: <api-key>' \
--data '
{
"goal": "<string>",
"agentPrompt": "<string>",
"title": "<string>",
"description": "<string>"
}
'import requests
url = "https://api.browser-use.com/api/v2/skills"
payload = {
"goal": "<string>",
"agentPrompt": "<string>",
"title": "<string>",
"description": "<string>"
}
headers = {
"X-Browser-Use-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": "Concurrent skill creations are not allowed. Please wait for the current skill creation to finish or cancel it."
}{
"detail": "Insufficient credits"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "Too many concurrent active sessions. Please wait for one to finish, kill one, or upgrade your plan."
}Authorizations
Body
application/json
Request to create a new skill via automated generation.
Goal of the skill (description of what the skill does and what the user should expect from it)
Maximum string length:
1000Prompt for the agent to use when generating the skill automatically
Minimum string length:
10Optional title for the skill (will be generated if not provided)
Maximum string length:
100Optional description for the skill (will be generated if not provided)
Maximum string length:
1000Response
Successful Response
Response after creating a skill.
Unique identifier for the created skill
Was this page helpful?
⌘I
Create Skill
const options = {
method: 'POST',
headers: {'X-Browser-Use-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
goal: '<string>',
agentPrompt: '<string>',
title: '<string>',
description: '<string>'
})
};
fetch('https://api.browser-use.com/api/v2/skills', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://api.browser-use.com/api/v2/skills \
--header 'Content-Type: application/json' \
--header 'X-Browser-Use-API-Key: <api-key>' \
--data '
{
"goal": "<string>",
"agentPrompt": "<string>",
"title": "<string>",
"description": "<string>"
}
'import requests
url = "https://api.browser-use.com/api/v2/skills"
payload = {
"goal": "<string>",
"agentPrompt": "<string>",
"title": "<string>",
"description": "<string>"
}
headers = {
"X-Browser-Use-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": "Concurrent skill creations are not allowed. Please wait for the current skill creation to finish or cancel it."
}{
"detail": "Insufficient credits"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "Too many concurrent active sessions. Please wait for one to finish, kill one, or upgrade your plan."
}