Appearance
/get-query
Retrieves content recommendations for a given query. Works on any query, whether or not it was created via the API.
- Method: POST
- Endpoint:
https://app.neuronwriter.com/neuron-api/0.5/writer/get-query
After creating a query with /new-query it usually takes ~60 seconds to prepare recommendations. Use /get-query to check whether analysis finished (status == "ready") and, when it has, read the recommendations from the response.
Parameters
| Parameter | Example | Description |
|---|---|---|
query | 32dee2a89374a722 | The ID of your query. |
Response
| Key | Description |
|---|---|
status | Whether the query has been processed. Values: not found, waiting, in progress, ready. When ready, the keys below are included. |
metrics | General recommendations such as typical content length and readability target. Example: {'word_count': {'median': 1864, 'target': 1864}, 'readability': {'median': 40, 'target': 40}} |
terms_txt | Content term suggestions (title, desc_title, h1, h2, content_basic, content_extended) in plain text. Handy for feeding directly into ChatGPT/Claude prompts. |
terms | Detailed term data: title/desc/h1/h2/content_basic/content_extended each as a list of {t, usage_pc, sugg_usage}, plus entities with {t, importance, relevance, confidence, links}. |
ideas | Questions related to the topic: suggest_questions, people_also_ask, content_questions. |
competitors | Basic info about the SERP competitors: rank, url, title, desc. |
serp_summary | User intent + content-type stats across the TOP30 results. Example: {'top_intent': 'informational', 'intent_stats': {...}, 'top_content_type': 'educational', 'content_type_stats': {...}} (available for queries created after 2025-08-26). |
Recommended polling pattern
python
import json, requests, time
API_ENDPOINT = 'https://app.neuronwriter.com/neuron-api/0.5/writer'
API_KEY = '<your-neuron-api-key>'
headers = {"X-API-KEY": API_KEY, "Accept": "application/json", "Content-Type": "application/json"}
def get_query(query_id):
payload = json.dumps({"query": query_id})
r = requests.post(API_ENDPOINT + "/get-query", headers=headers, data=payload)
return r.json()
query_id = "79ca6b6b45fb9d67"
while True:
data = get_query(query_id)
if data.get("status") == "ready":
break
time.sleep(15)
print("Word count target:", data["metrics"]["word_count"]["target"])
print("Title terms:", data["terms_txt"]["title"])
print("PAA:", [q["q"] for q in data["ideas"]["people_also_ask"]])For prompt-stuffing
terms_txt is the fastest path into an LLM prompt. The structured terms object is better when you want to programmatically check usage ranges and build a coverage score.