All skills
linkedinplacesnewsreddit Local & Places

New-Location Expansion Signal Detector

Catch a brand opening in a new metro weeks early by triangulating its local hiring cluster, Maps footprint, local press, and resident chatter

Run this skill with your agent
1. Connect the MCP server
https://apidirect.io/mcp?token=YOUR_API_KEY
2. Then ask your agent — name the skill so it runs this exact playbook
Use the new-location-expansion-signal-detector skill: Tell me if {brand} is about to open a location in {target_metro} based on their LinkedIn hiring and Google Maps footprint
Naming the skill (new-location-expansion-signal-detector) makes your agent run this exact playbook instead of improvising its own searches. In clients that support MCP prompts (Claude Desktop, Claude Code, Cursor) it also appears as a prompt named new-location-expansion-signal-detector, and any agent can call get_skill(skill_id="new-location-expansion-signal-detector") directly.

What it does

Brands staff a new location weeks before opening. A cluster of metro-specific operational job posts on LinkedIn is the earliest public signal, and a Maps cross-check confirms whether the storefront is already listed. Optionally fold in local press and city-subreddit chatter to confirm a lease or opening date, so you can reach them before the doors open.

Who it's for: Suppliers, commercial realtors, and vendors who want first contact

Inputs

Input Required Description Example
brand Yes The company you suspect is expanding Sweetgreen
target_metro Yes The metro you want expansion signals for Miami, Florida
platforms No Comma-separated list of platforms to run — options: linkedin, places, news, reddit. Omit to run all of them; name specific platforms to limit the run. news, reddit
lookback No How recent the hiring posts and news must be. Maps to posted_ago on search_linkedin_jobs (allowed: 1h, 24h, 7d, 30d) and time_published on search_news (allowed: 1h, 1d, 7d, 1y, anytime). Use a value valid for each tool's own enum: 1h and 7d work for both. News has no month-level option (it jumps from 7d straight to 1y), so map LinkedIn 24h→News 1d and LinkedIn 30d→News 7d (30d and 24h are NOT valid News values, and 1d/1y are NOT valid LinkedIn values). Default 7d keeps both tight. 7d
country No Two-letter country code to scope the Maps and News lookups to the right market. Maps to the country param on search_places and search_news. US

