SocialCrawl

Content Analysis

Cross-web brand-mention and sentiment intelligence. Find every web citation of a keyword, scored on a 6-axis emotional sentiment model, with totals, histograms, and trends over time.

Web-wide brand listening and sentiment intelligence. Search every web page (news, blogs, ecommerce, message boards, organization sites) that mentions a keyword, each scored on a 6-axis emotional model (anger, happiness, love, sadness, share, fun) plus positive, negative and neutral probabilities, then roll it up into totals, top domains, rating histograms, and sentiment over time.

Base URL: /v1/content_analysis/...

The six keyword-driven endpoints are 20 credits each, a flat cost that overrides the tier ladder price. The four taxonomy endpoints are 1 credit. Budget on the endpoint, not the tier.

Quickstart

1. Take the roll-up first

summary is the right first call on any new keyword: one object describing its whole web presence.

cURL
curl "https://www.socialcrawl.dev/v1/content_analysis/summary?keyword=openai" \
  -H "x-api-key: YOUR_API_KEY"

2. Drop into the individual mentions

cURL
curl "https://www.socialcrawl.dev/v1/content_analysis/search?keyword=openai&page_type=news,blogs&limit=50" \
  -H "x-api-key: YOUR_API_KEY"

Pick the endpoint by the shape of the answer

All six keyword endpoints read the same citation index. They differ in what they hand back, and because each is a full 20-credit call, choosing the right one matters more here than on most platforms.

EndpointCreditsWhat it returnsKey parameters
GET /v1/content_analysis/summary20Total mention count, top domains, sentiment splits, and breakdowns by page type, country and languagekeyword, page_type, positive_connotation_threshold, sentiments_connotation_threshold, internal_list_limit, filters
GET /v1/content_analysis/search20The individual mentions, each with its page, snippet and per-mention sentiment scoreskeyword, page_type, search_mode, limit (1-100, default 10), cursor, order_by, filters
GET /v1/content_analysis/sentiment20The sentiment breakdown alone: the positive/negative/neutral split and the six emotional axes, with no domains or geographykeyword, page_type, positive_connotation_threshold, filters
GET /v1/content_analysis/rating-distribution20A ten-bucket histogram of the star ratings found in the mentions, with the sentiment, domains and categories inside each bucketkeyword, page_type, filters
GET /v1/content_analysis/phrase-trends20Mention volume and sentiment as a time series for one keywordkeyword, date_from (required), date_to, date_group, page_type, internal_list_limit, filters
GET /v1/content_analysis/category-trends20The same time series for a whole content category rather than a keywordcategory_code (required), date_from (required), date_to, date_group, internal_list_limit, filters

On search, search_mode=one_per_domain collapses to the single strongest page per domain, which is what you want when one site is flooding the results. as_is (the default) returns everything. On the trend endpoints, date_to defaults to today and date_group buckets by day, week or month (default month).

rating-distribution answers "how does the language differ between the people who rated this well and the people who rated it badly", which is a review-heavy, product-shaped question.

cURL
# Weekly mention volume and sentiment for a brand across six months
curl "https://www.socialcrawl.dev/v1/content_analysis/phrase-trends?keyword=notion&date_from=2026-02-01&date_group=week" \
  -H "x-api-key: YOUR_API_KEY"

Describe the index

These four describe the index rather than query it, cost 1 credit each, and are worth calling once and caching.

EndpointCreditsWhat it returnsKey parameters
GET /v1/content_analysis/categories1The full category taxonomy with each entry's code, name and parentnone
GET /v1/content_analysis/languages1The supported language codes, for reading a mention's language fieldnone
GET /v1/content_analysis/locations1The supported locations, for reading a mention's country fieldnone
GET /v1/content_analysis/filters1The fields you are allowed to filter on and the value type each acceptsnone

categories is where the category_code that category-trends requires comes from, and it also decodes the numeric category values attached to individual mentions.

cURL
# 1. Find the category code
curl "https://www.socialcrawl.dev/v1/content_analysis/categories" \
  -H "x-api-key: YOUR_API_KEY"

# 2. Trend that whole category
curl "https://www.socialcrawl.dev/v1/content_analysis/category-trends?category_code=10021&date_from=2026-01-01" \
  -H "x-api-key: YOUR_API_KEY"

Advanced filtering

Beyond page_type, the keyword endpoints accept filters, a filter expression passed as a JSON array of up to eight conditions. Call filters first to see which fields are filterable and what each expects. When both filters and page_type are present they are combined with AND.

search additionally accepts order_by as "field,direction" pairs separated by ;, so order_by=content_info.sentiment_connotations.anger,desc surfaces the angriest mentions first.

Two thresholds control how mentions are bucketed rather than which are returned. positive_connotation_threshold (0-1, default 0.4) sets the probability at which a mention counts as positive, and sentiments_connotation_threshold does the same for the six emotional buckets on summary. Raise them for a stricter read, lower them if the neutral bucket is swallowing everything.

All endpoints

10 endpoints available.

EndpointPathCredit Tier
List the Content Analysis category taxonomy/v1/content_analysis/categoriesstandard (1cr)
List the filterable fields for Content Analysis/v1/content_analysis/filtersstandard (1cr)
List supported Content Analysis languages/v1/content_analysis/languagesstandard (1cr)
List supported Content Analysis locations/v1/content_analysis/locationsstandard (1cr)
Category mention volume + sentiment over time/v1/content_analysis/category-trendsadvanced (20cr)
Keyword mention volume + sentiment over time/v1/content_analysis/phrase-trendsadvanced (20cr)
Rating histogram for a keyword/v1/content_analysis/rating-distributionadvanced (20cr)
Search web citations of a keyword with per-mention sentiment/v1/content_analysis/searchadvanced (20cr)
Sentiment breakdown for a keyword/v1/content_analysis/sentimentadvanced (20cr)
Aggregate mention summary for a keyword/v1/content_analysis/summaryadvanced (20cr)

Platform notes

  • Escape quotes for exact phrases. keyword matches loosely by default. Wrap the term in escaped double quotes (keyword="logitech mouse") to match the phrase rather than the words.
  • internal_list_limit caps the arrays inside a response, such as top_domains and categories on summary or the per-bucket lists on the trend endpoints. It runs 1-20 and does not change the price.
  • This index is not the social platforms. A page that quotes a tweet is a citation. The tweet itself is not. For native platform posts use the per-platform endpoints or universal search.
  • This is page-level web citation data, not native platform posts. Sentiment values are model-derived NLP from the upstream index, passed through verbatim.
  • Only search paginates, with the cursor returned as next_cursor. The aggregate endpoints return one object per call.
  • phrase-trends and category-trends both require date_from and reject a range they cannot bucket, before billing.
  • Narrow any keyword query to a page type with page_type (news, blogs, ecommerce, message-boards, organization, comma-separated for several).

Next steps