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

Content Analysis – Search API

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

DataForSEO

​

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

Content Analysis – Search API

​

Lists the individual pages citing a keyword, rather than the totals. Each item carries url, domain, main_domain, url_rank, domain_rank, spam_score, fetch_time, country, language, score and page_category, alongside total_count and items_count. filters accepts the fields listed by get_dataforseo_content_available_filters. For counts and distributions instead of pages, use post_dataforseo_content_summary_live.

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

        target keyword required field UTF-8 encoding the keywords will be converted to a lowercase format; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: "keyword": ""tesla palo alto"" learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article

      • filters
        Type: array

        array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like,not_like, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: ["country","=", "US"] [["domain_rank",">",800],"and",["content_info.connotation_types.negative",">",0.9]] [["domain_rank",">",800], "and", [["page_types","has","ecommerce"], "or", ["content_info.text_category","has",10994]]] for more information about filters, please refer to Content Analysis API – Filters

      • keyword_fields
        Type: object

        target keyword fields and target keywords optional field use this parameter to filter the dataset by keywords that certain fields should contain; fields you can specify: title, main_title, previous_title, snippet you can indicate several fields; Note: to match an exact phrase instead of a stand-alone keyword, use double quotes and backslashes; example: "keyword_fields": { "snippet": ""logitech mouse"", "main_title": "sale" }

        • main_title
          Type: string
        • previous_title
          Type: string
        • snippet
          Type: string
        • title
          Type: string
      • limit
        Type: integer

        the maximum number of returned citations optional field default value: 100 maximum value: 1000

      • offset
        Type: integer

        offset in the results array of returned citations optional field default value: 0 if you specify the 10 value, the first ten citations in the results array will be omitted and the data will be provided for the successive citations Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.

      • offset_token
        Type: string

        offset token for subsequent requests optional field provided in the identical field of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task learn more about this parameter on our Help Center

      • order_by
        Type: array string[]

        results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: ["content_info.sentiment_connotations.anger,desc"] default rule: ["content_info.sentiment_connotations.anger,desc"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: ["content_info.sentiment_connotations.anger,desc","keyword_data.keyword_info.cpc,desc"]

      • page_type
        Type: array string[]

        target page types optional field use this parameter to filter the dataset by page types possible values: "ecommerce", "news", "blogs", "message-boards", "organization"

      • rank_scale
        Type: string

        defines the scale used for calculating and displaying the domain_rank, and url_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works in this Help Center article

      • search_mode
        Type: string

        results grouping type optional field possible grouping types: as_is – returns all citations for the target keyword one_per_domain – returns one citation of the keyword per domain default value: as_is

      • 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

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

    • 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.items
      Type: array string[]

      contains citations and related data

    • tasks.result.items_count
      Type: integer

      the number of results returned in the items array

    • tasks.result.items.content_info
      Type: object

      contains data on citations from the given url

    • tasks.result.items.content_info.author
      Type: string

      author of the content

    • tasks.result.items.content_info.connotation_types
      Type: object

      connotation types contains types of sentiments (sentiment polarity) related to the given citation and probability index per each sentiment type possible sentiment connotation types: positive, negative, neutral

    • tasks.result.items.content_info.content_quality_score
      Type: integer

      content quality score this value is calculated based on the number of words, sentences and characters the content contains

    • tasks.result.items.content_info.content_type
      Type: string

      type of content example: page_content, comment

    • tasks.result.items.content_info.date_published
      Type: string

      date and time when the content was published in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2017-01-24 13:20:59 +00:00

    • tasks.result.items.content_info.group_date
      Type: string

      citation group date and time indicates content publication date or date and time when our crawler visited the page for the first time; this field can be used to group citations by date and display citation trends; date and time are provided in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2017-01-24 13:20:59 +00:00

    • tasks.result.items.content_info.highlighted_text
      Type: string

      highlighted text from the snippet

    • tasks.result.items.content_info.language
      Type: string

      content language to obtain a full list of available languages, refer to the Languages endpoint

    • tasks.result.items.content_info.level
      Type: integer

      title heading level indicates h-tag level from 1 (top) to 6 (bottom)

    • tasks.result.items.content_info.main_title
      Type: string

      page title

    • tasks.result.items.content_info.previous_title
      Type: string

      title of the previous content block

    • tasks.result.items.content_info.rating
      Type: object

      content rating rating related to content_info

    • tasks.result.items.content_info.rating.max_rating_value
      Type: integer

      maximum value for the rating name

    • tasks.result.items.content_info.rating.name
      Type: string

      rating name here you can find the following elements: Max5, Percents, CustomMax

    • tasks.result.items.content_info.rating.rating_count
      Type: integer

      number of votes

    • tasks.result.items.content_info.rating.rating_value
      Type: integer

      the value of the rating

    • tasks.result.items.content_info.rating.relative_rating
      Type: number

      relative rating

    • tasks.result.items.content_info.semantic_location
      Type: string

      semantic location indicates semantic element in HTML where the target keyword citation is located example: article, header

    • tasks.result.items.content_info.sentiment_connotations
      Type: object

      sentiment connotations contains sentiments (emotional reactions) related to the given citation and probability index per each sentiment possible sentiment connotations: anger, happiness, love, sadness, share, fun

    • tasks.result.items.content_info.snippet
      Type: string

      content snippet

    • tasks.result.items.content_info.snippet_length
      Type: integer

      character length of the snippet

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

      social media engagement metrics data on social media interactions associated with the content based on website embeds developed and supported by social media platforms

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

      text category to obtain a full list of available categories, refer to the Categories endpoint

    • tasks.result.items.content_info.title
      Type: string

      title of the result

    • tasks.result.items.country
      Type: string

      country code of the domain registration to obtain a full list of available countries, refer to the Locations endpoint

    • tasks.result.items.domain
      Type: string

      domain name

    • tasks.result.items.domain_rank
      Type: string

      rank of the domain this value is based on backlink data for the given domain from DataForSEO Backlink Index; domain_rank is calculated based on the method for node ranking in a linked database – a principle used in the original Google PageRank algorithm learn more about the metric and how it is calculated in this help center article

    • tasks.result.items.fetch_time
      Type: string

      date and time when our crawler visited the page in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2017-01-24 13:20:59 +00:00

    • tasks.result.items.language
      Type: string

      main language of the domain to obtain a full list of available languages, refer to the Languages endpoint

    • tasks.result.items.main_domain
      Type: string

      main domain

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

      contains all relevant page categories product and service categories relevant for the page to obtain a full list of available categories, refer to the Categories endpoint

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

      page types

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

      ratings found on the page all ratings found on the page based on microdata

    • tasks.result.items.score
      Type: string

      citation prominence score this value is based on url_rank, domain_rank, keyword presence in title, main_title, url, snippet the higher the score, the more value the related citation has

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

      social media engagement metrics data on social media interactions associated with the content based on website embeds developed and supported by social media platforms

    • tasks.result.items.spam_score
      Type: string

      backlink spam score of the url this value is based on backlink data for the given URL from DataForSEO Backlink Index; learn more about how the metric is calculated on this help center page

    • tasks.result.items.type
      Type: string

      type of element = ‘content_analysis_search’

    • tasks.result.items.url
      Type: string

      URL where the citation was found

    • tasks.result.items.url_rank
      Type: integer

      rank of the url this value is based on backlink data for the given URL from DataForSEO Backlink Index; url_rank is calculated based on the method for node ranking in a linked database – a principle used in the original Google PageRank algorithm learn more about the metric and how it is calculated in this help center article

    • tasks.result.offset_token
      Type: string

      offset token for subsequent requests you can use the string provided in this field to get the subsequent results of the initial task; note: offset_token values are unique for each subsequent task

    • tasks.result.total_count
      Type: integer

      total amount of results in our database relevant to your request

    • 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/content_analysis/search/live
curl https://openapi.felo.ai/v1/beta/dataforseo/content_analysis/search/live \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '[
  {}
]'
{
  "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.offset_token": "string",
  "tasks.result.total_count": 1,
  "tasks.result.items_count": 1,
  "tasks.result.items": [
    "string"
  ],
  "tasks.result.items.type": "string",
  "tasks.result.items.url": "string",
  "tasks.result.items.domain": "string",
  "tasks.result.items.main_domain": "string",
  "tasks.result.items.url_rank": 1,
  "tasks.result.items.spam_score": "string",
  "tasks.result.items.domain_rank": "string",
  "tasks.result.items.fetch_time": "string",
  "tasks.result.items.country": "string",
  "tasks.result.items.language": "string",
  "tasks.result.items.score": "string",
  "tasks.result.items.page_category": [
    "string"
  ],
  "tasks.result.items.page_types": [
    "string"
  ],
  "tasks.result.items.ratings": [
    "string"
  ],
  "tasks.result.items.social_metrics": [
    "string"
  ],
  "tasks.result.items.content_info": {},
  "tasks.result.items.content_info.content_type": "string",
  "tasks.result.items.content_info.title": "string",
  "tasks.result.items.content_info.main_title": "string",
  "tasks.result.items.content_info.previous_title": "string",
  "tasks.result.items.content_info.level": 1,
  "tasks.result.items.content_info.author": "string",
  "tasks.result.items.content_info.snippet": "string",
  "tasks.result.items.content_info.snippet_length": 1,
  "tasks.result.items.content_info.social_metrics": [
    "string"
  ],
  "tasks.result.items.content_info.highlighted_text": "string",
  "tasks.result.items.content_info.language": "string",
  "tasks.result.items.content_info.sentiment_connotations": {},
  "tasks.result.items.content_info.connotation_types": {},
  "tasks.result.items.content_info.text_category": [
    "string"
  ],
  "tasks.result.items.content_info.date_published": "string",
  "tasks.result.items.content_info.content_quality_score": 1,
  "tasks.result.items.content_info.semantic_location": "string",
  "tasks.result.items.content_info.rating": {},
  "tasks.result.items.content_info.rating.name": "string",
  "tasks.result.items.content_info.rating.rating_value": 1,
  "tasks.result.items.content_info.rating.max_rating_value": 1,
  "tasks.result.items.content_info.rating.rating_count": 1,
  "tasks.result.items.content_info.rating.relative_rating": 1,
  "tasks.result.items.content_info.group_date": "string"
}
Content Analysis – Search API