How your agent runs it

  1. 1
    search_linkedin_companies(query="{brand}")

    Resolve the brand to its numeric company_id so job results are scoped to the real employer.

  2. 2
    search_linkedin_jobs(query="{brand} {target_metro}", company_ids=<company_id>, posted_ago=7d, sort_by=most_recent)

    Surface brand-new postings in the metro within {lookback}; a cluster of local ops roles (GM, store/shift manager) is the expansion signal.

  3. 3
    linkedin_job_details(url=<job_url>)

    Open each posting to confirm the work location and read the role; multiple local operational roles equals a confirmed buildout.

  4. 4
    search_places(query="{brand} {target_metro}", pages=2)

    Cross-check Google Maps for a recently added or not-yet-open {brand} location to time outreach precisely.

  5. 5
    search_news(query="{brand} {target_metro} opening", time_published=7d)

    Only run if {platforms} includes news: Catch local press, commercial-real-estate, and 'coming soon' coverage that often confirms a lease or opening date before the store ever appears on Maps. Use a time_published value valid for News (1h, 1d, 7d, 1y, anytime); if {lookback} is 30d/24h, use the nearest News equivalent (7d/1d).

  6. 6
    search_reddit(query="{brand} {target_metro}", sort_by=most_recent)

    Only run if {platforms} includes reddit: Sweep recent reddit chatter (including the metro's city subreddit) for residents spotting construction, signage, or asking when {brand} opens — the earliest ground-level confirmation.

Delivers: An early-warning brief on {brand} opening in {target_metro}, combining the LinkedIn hiring cluster and role details, the Maps footprint, and (optionally) local press and resident chatter, so you can pitch before launch.

Tools used

The full playbook

This is exactly what the MCP returns to your agent (via the new-location-expansion-signal-detector prompt or get_skill tool), with your inputs filled in.

SKILL: New-Location Expansion Signal Detector
Brands staff a new location weeks before opening. A cluster of metro-specific operational job posts on LinkedIn is the earliest public signal, and a Maps cross-check confirms whether the storefront is already listed. Optionally fold in local press and city-subreddit chatter to confirm a lease or opening date, so you can reach them before the doors open.

You are running this skill on API Direct via its MCP tools. Execute the steps below yourself by calling the named tools in order — values in <angle brackets> come from a previous step. Then deliver the result described at the end.

INPUTS:
  - brand (required): <brand — ASK THE USER>
      The company you suspect is expanding
  - target_metro (required): <target_metro — ASK THE USER>
      The metro you want expansion signals for
  - platforms (optional): (optional — e.g. news, reddit)
      Comma-separated list of platforms to run — options: linkedin, places, news, reddit. Omit to run all of them; name specific platforms to limit the run.
  - lookback (optional): 7d (default — override if you like)
      How recent the hiring posts and news must be. Maps to posted_ago on search_linkedin_jobs (allowed: 1h, 24h, 7d, 30d) and time_published on search_news (allowed: 1h, 1d, 7d, 1y, anytime). Use a value valid for each tool's own enum: 1h and 7d work for both. News has no month-level option (it jumps from 7d straight to 1y), so map LinkedIn 24h→News 1d and LinkedIn 30d→News 7d (30d and 24h are NOT valid News values, and 1d/1y are NOT valid LinkedIn values). Default 7d keeps both tight.
  - country (optional): (optional — e.g. US)
      Two-letter country code to scope the Maps and News lookups to the right market. Maps to the country param on search_places and search_news.

PLATFORM SELECTION: some steps are gated with "Only run if {platforms} includes X". If the user supplied a `platforms` value, run only the steps whose platform is listed. If the user did NOT supply `platforms`, run ALL steps — every platform the skill supports.

STEPS:
  1. Tool `search_linkedin_companies` — search_linkedin_companies(query="{brand}")
     Resolve the brand to its numeric company_id so job results are scoped to the real employer.
  2. Tool `search_linkedin_jobs` — search_linkedin_jobs(query="{brand} {target_metro}", company_ids=<company_id>, posted_ago=7d, sort_by=most_recent)
     Surface brand-new postings in the metro within 7d; a cluster of local ops roles (GM, store/shift manager) is the expansion signal.
  3. Tool `linkedin_job_details` — linkedin_job_details(url=<job_url>)
     Open each posting to confirm the work location and read the role; multiple local operational roles equals a confirmed buildout.
  4. Tool `search_places` — search_places(query="{brand} {target_metro}", pages=2)
     Cross-check Google Maps for a recently added or not-yet-open {brand} location to time outreach precisely.
  5. Tool `search_news` — search_news(query="{brand} {target_metro} opening", time_published=7d)
     Only run if {platforms} includes news: Catch local press, commercial-real-estate, and 'coming soon' coverage that often confirms a lease or opening date before the store ever appears on Maps. Use a time_published value valid for News (1h, 1d, 7d, 1y, anytime); if 7d is 30d/24h, use the nearest News equivalent (7d/1d).
  6. Tool `search_reddit` — search_reddit(query="{brand} {target_metro}", sort_by=most_recent)
     Only run if {platforms} includes reddit: Sweep recent reddit chatter (including the metro's city subreddit) for residents spotting construction, signage, or asking when {brand} opens — the earliest ground-level confirmation.

DELIVER: An early-warning brief on {brand} opening in {target_metro}, combining the LinkedIn hiring cluster and role details, the Maps footprint, and (optionally) local press and resident chatter, so you can pitch before launch.

Note: each underlying tool call is billed at its normal endpoint price; get_sentiment adds a small per-page surcharge. Page through results as needed but stop once you have enough to deliver the outcome.