Entity Extraction API - Emails, Phones, URLs, Dates avatar

Entity Extraction API - Emails, Phones, URLs, Dates

Pricing

$20.00 / 1,000 text analyzeds

Go to Apify Store
Entity Extraction API - Emails, Phones, URLs, Dates

Entity Extraction API - Emails, Phones, URLs, Dates

Entity extraction API for unstructured text. Input: text string(s). Output: JSON with arrays of emails, phone numbers, URLs, IP addresses, dates, times, money amounts, hashtags, mentions, and flagged credit-card-like numbers. No API key. $0.02 per text analyzed.

Pricing

$20.00 / 1,000 text analyzeds

Rating

0.0

(0)

Developer

Anthony Snider

Anthony Snider

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Text Entity Extractor

Turn messy, unstructured text into clean, structured data — pull out every email, phone number, URL, IP, date, time, money amount, percentage, hashtag, @mention and Luhn-valid card-like number in one pass.

Live on the Apify Store — run it instantly or call it as an agent tool via Apify MCP.

What you get

  • 10+ entity types extracted with battle-tested regex: emails, phones (international), URLs, IPv4/IPv6, dates (ISO, slash, dot, "Month DD, YYYY"), times, currency/money, percentages, hashtags, @mentions.
  • Credit-card safety — card-like numbers are Luhn-validated and only ever returned masked (************1111, last4 + length). Full PANs are never stored.
  • Deduped per type plus per-type counts and a totalEntities tally.
  • Single or bulk — pass one text or an array of texts. Optionally narrow to specific types.
  • Zero network calls, fully deterministic — great as an LLM/agent preprocessing or PII-scrubbing step.

Input

{
"text": "Contact us at sales@acme.io or +1 (415) 555-0132. Invoice #4521 due 2025-03-14 for $12,500.00 (a 15% deposit). Follow @acmehq #launch. Server 192.168.1.42. Card 4111 1111 1111 1111.",
"types": ["emails", "phones", "money", "dates"],
"maxTexts": 25
}

text (string) or texts (array of strings) is required. types and maxTexts are optional.

Output

One dataset item per input text:

{
"text": "Contact us at sales@acme.io or +1 (415) 555-0132 ...",
"length": 178,
"entities": {
"emails": ["sales@acme.io"],
"phones": ["+1 (415) 555-0132"],
"urls": [],
"ips": ["192.168.1.42"],
"dates": ["2025-03-14"],
"times": [],
"money": ["$12,500.00"],
"percentages": ["15%"],
"hashtags": ["#launch"],
"mentions": ["@acmehq"],
"cards": [{ "masked": "************1111", "last4": "1111", "length": 16 }]
},
"counts": { "emails": 1, "phones": 1, "ips": 1, "dates": 1, "money": 1, "percentages": 1, "hashtags": 1, "mentions": 1, "cards": 1 },
"totalEntities": 9
}