LinkedIn Prospect Opener: Activity & Outreach Research avatar

LinkedIn Prospect Opener: Activity & Outreach Research

Pricing

from $15.00 / 1,000 profiles

Go to Apify Store
LinkedIn Prospect Opener: Activity & Outreach Research

LinkedIn Prospect Opener: Activity & Outreach Research

Read LinkedIn posting activity and get a draft opener grounded in a source post. Compare activity across runs and reuse existing records. Optional OpenAI generation; review every draft before sending.

Pricing

from $15.00 / 1,000 profiles

Rating

0.0

(0)

Developer

Jessy Mariau

Jessy Mariau

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

21 hours ago

Last modified

Share

Give every first message a reason to exist. Combine LinkedIn profiles and recent posts into a research table: who posted recently, which post drew the most engagement, and a draft opener with its source beside it.

The Actor prepares your research and draft. It sends no messages. Recent public activity does not tell you whether someone will see or answer an approach.

See the result first

Leave profile URLs and optional records empty, then run. Three fictional profiles show ACTIVE, LAPSED and SILENT output without scraper calls, OpenAI calls or Actor event charges.

Fictional personFictional companyActivityPosts in 30 days
Priya PatelDemo LedgerACTIVE3
Tom OkaforDemo Print WorksLAPSED0
Hamish GrantDemo Highland HaulageSILENT0

These are actual outputs from the built-in fictional demo, not customer results. Open the dataset to inspect every reason, then export the rows as JSON, CSV or Excel.

Cost of a real run

$0.015 per profile that returns data, including a found profile with no public posts and any supplied records. A 100-profile list costs $1.50 in this Actor's events; checking it weekly for four weeks costs $6.00. Profiles not found have no event charge.

Live profile and post reads run the two harvestapi Actors on your Apify account and add their per-profile and per-post charges. Your plan must permit them. Supply records to reuse existing data. Optional OpenAI generation is billed to your own OpenAI key. Check the Pricing tab and your Apify plan for current platform or standby usage costs.

What I look at

For every profile I read the newest posts, reposts included, up to the number you set. From that set I work out:

Activity class. ACTIVE means they posted in the last 14 days. LAPSED means the last post was 15 to 60 days ago. SILENT means more than 60 days, or nothing at all.

The numbers. Last post date and posts in the last 30 and 90 days. Average reactions and average comments across the posts I read. How many were their own writing versus reposts.

The top post. The one with the most reactions and comments, their own posts first and reposts only when there is nothing else. You get its link, date, a 200 character excerpt and a topic guess from a keyword table: hiring, fundraising, product launch, AI, sales, marketing, leadership, event, customer story, career, personal, or general.

The change since last time. Every run saves a snapshot under the watch key you give it. Run the same list again with the same key and each row says NEWLY_ACTIVE, WENT_SILENT or UNCHANGED. The first run says BASELINE.

The opener. One line built from that person's own post. Without an OpenAI key it comes from a fixed template that names the topic, says when they posted it and quotes the first few words. With your key the model writes it instead, then I check it: at most 40 words, a phrase in quotation marks that really is in the post, none of the stock phrases people learn to skip, no dashes. A line that fails any of those is thrown away and the template goes out in its place. The row says which one you got.

How to run it

Paste profile URLs, one per line. Set how many posts to read for each. Give the run a watch key if you plan to repeat it. Add your OpenAI key and a paragraph about what you sell if you want the model to write the openers. Run it, then open the Overview table and sort on the Change or Activity column.

Leave the list empty and you get three demo rows, one per activity class. The same code that handles real profiles builds them, so you see the shape of the output before you spend anything.

What comes back

One row per profile. The profile scrape supplies the name and headline plus company, location and follower count. The activity block and the top post come from the posts. Then the opener, and a note if the model's line was rejected and why.

Three template openers from the demo run, so you know what the floor looks like:

Priya, your hiring post this week stuck with me, the line "We just closed our Series A and the first" in particular, so I wanted to ask how that has played out since.

Tom, your leadership post on 5 August stuck with me, the line "Ten years ago today I signed the lease on" in particular, so I wanted to ask how that has played out since.

Hamish, your leadership post on 20 April stuck with me, the line "Grateful to the whole team for a record December" in particular, so I wanted to ask how that has played out since.

These are starting drafts for editing. The optional model version is checked for a matching phrase. That check does not verify the meaning of the complete sentence; review the linked post and edit the draft before sending.

I also write a summary record with the counts per class and per change, the ten people to write to first, and how many openers the model wrote versus how many fell back.

Honest limits

  • I only read the posts you asked for. Ask for ten and the averages describe those ten, not the person's whole history.
  • A repost counts as activity, because someone who reposts weekly is still on the platform, but it is never the quoted post when the person has written anything of their own in the set.
  • The topic guess is a keyword table. It is right often enough to sort a list by and wrong often enough that you should read the excerpt before you write.
  • The template opener is deliberately plain. It exists so that a row without a key still has a line you can edit, and it should be edited.
  • The model opener is checked for length, for a real quote, for the banned phrases and for dashes. It is not checked for taste. Read it before you send it.
  • The posts Actor sometimes drops one profile from a batch and reports nothing wrong. When a profile comes back with no posts I ask for it once more on its own before calling anyone silent, and the row says so.
  • A profile with no public posts still gets a row and an opener built from the headline, and it still counts as enriched if the profile itself was found.

Use it from an AI agent

Want an agent to draft the opener for you? I run this Actor as an MCP server too, at https://fractionalhqforyou--linkedin-prospect-opener.apify.actor/mcp, exposing one tool named open_linkedin_prospects that takes your prospect list and returns the activity and the suggested first line. Agent calls cost the same per-event price. If your client cannot add a raw endpoint, use apify/actors-mcp-server with fractionalhqforyou/linkedin-prospect-opener in its list.

Help with your first run

Open an issue on this Actor with the run ID and the result you expected. Remove API keys and private records before sharing. Built by Fractional HQ, independent design and automation.