Felo API PlatformFelo API Platform
v0.1.0-beta
OpenAPI 3.1.0

Live Claude LLM Responses

Server:https://openapi.felo.ai
Client Libraries

DataForSEO

​

SEO, search-engine results, keyword research, backlinks and AI visibility data.

Live Claude LLM Responses

​

Sends a user_prompt to a Claude model and returns its reply, synchronously. model_name must come from get_dataforseo_ai_claude_llm_responses_models - names look like claude-sonnet-5, and a plausible-looking guess is rejected. Returns model_name, input_tokens, output_tokens, reasoning_tokens, web_search, money_spent, datetime, items and fan_out_queries. Read money_spent on the response to see what a prompt actually cost. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200.

Body
required
application/json
  • Type: array object[]
    • model_name
      Type: string
      required

      name of the AI model required field model_nameconsists of the actual model name and version name; if the basic model name is specified, its latest version will be set by default; for example, if claude-opus-4-0 is specified, the claude-opus-4-20250514 will be set as model_name automatically; you can receive the list of available LLM models by making a separate request to the https://api.dataforseo.com/v3/ai_optimization/claude/llm_responses/models

    • user_prompt
      Type: string
      required

      prompt for the AI model required field the question or task you want to send to the AI model; you can specify up to 500 characters in the user_prompt field

    • force_web_search
      Type: boolean

      force AI agent to use web search optional field to enable this parameter, web_search must also be enabled; when enabled, the AI model is forced to access and cite current web information; default value: false; Note: even if the parameter is set to true, there is no guarantee web sources will be cited in the response

    • max_output_tokens
      Type: integer

      maximum number of tokens in the AI response optional field minimum value: 1; maximum value: 4096; default value: 2048; Note: if web_search is set to true or the reasoning model is specified in the request, the output token count may exceed the specified max_output_tokens limit Note #2: if use_reasoning is set to true, the minimum value for max_output_tokens is 1025

    • message_chain
      Type: array object[]

      conversation history optional field array of message objects representing previous conversation turns; each object must contain role and message parameters: role string with either user or ai role; message string with message content (max 500 characters); you can specify the maximum of 10 message objects in the array; example: "message_chain": [{"role":"user","message":"Hello, what’s up?"},{"role":"ai","message":"Hello! I’m doing well, thank you. How can I assist you today?"}]

      • message
        Type: string
        required
      • role
        Type: string enum
        required
        values
        • user
        • ai
    • system_message
      Type: string

      instructions for the AI behaviour optional field defines the AI's role, tone, or specific behavior; you can specify up to 500 characters in the system_message field

    • tag
      Type: string

      user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response

    • temperature
      Type: number

      randomness of the AI response optional field higher values make output more diverse; lower values make output more focused; minimum value: 0 maximum value: 1 default value: 0.7Note: temperature cannot be used together with top_p in the same request

    • top_p
      Type: number

      diversity of the AI response optional field controls diversity of the response by limiting token selection; minimum value: 0 maximum value: 1 default value: nullNote: top_p cannot be used together with temperature in the same request

    • use_reasoning
      Type: boolean

      enable reasoning for the AI model optional field when enabled, the model will perform reasoning before generating a response refer to the Models endpoint for a list of models that support reasoning default value: false Note: if set to true, the minimum value for max_output_tokens is 1025 Note #2: if set to true, force_web_search must be set to false Note #3: if set to true, the temperature and top_p cannot be used

    • web_search
      Type: boolean

      enable web search for current information optional field when enabled, the AI model can access and cite current web information; Note: refer to the Models endpoint for a list of models that support web_search; default value: false; The cost of the parameter can be calculated on the Pricing page

    • web_search_city
      Type: string

      city name of the location optional field Note: specify web_search_country_iso_code to use this parameter

    • web_search_country_iso_code
      Type: string

      ISO country code of the location optional field possible values: 'AR','AT','AU','BE','BR','CA','CH','CL','CN','DE','DK','ES','FI','FR','GB','HK','ID','IN','IT','JP','KR','MX','MY','NL','NO','NZ','PH','PL','PT','RU','SA','SE','TR','TW','US','ZA'

