Nimble Studio
Visual, no-code creation in the browser
API / CLI / SDK
Create agents from code, terminal, or CI/CD pipelines
Agent Builder Skill
AI-assisted creation in Claude Code or Cursor
Custom vs Public Agents
| Feature | Public Agent | Custom Agent |
|---|---|---|
| Maintenance | Maintained by Nimble 24/7 | Maintained by you |
| Setup | Zero, just use agent name | Create via Platform, API, CLI, SDK, or IDE |
| Availability | Popular sites | Any website |
| Auto-healing | Yes, updated when sites change | No, you update if needed |
| API usage | Same Agent API | Same Agent API |
| Visibility | Available to all users | Private to your account |
Choose Your Method
All methods produce the same result: a private agent accessible via the Agent API. The difference is the interface.| Method | Best for | Setup |
|---|---|---|
| Nimble Studio | Non-technical users, quick visual creation | None, browser only |
| API | CI/CD pipelines, automated agent creation | API key |
| CLI | Terminal-first developers | npm i -g @nimble-way/nimble-cli + API key |
| SDK (Python/Node) | Programmatic creation in application code | pip install nimble_python or npm i @nimble-way/nimble-js + API key |
| Agent Builder Skill | AI-assisted creation in Claude Code / Cursor | Plugin install + API key |
Agent Builder Skill (Recommended)
The fastest way to create custom agents. The Agent Builder skill handles the entire generate/test/iterate flow inside your IDE. Just describe what you need in plain language, and your AI assistant does the rest.Get Started with Agent Builder
Install the Nimble plugin for Claude Code or Cursor and start building agents
from your IDE in minutes.
Via API / CLI / SDK
For CI/CD pipelines, automation, or full programmatic control. All methods follow three steps: generate, poll, iterate.Generate
Describe what you need. Optionally provide input/output schemas. Refine
an existing agent by passing
from_agent.Poll for completion
Generation is async. Poll the generation ID until status is
success. This
typically takes 3-7 minutes for new agents, or as fast as 1 minute for
refinements. The generated version is automatically available via the Agent API.Generate
POST /v1/agents/generations
agent_name - Required
agent_name - Required
Name for the new agent. Use lowercase with underscores (e.g.,
niche_store_pdp).Be descriptive: competitor_pricing not agent1. Include the site or type: niche_store_reviews.prompt - Required
prompt - Required
Natural language description of what data to extract from the target page.Be specific about data types and structure. For example: “Extract product name, current price as a number, rating out of 5, and first 5 reviews with rating and text.”
url - Required
url - Required
Sample URL of the page type you want to extract from. The generation engine analyzes this page to build the extraction logic.
from_agent
from_agent
Name of an existing agent to refine. Use this to iterate on a previous generation. A new version is created with the new prompt applied on top, preserving what already works.
input_schema
input_schema
Custom input schema defining the parameters the agent accepts (e.g.,
url, keyword, page). If omitted, the schema is inferred from the prompt and URL.output_schema
output_schema
Custom output schema defining the structure of extracted data. If omitted, the schema is inferred from the prompt.
metadata
metadata
Additional metadata to attach to the agent. Use this for internal labels, tags, or tracking information.
Generate Response
| Field | Type | Description |
|---|---|---|
id | string | Unique generation ID. Use this to poll for completion. |
status | string | queued, in_progress, success, or failed. |
agent_name | string | The agent name provided in the request. |
Poll Response
GET /v1/agents/generations/{generation_id}
Generation is async and typically takes 3-7 minutes for new agents, or as fast as 1 minute for refinements. Poll with the generation_id (path parameter) until status is success. Review the results to decide whether to iterate or use the agent.
Response:
| Field | Type | Description |
|---|---|---|
id | string | The generation ID. |
status | string | queued, in_progress, success, or failed. |
agent_name | string | The agent name. |
generated_version_id | string | Version ID of the generated agent. Present when success. Automatically published. |
summary | string | What the generated agent does. Present when success. Review to decide if refinement is needed. |
Iterate (Optional)
POST /v1/agents/generations
If the generation results are not satisfactory, refine the agent by calling the same generate endpoint with from_agent. A new version is created with the new prompt applied on top, preserving what already works.
from_agent - Required
from_agent - Required
Name of the agent to refine. Pass the agent name from the original generation.
prompt - Required
prompt - Required
Describe what to change. For example: “Add a discount_percentage field” or
“Fix the reviews array to include the reviewer name.”
POST /v1/agents/run with "agent": "niche_store_pdp" just like any pre-built agent. See the Agents API docs for full usage.
Tips for Better Agents
Be specific about data types. Instead of “get the price”, say “extract the current price as a number without currency symbols.” Describe the structure you want. Instead of “get reviews”, say “extract reviews as an array with rating (1-5) and review text for each.” Mention edge cases. “Extract the sale price if available, otherwise use the regular price.” Test with multiple pages. Try your agent on different pages of the same type to ensure it works consistently.Agent Naming
- Use lowercase with underscores:
my_store_pdp - Be descriptive:
competitor_pricingnotagent1 - Include the site or type:
niche_store_reviews
Good to Know
- Pre-built agents are auto-maintained by Nimble 24/7. Custom agents can be updated anytime via Nimble Studio, API, CLI, or SDK if the target site changes.
- Each agent handles one page type. For multi-page workflows, create separate agents (e.g., one for search results, one for product details).
- Custom agents are private to your account but shared within your team.
FAQ
Can I use custom agents in production?
Can I use custom agents in production?
Yes. Custom agents are designed for production use. They use the same
reliable infrastructure as public agents with predictable costs and high
throughput.
What happens if the target website changes?
What happens if the target website changes?
Unlike public agents (maintained by Nimble 24/7), custom agents don’t
auto-heal. If extractions start failing or returning incorrect data, update
the agent via Nimble Studio, API, CLI, or SDK
using the
from_agent refinement flow.How long does generation take?
How long does generation take?
Generation typically takes 3-7 minutes for new agents, or as fast as 1
minute for refinements. Poll the generation ID until the status is
success.What is the difference between generate and refine (from_agent)?
What is the difference between generate and refine (from_agent)?
generate creates a new agent from scratch. Passing from_agent refines an
existing agent by creating a new version with your prompt applied on top,
preserving what already works while fixing what doesn’t.Can I automate agent creation in CI/CD?
Can I automate agent creation in CI/CD?
Yes. The full generate/poll/iterate flow is available via REST API,
making it straightforward to integrate into CI/CD pipelines.
How many custom agents can I create?
How many custom agents can I create?
There is no limit on the number of custom agents you can create.
Can I share custom agents with my team?
Can I share custom agents with my team?
Next Steps
Nimble Studio
Create agents visually in the browser
Agent Builder Skill
AI-assisted creation in Claude Code or Cursor
Agent Gallery
Browse pre-built agents for popular sites
API Reference
Full API docs for agents endpoints