Instagram Account Search | $0.4/1K Accounts + $0.002 per Page avatar

Instagram Account Search | $0.4/1K Accounts + $0.002 per Page

Pricing

from $0.40 / 1,000 account results

Go to Apify Store
Instagram Account Search | $0.4/1K Accounts + $0.002 per Page

Instagram Account Search | $0.4/1K Accounts + $0.002 per Page

Search public Instagram accounts by keyword for $0.40 per 1,000 saved accounts plus $0.002 per successfully fetched page. Optional public profile enrichment. No login, cookies, browser, or proxy setup.

Pricing

from $0.40 / 1,000 account results

Rating

0.0

(0)

Developer

Public Signal Labs

Public Signal Labs

Maintained by Community

Actor stats

0

Bookmarked

105

Total users

34

Monthly active users

17 days ago

Last modified

Share

Search Instagram's current ranked public accounts by keyword. Get normalized account identity, username, name, profile URL, privacy and verification flags, query provenance, and deterministic rank. Optionally enrich results with current public profile counts, biography, links, category, business details, and available public contact fields.

Run one or more queries, follow ranked results across bounded pages, and export clean rows to JSON, CSV, Excel, XML, or API workflows. No Instagram login, cookies, browser, or proxy setup.

What this Actor does

  • Searches current Instagram account results for free-text keywords and phrases
  • Returns ranked account candidates from each valid provider page
  • Supports 1–10 queries and up to 10 pages per query for paying users
  • Removes duplicate account IDs across pages of the same query
  • Optionally enriches accounts with current public profile counts, biography, links, category, business fields, and available public contact fields
  • Preserves deterministic query, page, and result ranks
  • Exports normalized rows to JSON, CSV, Excel, XML, and API workflows

Use it for account discovery, creator research, local-business research, brand mapping, recruiting research, and building public-profile lists for downstream workflows.

Quick start

Basic account search:

{
"queries": ["coffee roaster", "travel photographer"],
"maxPagesPerQuery": 1,
"enrichProfiles": false
}

Search with profile enrichment:

{
"queries": ["vegan bakery london"],
"maxPagesPerQuery": 1,
"enrichProfiles": true
}

enrichProfiles is disabled by default and is available to paying users only.

Basic versus enriched output

CapabilityBasic (enrichProfiles=false)Enriched (enrichProfiles=true)
ID, username, full name, profile URLIncludedIncluded
Search rank and search contextIncludedIncluded
Privacy and verification flagsIncluded when observedRefreshed when observed
Profile counts and biographyRetained if already in the search responseCurrent public values when available
Website and bio linksRetained if already in the search responseCurrent public values when available
Category and business flagsRetained if already in the search responseCurrent public values when available
Public email, phone, and address fieldsRetained if already in the search responseIncluded when publicly exposed
Recent posts or ReelsNot includedNot included
Enrichment eventNeverOnly for a successful identity-matching profile

Every row has an enrichment_status:

  • not_requested — basic mode
  • succeeded — a matching profile was mapped and charged
  • not_available — the profile lookup returned no available profile
  • failed — the lookup, validation, or identity check failed safely

Unavailable and failed enrichments preserve the basic account row and do not create an enrichment charge.

Input

FieldRules
queriesRequired array of free-text account searches. Whitespace is trimmed; equivalent Unicode/case variants are deduplicated while first occurrence order is retained. The schema accepts up to 10 unique queries; plan-specific effective limits are detailed in Pricing. Each query is limited to 100 Unicode code points.
maxPagesPerQueryOptional integer from 1 through 10; default 1. Applied separately to each query. Plan-specific effective limits are detailed in Pricing. This is a maximum page count, not a result guarantee.
enrichProfilesOptional boolean; default false. Paying users only. Enables one bounded profile-by-ID lookup for each first-seen account candidate that fits within the remaining spending capacity.

Unknown properties, empty queries, control or formatting characters, invalid types, and out-of-range values are rejected before credentials or network work.

Dataset rows

One row represents one charged, unique account for one submitted query. The same account may appear once—and incur one account-result event—for each distinct query because query provenance is meaningful. Duplicate account IDs from later pages of the same query are suppressed.

Optional facts are omitted when unobserved or invalid, not filled with false, zero, or empty lists. Observed empty values remain explicit. Existing profile facts survive failed enrichment. Postal codes, coordinates, biography entities, and full bio-link metadata are retained when supplied; basic mode disables extra profile requests, not retention of facts already returned.

Example enriched row:

{
"query": "coffee roaster",
"query_index": 0,
"page_number": 1,
"page_rank": 1,
"rank": 1,
"id": "1234567890",
"username": "example.roaster",
"full_name": "Example Coffee Roaster",
"profile_url": "https://www.instagram.com/example.roaster/",
"is_private": false,
"is_verified": false,
"profile_pic_url": "https://cdn.example/profile.jpg",
"search_serp_type": 1,
"is_verified_search_boosted": false,
"enrichment_status": "succeeded",
"follower_count": 12500,
"following_count": 420,
"media_count": 680,
"biography": "Small-batch coffee roasted weekly.",
"external_url": "https://example.com",
"bio_links": [{"title": "Shop", "url": "https://example.com/shop"}],
"account_type": 2,
"category": "Coffee shop",
"is_business": true,
"is_professional_account": true,
"public_email": "hello@example.com",
"business_contact_method": "EMAIL",
"city_name": "Portland",
"profile_pic_url_hd": "https://cdn.example/profile-hd.jpg"
}

