---
title: 'From your own ideas: score it, accept it, check it against live search'
description: 'Score an idea against your niche with expand_idea, commit it with accept_idea, or bring a full spec, then check it against live search with check_idea. Works on free.'
slug: from-your-own-ideas
group: workflows
order: 11
keywords: [expand_idea, accept_idea, check_idea, niche fit, article idea, free briefs, live search check]
related: [your-first-project, data-backed-path, free-and-paid, from-the-market-radar]
updated: '2026-10-26'
---

This path starts from what you already want to write. Your agent scores the idea against your niche, you accept it, and the brief forges. It works on the free plan and needs no research run.

## Score the idea first

`expand_idea` takes the idea as you said it, between 10 and 500 characters, and passes it verbatim:

```json
{ "projectId": "<project id>", "ideaText": "why sourdough starters fail in cold kitchens" }
```

It writes nothing to your plan. It returns a title, an angle, the search intent, up to five related queries, a `demandEstimate` of `low`, `medium` or `high`, a short reasoning and a niche fit from 0 to 100. The niche fit says how well the idea sits in the market your project describes. It is a reading of fit, not a search volume.

Your agent shows you the score before anything is committed. A low fit is worth a second look: the idea may belong to a different project, or the angle may need to move closer to your audience.

`expand_idea` allows 20 expansions a day on every plan. Past that, it returns a structured wall and points to the two tools below that skip scoring.

## Accept it

`accept_idea` commits the expanded idea as an article suggestion. It takes the fields `expand_idea` returned plus your original sentence, which it stores verbatim as the idea's provenance. The related queries become the suggestion's target keywords. The suggestion lands in `generating_brief` and its brief starts on its own, so no `generate_article_brief` call follows.

## When you already have the spec

`create_article_suggestion_with_input` skips scoring for an operator who knows exactly what they want. It takes a `title` and a `primaryKeyword`, and optionally up to 10 `secondaryKeywords`, the `searchIntent`, a `targetAudience`, an `angle`, a `wordCountTarget` between 300 and 8,000 and your `reasoning`. It creates the project's content plan if there is none yet and forges the brief like the others.

## Check it against live search

A scored idea is still a judgment. `check_idea` adds data: one live Google search per target keyword on the suggestion, up to 8 keywords, returning volume bands and the pages ranking now. It spends no research credits.

It is capped per day and per month on every plan. On Free Forge that is 2 a day and 10 a month; [Free and paid](/docs/free-and-paid) lists every plan. The daily cap resets at midnight UTC and the monthly cap on the 1st. A check whose search fails is not counted. `get_account_status` reports what is left in `idea_checks`.

Because the cap is small, a check is spent only when you ask for it. Your agent offers it after a suggestion is created and waits for your yes. It never checks a batch on its own after creating several suggestions. The server makes one exception: the first suggestion you add by hand to a project, through `create_article_suggestion_with_input`, `add_article_suggestion` or the web app's bulk add, is checked once automatically. Ideas committed with `accept_idea` are not part of that exception.

Every suggestion reports `checked`, so an unchecked one tells your agent that live data is one call away.

## What a check cannot tell you

A check places an idea against a research run, and without one there is nothing to place it against. On a project with a completed run, the check also returns an opportunity score and the cluster the idea falls into. On a project without one, those two fields are absent, not guessed. [The data-backed path](/docs/data-backed-path) is what produces them.

## The brief cap

On the free plan, every forged brief spends one of 10 slots in a 24-hour window that starts with the first brief. Past the cap, accepted ideas still land in the plan; their briefs queue and forge when a slot frees up. `get_article_brief` reports `queued` with a `queuedUntil` time, or `forging`. When a suggestion reports `brief_ready`, `download_brief_markdown` hands the brief to your writer. Paid plans carry no daily brief cap.

## When to take this path

Take it when you know what you want to write, when the project has no research run yet, or when you would rather draft from your own read of the market. Take [the data-backed path](/docs/data-backed-path) when you want a ranked plan built from search data, and [the market radar](/docs/from-the-market-radar) when you want timely pieces on what people are discussing now.