Responses
  • 200
    Type: object

    Successful response

    • cost
      Type: number

      total tasks cost, USD

    • status_code
      Type: integer

      general status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions

    • status_message
      Type: string

      general informational message you can find the full list of general informational messages here

    • tasks
      Type: array string[]

      array of tasks

    • tasks_count
      Type: integer

      the number of tasks in the tasks array

    • tasks_error
      Type: integer

      the number of tasks in the tasks array returned with an error

    • tasks.cost
      Type: number

      cost of the task, USD includes the base task price plus the money_spent value

    • tasks.data
      Type: object

      contains the same parameters that you specified in the POST request

    • tasks.id
      Type: string

      task identifier unique task identifier in our system in the UUID format

    • tasks.path
      Type: array string[]

      URL path

    • tasks.result
      Type: array string[]

      array of results

    • tasks.result_count
      Type: integer

      number of elements in the result array

    • tasks.result.datetime
      Type: string

      date and time when the result was received in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00

    • tasks.result.fan_out_queries
      Type: array string[]

      array of fan-out queries contains related search queries derived from the main query to provide a more comprehensive response

    • tasks.result.input_tokens
      Type: integer

      number of tokens in the input total count of tokens processed

    • tasks.result.items
      Type: array string[]

      array of response items contains structured AI response data

    • tasks.result.items.message
      Type: object

      element in the response

    • tasks.result.items.message.sections
      Type: array string[]

      array of content sections contains different parts of the AI response

    • tasks.result.items.message.sections.annotations
      Type: array string[]

      array of references used to generate the response equals null if the web_search parameter is not set to true Note: annotations may return empty even when web_search is true, as the AI will attempt to retrieve web information but may not find relevant results

    • tasks.result.items.message.sections.annotations.title
      Type: string

      the domain name or title of the quoted source

    • tasks.result.items.message.sections.annotations.url
      Type: string

      URL of the quoted source

    • tasks.result.items.message.sections.text
      Type: string

      AI-generated text content

    • tasks.result.items.message.sections.type
      Type: string

      type of element='text'

    • tasks.result.items.message.type
      Type: string

      type of the element = 'message'

    • tasks.result.items.reasoning
      Type: object

      element in the response

    • tasks.result.items.reasoning.sections
      Type: array string[]

      reasoning chain sections array of objects containing the reasoning chain sections generated by the LLM

    • tasks.result.items.reasoning.sections.text
      Type: string

      text of the reasoning chain section text of the reasoning chain section summarizing the model's thought process

    • tasks.result.items.reasoning.sections.type
      Type: string

      type of element='summary_text'

    • tasks.result.items.reasoning.type
      Type: string

      type of the element = 'reasoning' Note: this element is supported only in reasoning models and is not guaranteed to be returned

    • tasks.result.model_name
      Type: string

      name of the AI model used

    • tasks.result.money_spent
      Type: number

      cost of AI tokens, USD the price charged by the third-party AI model provider for according to its Pricing

    • tasks.result.output_tokens
      Type: integer

      number of tokens in the output total count of tokens generated in the AI response

    • tasks.result.reasoning_tokens
      Type: integer

      number of reasoning tokens total count of tokens used to generate reasoning content

    • Type: boolean

      indicates if web search was used

    • tasks.status_code
      Type: integer

      status code of the task generated by DataForSEO; can be within the following range: 10000-60000 you can find the full list of the response codes here

    • tasks.status_message
      Type: string

      informational message of the task you can find the full list of general informational messages here

    • tasks.time
      Type: string

      execution time, seconds

    • time
      Type: string

      execution time, seconds

    • version
      Type: string

      the current version of the API

    application/json
  • 400

    Bad request

  • 401

    Unauthorized

  • 402

    The request cannot proceed because a billing requirement is not met.

  • 403

    The account is not permitted to perform this operation.

  • 429

    Rate limit exceeded

  • 500

    Internal server error

  • 502

    The service could not complete the request.

  • 503

    The API or billing service is temporarily unavailable.

  • 504

    The service timed out while processing the request.

  • default

    The operation failed. Keep the response request ID when contacting Felo support.

Request Example for post/v1/beta/dataforseo/ai_optimization/claude/llm_responses/live
curl https://openapi.felo.ai/v1/beta/dataforseo/ai_optimization/claude/llm_responses/live \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '[
  {
    "user_prompt": "",
    "model_name": "",
    "max_output_tokens": 1,
    "temperature": 1,
    "top_p": 1,
    "web_search": true,
    "force_web_search": true,
    "web_search_country_iso_code": "",
    "web_search_city": "",
    "system_message": "",
    "message_chain": [
      {
        "role": "user",
        "message": ""
      }
    ],
    "use_reasoning": true,
    "tag": ""
  }
]'
{
  "version": "string",
  "status_code": 1,
  "status_message": "string",
  "time": "string",
  "cost": 1,
  "tasks_count": 1,
  "tasks_error": 1,
  "tasks": [
    "string"
  ],
  "tasks.id": "string",
  "tasks.status_code": 1,
  "tasks.status_message": "string",
  "tasks.time": "string",
  "tasks.cost": 1,
  "tasks.result_count": 1,
  "tasks.path": [
    "string"
  ],
  "tasks.data": {},
  "tasks.result": [
    "string"
  ],
  "tasks.result.model_name": "string",
  "tasks.result.input_tokens": 1,
  "tasks.result.output_tokens": 1,
  "tasks.result.reasoning_tokens": 1,
  "tasks.result.web_search": true,
  "tasks.result.money_spent": 1,
  "tasks.result.datetime": "string",
  "tasks.result.items": [
    "string"
  ],
  "tasks.result.items.reasoning": {},
  "tasks.result.items.reasoning.type": "string",
  "tasks.result.items.reasoning.sections": [
    "string"
  ],
  "tasks.result.items.reasoning.sections.type": "string",
  "tasks.result.items.reasoning.sections.text": "string",
  "tasks.result.items.message": {},
  "tasks.result.items.message.type": "string",
  "tasks.result.items.message.sections": [
    "string"
  ],
  "tasks.result.items.message.sections.type": "string",
  "tasks.result.items.message.sections.text": "string",
  "tasks.result.items.message.sections.annotations": [
    "string"
  ],
  "tasks.result.items.message.sections.annotations.title": "string",
  "tasks.result.items.message.sections.annotations.url": "string",
  "tasks.result.fan_out_queries": [
    "string"
  ]
}
Live Claude LLM Responses