The example is illustrative. Optional fields are omitted when Instagram does not expose a valid value; observed empty values remain explicit. Profile image and external-link URLs can change or expire.

Pricing

$0.40 per 1,000 saved unique accounts + $0.002 per successfully fetched page. Profile enrichment adds $5.50 per 1,000 successfully enriched accounts.

ExampleCharge
1 valid empty page$0.0020
1 basic page with 5 saved accounts$0.0040
1 basic page with 20 saved accounts$0.0100
1 enriched page with 20 successful enrichments$0.1200

Only saved unique accounts are billed. Duplicate or malformed accounts are not. A valid empty or duplicate-only page costs $0.002; failed pages are not billed. Profile enrichment is billed only when a matching public profile is successfully enriched and saved. The minimum run spending limit is $0.0024, enough for one page and one saved account.

FREE demo limits

FREE Apify accounts can run this Actor up to 5 times per UTC calendar month. Each admitted FREE run accepts exactly one unique query, uses exactly one search page, and cannot enable profile enrichment, while returning the same dataset fields and page/result billing semantics as paid runs. Console, CLI, API, schedules, webhooks, MCP, and other Apify launch methods share the same account allowance. A run counts once admitted even when it is later aborted or unsuccessful, and resurrecting it does not start another extraction. Creating another task or API token does not reset the allowance. Paid Apify users are not subject to these demo limits.

Run summary and audit

The default key-value store contains:

  • OUTPUT — run status, prices, actual event charge, delivered and charged totals, and sanitized per-query outcomes
  • AUDIT — aggregate non-query request, retry, byte, mapping, duplicate, enrichment, storage, timing, and exact charge-reconciliation metrics

Update: the 20-account page cap and OUTPUT.maximumEventChargeUsd were removed. AUDIT schema 3 removes cappedRows; unit prices are unchanged.

OUTPUT uses schemaVersion: 2: status is SUCCEEDED for completed work and graceful stops, or FAILED for internal faults (RUNNING denotes a checkpoint). Check outcome (COMPLETED, NO_RESULTS, PARTIAL, INPUT_REJECTED, POLICY_REJECTED, UPSTREAM_UNAVAILABLE, DEPENDENCY_UNAVAILABLE, LIMIT_REACHED, INTERNAL_ERROR) and message/issues; platform success does not guarantee data. Runtime input/policy rejections and external outages finish normally; confirmed rows remain available. Ambiguous writes or charges use reconciliation: "unknown". External reporting outages can leave summaries unavailable; platform-enforced aborts and resource failures remain outside this guarantee.

Admitted FREE runs include a freeTier object in OUTPUT and AUDIT with the UTC month, claimed slot, remaining allowance, effective page limit, and policy version. Rejected FREE runs use stable reasons such as free_monthly_limit, free_run_already_consumed, or free_quota_unavailable. The record never contains an Apify user ID, API token, or internal quota-storage identifier.

Allowance exhaustion and replay yield POLICY_REJECTED; external quota verification failures yield DEPENDENCY_UNAVAILABLE. Missing local configuration or run identity remains an internal failure. An enrichment charge confirmed before a later storage failure remains recorded even if the row could not be confirmed.

Pagination and stopping behavior

Queries and pages run sequentially. Profile requests for a selected page use bounded concurrency of five, then rows are restored to rank order before storage.

For each query, extraction stops when:

  • maxPagesPerQuery is reached;
  • Instagram reports no more pages;
  • the next page token is absent;
  • the first continuation page contributes zero new valid account IDs;
  • the remaining spending capacity cannot cover the next required event bundle;
  • the query encounters a terminal failure.

Instagram search is ranked and query-dependent. This Actor does not promise exhaustive results, stable ordering, fixed page sizes, a minimum row count, or repeatable pagination.

Limitations and data quality

This Actor:

  • returns a current ranked Instagram account-search snapshot, not an exhaustive directory;
  • cannot guarantee stable ordering, fixed page size, complete coverage, or a requested number of unique accounts;
  • does not search private content or bypass access controls;
  • does not include posts, Reels, stories, followers, following lists, engagement rates, email verification, website crawling, or historical tracking;
  • does not expose continuation tokens, custom filters, provider fields outside the documented schema, or arbitrary raw responses;
  • does not require or accept customer Instagram credentials, cookies, sessions, or proxy configuration.

Public email, phone, website, and address fields are sparse. They appear only when Instagram exposes them on the public profile, are not independently verified, can be outdated, and are never guaranteed. Do not describe a missing value as a lookup failure when enrichment_status is succeeded.

API and CLI use

Call the Actor through the standard Apify Actor Runs API. Read account rows from the default dataset and reconciliation metadata from OUTPUT and AUDIT.

apify actors call publicsignallabs/instagram-account-search \
--input '{"queries":["coffee roaster"],"maxPagesPerQuery":1,"enrichProfiles":false}' \
--output-dataset

The Actor also works with the Apify JavaScript and Python clients, REST API, schedules, webhooks, and platform integrations.

Responsible use

Collect and use public data only where you have a lawful purpose. Respect privacy, intellectual-property rights, platform rules, anti-spam requirements, and applicable data-protection law. Minimize retained data, secure exports, honor deletion obligations, and do not use unverified contact fields for unlawful or deceptive outreach.

This Actor is unofficial and is not affiliated with or endorsed by Instagram or Meta.

Support

Use the Issues tab on this Actor's Apify page. Include the run ID, input shape with private values removed, expected result, and observed result. Never include API tokens, cookies, credentials, personal contact values, or other private data.