Text Keyword Extractor - RAKE Phrases + Top Words as JSON
Pricing
from $0.40 / 1,000 analyzed texts
Text Keyword Extractor - RAKE Phrases + Top Words as JSON
Extract ranked multi-word keyword phrases (RAKE-scored) + top words from up to 200 texts per run. For tagging, SEO briefs, ticket clustering, labeling scraped content. $0.0005 per text, no start fee, junk entries never charged. No paid keyword-extraction rival with defined pricing measured.
Pricing
from $0.40 / 1,000 analyzed texts
Rating
0.0
(0)
Developer
Broke to Built
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Text Keyword Extractor — RAKE Phrases + Top Words, as JSON
Extract the keyword phrases that actually describe a text — multi-word, scored, ranked — plus the top single words by frequency. Up to 200 texts per run, online, by API, or as an agent tool via Apify MCP.
Tagging articles, clustering support tickets, building SEO briefs, labeling scraped content: they all need "what is this text about?" answered mechanically and cheaply. This actor runs the RAKE algorithm (Rapid Automatic Keyword Extraction): candidate phrases are content-word runs between stopwords, scored by word degree/frequency — which is why it surfaces phrases like "keyword extraction" and "linear constraints", not just single words.
What you get
- keywords — ranked
{phrase, score}list (multi-word phrases, RAKE-scored), up totopN(100 max) - topWords — top single words by frequency, stopwords excluded
- uniqueWords / candidatePhrases — corpus stats per text
- Fail-soft: a non-string entry never fails the run — it returns
{ok: false, error}and is never charged.
Input
{ "text": "Your article or document text here...", "topN": 20 }
Bulk: { "texts": ["doc one...", "doc two..."], "maxTexts": 100 }
Output (real run, trimmed)
{"ok": true,"keywords": [{ "phrase": "keyword extraction helps search engines rank documents", "score": 22.33 },{ "phrase": "keyword extraction", "score": 8.33 },{ "phrase": "automatic identification", "score": 4 }],"topWords": [{ "word": "keyword", "count": 2 }, { "word": "extraction", "count": 2 }],"keywordCount": 8,"uniqueWords": 16,"candidatePhrases": 8}
Pricing
$0.0005 per text analyzed. No start fee. Non-string entries are never charged. A 1,000-document tagging pass costs $0.50 across runs.
No direct paid keyword-extraction incumbent with defined pricing was found on the store (2026-08-07 search across "keyword extraction", "extract keywords" — nearest results are scrapers and crawl-based tools). Pricing is cost-plus at ~4x measured run cost.
Honest limits
- Statistical, not semantic: RAKE ranks by co-occurrence structure, not meaning. It will not merge synonyms or resolve "NYC" = "New York City". For most tagging/SEO work that is exactly enough; for semantic clustering, feed these keywords to an embedding step.
- English stopword list — RAKE degrades gracefully on other Latin-script languages (phrases still form) but the stopword boundaries are English.
- Long documents work (scoring is linear), but RAKE favors longer phrases; very long texts benefit from
topNaround 20-30 and readingtopWordsalongside.
FAQ
Why phrases instead of single words?
"machine learning pipeline" as one keyword beats "machine", "learning", "pipeline" as three. RAKE's whole design is multi-word candidate extraction — single words are still available in topWords.
How is the score computed? Per RAKE: each word gets degree(w)/freq(w) (degree = total length of phrases it appears in); a phrase's score is the sum of its words' scores. Higher = more central and more phrase-forming.
Can I use it on scraped pages? Yes — strip HTML first (pair with our webpage-text-extractor), then batch the plain text here.
Is numeric content handled? Pure numbers are treated as phrase boundaries (rarely useful as keywords); alphanumeric tokens like "gpt-4" survive.
Why did some rows come back ok: false?
Those entries were not text strings (numbers, nulls, objects in the array). Recorded, never charged.
Use from code or AI agents
curl -s "https://api.apify.com/v2/acts/EliAI~text-keyword-extractor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-X POST -H 'Content-Type: application/json' \-d '{"text": "Paste any article here to get its keywords."}'
Agents: connect Apify MCP and call the EliAI/text-keyword-extractor tool.
- Capability: RAKE keyword-phrase extraction with scores + top words for one or many texts
- Required input:
text(string) ortexts(array) - Returns: one record per text;
keywordsis the ranked phrase list - Bounded: 200 texts per run,
topNup to 100; failures isolate per text - Side effects: none (texts never leave the run)