Shopify Store Finder — Discover & Verify Stores by Niche
Pricing
from $3.00 / 1,000 verified shopify stores
Shopify Store Finder — Discover & Verify Stores by Niche
Which Shopify stores sell candles, skincare or dog gear? Search the open web by niche and country, verify every candidate against the store's own meta.json and products.json, and get product count, currency, country, price range and sample products per store. No key.
Pricing
from $3.00 / 1,000 verified shopify stores
Rating
0.0
(0)
Developer
Insight Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Which Shopify stores sell candles, organic skincare or dog accessories — in the US, in Germany, anywhere? Give this Actor a list of niches and get back one row per verified Shopify store: its domain and *.myshopify.com handle, name, city and country, currency, how many products and collections it publishes, the countries it ships to, a price range and a sample of its newest products. Optionally its theme, the apps it loads and its social profiles. JSON, CSV or Excel.
Every candidate is verified against the store's own Shopify storefront — meta.json, then products.json, then the page's own Shopify markers — not looked up in a database. A domain that turns out not to be Shopify costs nothing. $5.00 per 1,000 verified stores on the FREE tier, plus $0.001 per run. HTTP only: no browser, no login, no API key.
Company-level data only. A store row is what the store publishes about itself as a business. No e-mail addresses, no phone numbers, no people.
Found a store? Pull its whole catalogue with Shopify Products API, or watch it for price drops, restocks and new products with Shopify Store Monitor — both take the domain this Actor returns.
Try it in 30 seconds
This is the Store prefill; paste it and run:
{ "queries": ["candles", "organic skincare", "dog accessories"], "maxStoresPerQuery": 20, "sampleSize": 5 }
Three niches, up to 20 verified stores each, five sample products per store. The search runs through DuckDuckGo on Apify's datacenter proxy; a live run is expected to return at least 25 verified stores in under two minutes. In our offline test suite — the real DuckDuckGo results for candles site:myshopify.com from a live run on 2026-11-03, plus synthetic result pages for the other two niches — it returns 45 stores for $0.226.
If DuckDuckGo challenges the run's datacenter address (it sometimes answers with an image CAPTCHA, which this Actor never tries to solve), the run still finishes SUCCEEDED: it verifies any domains you gave, asks Bing the one plain-text search Bing can answer, and writes a free search-blocked row saying so.
US stores only, with theme, apps and socials:
{ "queries": ["yoga apparel", "home fragrance", "specialty coffee"], "country": "US", "countries": ["US"], "includeTech": true }
Verify a list you already have (no search at all):
{ "domains": ["allbirds.com", "https://www.brooklinen.com/", "farnacandles.myshopify.com", "nike.com"] }
From code — client.actor("insight.solutions/shopify-store-finder").call(run_input={"queries": ["candles"]}) with apify-client, or POST https://api.apify.com/v2/acts/insight.solutions~shopify-store-finder/run-sync-get-dataset-items.
What comes back
A store row (Allbirds, verified offline against its captured meta.json and products.json; sampleSize: 2, null columns cut):
{"ok": true,"rowType": "store","domain": "allbirds.com","url": "https://www.allbirds.com","myshopifyDomain": "weareallbirds.myshopify.com","shopId": 11044168,"name": "Allbirds","description": "The world’s most comfortable shoes, made with natural materials like merino wool, eucalyptus tree fiber, and sugar cane, Allbirds has created the comfiest shoes on the planet.","status": "open","country": "US","province": "California","city": "Beverly Hills","currency": "USD","moneyFormat": "${{amount}}","shipsToCountries": ["US"],"shipsToCountryCount": 1,"productCount": 338,"collectionCount": 1346,"shopPayEnabled": true,"offersShopPayInstallments": true,"sampleProducts": [{"title": "Men's Cruiser - Buoy Yellow (Natural White Sole)","handle": "mens-cruiser-buoy-yellow-natural-white-sole","url": "https://www.allbirds.com/products/mens-cruiser-buoy-yellow-natural-white-sole","vendor": "Allbirds","productType": "Shoes","priceMin": 120,"priceMax": 120,"available": true,"image": "https://cdn.shopify.com/s/files/1/1104/4168/files/A12825M090-BUOY_YELLOW_SIDE_TRANSPARENT.png?v=1793735209","publishedAt": "2026-11-03T11:48:32-08:00","createdAt": "2026-02-04T17:03:24-08:00"},{ "title": "Women's Allbirds Flip Flop - Dusty Pink", "priceMin": 50, "priceMax": 50, "…": "…" }],"priceRange": { "min": 50, "max": 120, "currency": "USD" },"topVendors": ["Allbirds"],"topProductTypes": ["Shoes"],"newestProductAt": "2026-11-03T11:48:32-08:00","verifiedBy": "meta.json","foundVia": { "query": null, "engine": null, "position": 1, "kind": "input", "rung": null, "sourceUrl": "allbirds.com" }}
A store found by search carries where it was found: "foundVia": { "query": "candles site:myshopify.com", "engine": "duckduckgo", "position": 3, "kind": "serp", "rung": "site", "sourceUrl": "https://farnacandles.myshopify.com/collections/all" }.
With includeTech: true the same row adds (from Allbirds' captured home page):
{"theme": { "name": "[DNAM Theme July 2026]", "id": 130450260048, "themeStoreId": null, "schemaName": "allbirds-theme" },"apps": ["Google Tag Manager", "Shop Pay", "Attentive", "Triple Whale", "Elevar", "Redo"],"socials": { "instagram": "https://www.instagram.com/allbirds", "facebook": "https://www.facebook.com/weareallbirds", "tiktok": "https://www.tiktok.com/@weareallbirds", "pinterest": "https://www.pinterest.com/weareallbirds", "youtube": "https://www.youtube.com/channel/UCnGErLCau5qNJ0Xwe6uEyTw", "x": "https://x.com/allbirds" },"hasBlog": true,"locale": "en-US"}
A store whose meta.json and products.json are switched off — Gymshark's headless storefront answers 404 and 403 — is still verified, from its own page: "verifiedBy": "html-markers", "evidence": "Shopify markers: cdn.shopify.com", "myshopifyDomain": "gymsharkusa.myshopify.com", and nulls where meta.json would have answered.
A candidate that is not Shopify is a free diagnostic row:
{ "rowType": "diagnostic", "errorType": "not-shopify", "domain": "nike.com", "error": "nike.com answered, and not as a Shopify store. Not charged.", "evidence": "meta.json: HTTP 404; products.json: HTTP 404; home page: HTTP 200" }
The last row of every run is a free summary: queries run, SERP pages read, candidates, verified, not-shopify, unreachable, duplicates, stores filtered out, and counts by country, currency, verification method and query.
Use cases
- Agencies and Shopify app vendors prospecting by niche — every candle, coffee or pet store the open web knows about, with its size (
productCount), its market (country,currency,shipsToCountries) and, withincludeTech, the apps it already runs and the theme it is on. - Suppliers and wholesalers looking for retailers — stores that carry your category, sized and located, with a sample of what they sell and at what prices.
- Market and category analysts — how many independent stores sell a niche, in which countries and currencies, at which price points, from one run per niche.
- Competitive research — the stores that rank for your category, verified, with their catalogue size and newest product date, ready to hand to Shopify Products API for the full catalogue.
- Cleaning a list — paste 5,000 domains into
domains: the Shopify ones come back as rows with their facts, the rest as freenot-shopifyrows.
How it compares
- Verified against the storefront, not a database. Every row is a store that answered as a Shopify store on the day of the run, and its numbers are the store's own — not a snapshot from a crawl months ago.
- Pay for stores, not for guesses. Candidates that are not Shopify, sites that cannot be reached and stores below your
minProductsare free rows. Only a verified store is a paid row. - Real numbers on every row. Product and collection counts, currency, country, ship-to countries, a price range and sample products — enough to qualify a store without opening it.
- One run from niche to list. Search, listicle expansion, verification, filters and dedupe in one Actor; no export from one tool into another.
- No login, no key, no browser. Public search pages and public storefront endpoints, read over plain HTTP.
How stores are found and verified
1. Search, per niche, cheapest and best first. Each niche walks a fixed ladder of searches, page by page, and stops as soon as it has maxStoresPerQuery verified stores:
| Rung | Query | Engine |
|---|---|---|
site | candles site:myshopify.com | DuckDuckGo |
country (only with country) | candles shop United States site:myshopify.com | DuckDuckGo |
inurl | candles inurl:myshopify.com | DuckDuckGo |
powered-by | "candles" "powered by shopify" | DuckDuckGo; Bing only when DuckDuckGo refuses the run |
DuckDuckGo honours site: — a live run on 2026-11-03 returned ten real *.myshopify.com candle stores from a datacenter address — and Bing does not (its answer to the same query was Amazon, Walmart, Target and big brands), so Bing is never asked an operator query. DuckDuckGo's no-JavaScript endpoints are read through the run's proxy (Apify datacenter by default), one proxy session per search, at least 2 seconds between two requests on one exit and at most six per exit. A second page is asked for only after the first page's candidates are verified, and only with the values in the page's own Next form; a search stops at maxSerpPagesPerQuery pages, at an empty page, or at a page that adds nothing new. On the plain-text rung, a page whose results do not mention the niche is a decoy and nothing on it is verified.
When DuckDuckGo refuses. DuckDuckGo answers some datacenter addresses with an image CAPTCHA (HTTP 202). The challenge is recognised, the search is retried once from a fresh exit and once on DuckDuckGo's lite endpoint, and then DuckDuckGo is not asked again for the rest of the run — never a loop, never a CAPTCHA solver. The operator rungs cannot run without it; the plain-text rung goes to Bing (direct, one page); domains are verified as usual; and one free search-blocked row explains what happened.
2. The host filter. DuckDuckGo's ad rows are dropped, and so are marketplaces, social networks, directories, review sites, app stores, search engines and Shopify's own corporate and help sites (shopify.com, apps.shopify.com, help.shopify.com) — *.myshopify.com stores are always kept. One candidate per registrable domain.
3. Listicles. A result that is an article about stores — "12 best organic skincare Shopify stores", "16 places to buy candles in NYC" — is read for its outbound links (with expandListicles, the default): at most 50 outbound links per page and 3 listicles per niche, the page's robots.txt honoured, aggregators dropped. Each linked site is a candidate with foundVia.kind: "listicle".
4. Verification — at most three requests per candidate, one at a time per domain:
GET /meta.json— Shopify's storefront summary (about 1 KB). JSON withmyshopify_domainis a verified store (verifiedBy: "meta.json") and gives the shop id, name, description, city, province, country, currency, money format, product and collection counts, ship-to countries and Shop Pay facts. A redirect to/passwordis a password-protected store: verified,status: "password-protected", no product sample.GET /products.json?limit=<sampleSize>— the sample (and the proof,verifiedBy: "products.json", whenmeta.jsondid not answer).- The home page — only when both failed, or with
includeTech— read for Shopify's own markers (cdn.shopify.com,Shopify.theme,shopify-section, theX-ShopIdheader …;verifiedBy: "html-markers") and, withincludeTech, the theme, apps, socials, blog and locale.
Nothing Shopify-shaped answers: a free not-shopify row with what each request returned. A bot wall on meta.json or the home page — an HTTP 429, a Vercel, Cloudflare or CloudFront interstitial — is a free unreachable row, never not-shopify (the wall says nothing about what is behind it), and it is never retried or worked around. A 403 on products.json alone is not a wall: headless storefronts refuse that one path, so the home page is still asked. A myshopify.com handle no store owns ({"errors":"Not Found"}) is not-shopify after one request.
5. Dedupe, filters, caps. A candidate whose registrable domain was already taken is skipped before any request; a verified store whose myshopify_domain was already returned is skipped too (a custom domain and its myshopify host are one store, billed once). Then minProducts, countries and currencies are applied, and maxStores caps the run.
Input reference
| Field | Type | Default | What it does |
|---|---|---|---|
queries | array | — (prefill: candles, organic skincare, dog accessories) | Niches or keywords, one per line. Each walks the search ladder above. Up to 200. |
domains | array | [] | Stores to verify with no search: a domain, any URL on the site, or a *.myshopify.com host. Up to 5,000. |
country | string | "" | Two-letter code. Regionalises the search (DuckDuckGo region, Bing market) and adds the country rung. Not a filter — see countries. |
language | string | en | Bing's interface language; with no country, en uses DuckDuckGo's US-English region and any other language lets DuckDuckGo choose. |
maxStores | integer | 200 | The run stops at this many verified stores (1–5,000). |
maxStoresPerQuery | integer | 50 (prefill 20) | A niche stops at this many verified stores (1–500). Candidates are verified in batches no larger than what the niche still needs. |
maxSerpPagesPerQuery | integer | 3 | DuckDuckGo result pages per search (1–10). |
expandListicles | boolean | true | Read "best stores" articles for their outbound links. |
minProducts | integer | 1 | Stores publishing fewer products are a free below-min-products row. 0 keeps all. A store verified by markers alone (no count) is kept. |
includeSampleProducts | boolean | true | Read products.json for the sample, price range, top vendors and types. Off: one request fewer per store. |
sampleSize | integer | 5 | Products sampled per store (1–50). |
includeTech | boolean | false | Also read the home page: theme, apps (a table of 46), socials, blog, locale. One request more per store. |
countries | array | [] | Keep only stores whose meta.json country is listed. A store that does not say is not a match. |
currencies | array | [] | Keep only stores whose shop currency is listed. |
maxConcurrency | integer | 8 | Stores verified in parallel (1–20). One store is never asked two things at once. |
maxRunSecs | integer | 240 | Wall-clock budget (30–3,600). Everything written before it is kept and billed; one free timeout row says what was not reached. |
proxyConfiguration | object | { "useApifyProxy": true } | DuckDuckGo, the stores and listicle pages go through it (Apify datacenter is all they need). Bing goes direct. |
A run with nothing usable — no niche and no domain, an unknown country, a malformed countries or currencies code, more than 200 queries or 5,000 domains — finishes FAILED before a single request, with a free invalid-input row saying why. A single domains line that is not a domain is a free invalid-input row and the rest of the run carries on.
Output reference
Every row has the same columns, null where a column does not apply, so the dataset exports as one table. rowType is store, diagnostic or summary.
Store rows (paid, one per verified store): ok, rowType, domain (primary domain, no www.), url, myshopifyDomain, shopId, name, description (≤ 500 characters, e-mail addresses and phone numbers removed), status (open · password-protected), country, province, city, currency, moneyFormat, shipsToCountries[] (* is Shopify's rest-of-world zone), shipsToCountryCount (* not counted), productCount, collectionCount, shopPayEnabled, offersShopPayInstallments, verifiedBy (meta.json · products.json · html-markers), foundVia{query, engine, position, kind, rung, sourceUrl} (kind: serp · listicle · input), evidence (on an html-markers row, the markers it rests on), scrapedAt.
From the sample (includeSampleProducts): sampleProducts[] — title, handle, url, vendor, productType, priceMin, priceMax, available (any variant), image, publishedAt, createdAt — and priceRange{min, max, currency}, topVendors[], topProductTypes[], newestProductAt.
With includeTech: theme{name, id, themeStoreId, schemaName}, apps[], socials{} (the store's own profile URLs: instagram, facebook, tiktok, pinterest, youtube, x), hasBlog, locale.
Diagnostic rows (free): errorType, error, evidence, and domain, url, foundVia where they apply. The types:
errorType | What it means |
|---|---|
not-shopify | The candidate answered, and not as a Shopify store. evidence lists what each request returned. |
unreachable | Refused (HTTP 429, a bot-protection page) or unreachable. Says nothing about whether it is Shopify; not retried. |
below-min-products | A Shopify store below your minProducts. |
search-blocked | DuckDuckGo challenged the run and was not asked again; what still ran is in the message. |
timeout | maxRunSecs ran out. Everything before it was kept. |
invalid-input | A field or a domains line that could not be used. |
The summary row (free, last): summary — queriesRun, rungsRun, serpPages, domainsGiven, candidates, verified, notShopify, unreachable, belowMinProducts, duplicates, filteredOut{country, currency}, listiclesExpanded, adsDropped, aggregatorsDropped, searchBlocked, byCountry, byCurrency, byVerifiedBy, byQuery, requests, budgetStopped, maxStoresReached, deadlineHit, statusMessage.
Pricing
| Event | What it is | FREE | BRONZE | SILVER | GOLD |
|---|---|---|---|---|---|
store | One verified Shopify store returned | $0.005 | $0.005 | $0.004 | $0.003 |
actor-start | Once per run, only after the first store | $0.001 | $0.001 | $0.001 | $0.001 |
$5.00 per 1,000 verified stores.
| Run | Cost |
|---|---|
| The prefill as the offline test suite runs it — 45 verified stores | $0.226 |
| The prefill live at its expected minimum — 25 stores | $0.126 |
maxStores: 1000 across a few dozen niches | $5.00 (+ $0.001) |
| The same at GOLD | $3.00 (+ $0.001) |
| 5,000 domains to clean, 1,200 of them Shopify | $6.00 — the other 3,800 rows are free |
| A run where nothing verifies | $0.00, SUCCEEDED |
Charging is charge-after-push: a store row is in your dataset before its event is recorded, and it is pushed only when the remaining ACTOR_MAX_TOTAL_CHARGE_USD covers it, so a run never bills past your ceiling — it stops verifying, finishes SUCCEEDED and says so. Never charged: candidates that are not Shopify, unreachable ones, stores below minProducts or outside countries / currencies, duplicates, diagnostics, the summary row, and a run that returns no store (start fee included).
Limits
- Search engines rank what they rank. The stores you get are the ones DuckDuckGo returns for the niche, a few pages deep; it is not a census of every Shopify store, and a store with no search footprint is not found. More niches, synonyms and
countryfind more. - DuckDuckGo may refuse a datacenter address. Then the operator searches cannot run for the rest of that run (Bing ignores
site:andinurl:), and the run returns whatdomains, Bing's plain-text answer and listicles give, with a freesearch-blockedrow. Run again later, or pass known domains. - Password-protected stores are verified and returned with
status: "password-protected", but have no product sample. meta.jsoncan be switched off by a store, or answered by a headless front end. Such a store is still verified byproducts.jsonor by its page's markers, with nulls for themeta.jsonfields — and withminProducts, a store with no known count is kept.- Filters read the store's own word.
countriesis the country the store gives inmeta.json, not where it ships or where its customers are. - Apps are what the home page loads, matched against a table of 46. An app that loads only on product pages, only after consent, or is not in the table is not listed.
- Per run: up to 200 queries or 5,000 domains, at most three requests per candidate store, at most 50 outbound links per listicle and 3 listicles per niche,
maxSerpPagesPerQueryresult pages per search. - Not affiliated with Shopify, DuckDuckGo, Microsoft Bing, or any store named in the output. Names are used descriptively.
Use it from an AI agent, or from code
One JSON object in, one flat array out — the shape agent runtimes want. The Actor runs with limited permissions and pay-per-event pricing, so it works over the Apify MCP server (mcp.apify.com) and with agentic (x402) payments. The Integrations tab pushes results to Slack, a webhook, Zapier, Make, Google Sheets, Snowflake or BigQuery, and Apify Schedules run it unattended — a weekly run per niche, deduplicated on myshopifyDomain, is a list of new stores.
curl -X POST "https://api.apify.com/v2/acts/insight.solutions~shopify-store-finder/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries":["candles","soy wax melts"],"maxStoresPerQuery":20,"countries":["US"]}'
# pip install apify-clientfrom apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("insight.solutions/shopify-store-finder").call(run_input={"queries": ["organic skincare", "clean beauty"],"country": "GB","countries": ["GB"],"minProducts": 20,})for row in client.dataset(run["defaultDatasetId"]).iterate_items():if row["rowType"] == "store":print(row["domain"], row["name"], row["productCount"], row["currency"], row["priceRange"], sep=" | ")
Building an app with Lovable? Apify's Lovable connector runs any Actor from inside a Lovable project with your Apify token. Connect Apify in Lovable once, then ask it: "Use Apify to run insight.solutions/shopify-store-finder for my niche and build a prospect list around the results." A run of a few niches finishes well inside Lovable's 300-second synchronous limit at the default settings, and every result is one JSON object per row, so the generated app needs no extra parsing. Usage bills to the Apify account whose token is connected.
FAQ
How is a store "verified"?
It answered as a Shopify store on the day of the run: its meta.json named its myshopify_domain, or its products.json returned products, or its own page carried Shopify's markers. verifiedBy says which.
Why fewer stores than maxStoresPerQuery?
The search ran out first — DuckDuckGo returned fewer stores for that niche across the ladder's pages — or candidates were not Shopify, or minProducts, countries or currencies removed them. The summary row counts each.
Why did a store I know is on Shopify come back not-shopify or unreachable?
unreachable is a refusal (a 429 or a bot-protection page): it says nothing about the platform and is never billed. not-shopify means none of the three requests answered like Shopify — a store behind a fully custom headless front end can look like that.
Can I get the stores' e-mail addresses? No — this Actor is company-level and returns no contact details. For a business's published contact channels, see Website Contact Extractor or Company Contact Finder.
Is a *.myshopify.com result the store's real address?
It is its permanent Shopify handle. domain and url are the custom domain the store gives in meta.json when it has one; the handle stays in myshopifyDomain.
What do I do with the list?
Hand the domain to Shopify Products API for the full catalogue, or to Shopify Store Monitor to watch it for price drops, restocks and new products.
Legal and data-protection notes
- Public sources only. DuckDuckGo's and Bing's public result pages, and each store's public storefront endpoints (
meta.json,products.json, its home page) that Shopify serves to every anonymous visitor. It never logs in, never supplies cookies or credentials, never enters a store password, and never solves or bypasses a CAPTCHA or a bot wall: a refusal is recorded as a free row and left alone. Listicle pages are read only where theirrobots.txtallows it. - Companies, not people. A row describes a store as a business — its name, location, currency and products, as the store itself publishes them. No e-mail address, phone number or person is extracted; any that a merchant typed into the shop description or a product title is removed before the row is written.
socialsholds the store's own brand profiles. - No profiling of individuals. There is no person search and no input that names a person.
- We are not a data broker. This Actor holds no database and sells no list. It searches and checks public pages on demand and writes the result to your dataset on your account.
- Not affiliated with, endorsed by or sponsored by Shopify, DuckDuckGo, Microsoft, or any store named. Names and trademarks are used descriptively.
- You are responsible for how you use the output, including any outreach to the stores it names, under the GDPR, the CCPA, ePrivacy, CAN-SPAM and other applicable law.
Our other Actors
Every Insight Solutions Actor is pay-per-result with no browser, no login and no API key, and every one of them returns free diagnostic rows instead of billing for failures. Prices are per 1,000 results.
Video, audio & social
- YouTube Transcript API — captions as timed segments, text, SRT or VTT, with language fallback and translation.
- YouTube Comments API — comments and replies with likes, pinned and hearted flags, newest or top sort.
- YouTube Channel API — a channel's videos, Shorts and live streams, plus YouTube search.
- Podcast Search, Episodes & Charts API — Apple Podcasts search, charts and full episode feeds.
- Bluesky Scraper — profiles, posts, followers and follows from the public AT Protocol API.
- Telegram Channel Scraper — posts, views and channel stats from public Telegram channels.
- Substack Scraper — posts with full free text, comments and publication profiles.
- Sponsor & Advertiser Finder — YouTube, Podcasts & Newsletters — which brands sponsor which YouTube channels, podcasts and Substack newsletters, with promo codes, offers and sponsor links, company-level only.
- Google Ads Transparency API — Advertisers, Ads & Creatives — every ad a verified advertiser runs on Google, from the Ads Transparency Center, by brand name, AR id or domain: format, first and last shown, days shown and preview links, individuals excluded.
- Hacker News API — stories, comments, users, front page and a structured "Who is hiring?" parser from the official HN APIs.
- GitHub Repos, Trending & Releases API — repository facts, trending lists, releases and search, no token needed for small runs.
- Discourse Forum API — topics, posts and categories from any Discourse community via its own JSON endpoints, usernames only.
News, documents & the web
- Google News Search, Topics & Real Article URLs — news search and topic feeds with the publisher's real URL decoded.
- Website to Markdown — Content Extractor for LLMs & RAG — any site as clean Markdown, text and heading-aware chunks.
- WordPress Posts & Pages API — posts and pages from any WordPress site as clean text or Markdown, with categories, tags and images.
- Website Metadata API — any URL's meta tags, Open Graph, Twitter cards, hreflang, feeds, JSON-LD and microdata, with normalised Product, Article, Event and FAQ entities.
- Subdomain Finder API — every subdomain of a domain from certificate-transparency logs, resolved over DNS, with an optional live HTTP check.
- Internet Archive API — archive.org search, item metadata, files and reviews.
- Wayback Machine Toolkit — archived URL inventories, snapshots and text diffs between dates.
- Website Technology Detector — the tech stack behind any site, with the evidence for each detection.
- Domain Intelligence API — DNS, RDAP registration, TLS certificate and HTTP facts in one row per domain.
- SEO Page Audit — sitemap crawl with on-page checks, structured data and broken-link reports.
- Keyword Suggestions API — Google, YouTube, Bing, Amazon and eBay autocomplete with alphabet and question expansions.
- Website Contact Extractor — emails, phone numbers and social profiles from any list of websites.
- Company Contact Finder — company names in, each one's verified website with its business emails, phone numbers and social profiles out.
- Web Search Results API — Bing and DuckDuckGo organic results with snippets, no key, no browser.
- Company Enrichment API — a domain in, a company profile out: firmographics, contacts, tech stack, DNS and hiring signal.
- Company Dossier API — one company in, twelve sections out: profile, tech, contacts, DNS, open roles, news, SEC filings, federal awards, recalls, YC batch and apps.
- Press Releases API — GlobeNewswire and PR Newswire releases plus any newsroom feed, by keyword, company, ticker or subject.
- Federal Register API — rules, proposed rules, notices and the Public Inspection desk with dockets, comment deadlines and CFR references.
- Academic Papers Search API — OpenAlex, Crossref, arXiv and PubMed in one row per paper: abstract, citations, open-access PDF, authors and venue.
- RSS & Atom Feed Monitor — any RSS, Atom or JSON feed (or an OPML file) in, only the new items out, with keyword filters and a webhook.
- Website Change Monitor — watch any pages, diff the text between runs, get change rows with added/removed lines, keyword alerts and a webhook.
- Wikipedia & Wikidata API — article text, search, daily pageviews and Wikidata entity facts, any language edition.
Business, finance & jobs
- Congress & Insider Trades API — STOCK Act periodic transaction reports and SEC Form 4 insider trades in one schema.
- Federal Contracts, Grants & Lobbying API — SAM.gov opportunities, USAspending awards, Grants.gov notices and Senate lobbying filings in one schema.
- SEC EDGAR API — filings, XBRL financials and full-text search by ticker or CIK.
- Litigation Signals API — Lawsuits, Settlements & Investigations — lawsuits, settlements and investigations per public company from SEC 10-K, 10-Q and 8-K disclosures, press wires and SEC, FTC and DOJ notices, company-level only.
- Funding Signals API — Rounds from SEC Form D, Wires & News — who just raised money: one row per funding round from SEC Form D filings, press wires and Google News, with amount, round, investors, industry and state, company-level only.
- Clinical Trials & FDA API — ClinicalTrials.gov studies plus openFDA recalls, labels, approvals, 510(k)s and adverse-event reports.
- Product & Vehicle Recalls API — CPSC, NHTSA, FDA and USDA recalls, vehicle complaints and ratings, plus a VIN decoder.
- Y Combinator Companies, Batches & Founders — the YC directory with founders and social links, filterable by batch, industry and hiring status.
- Career Site Jobs API — jobs straight from Greenhouse, Lever, Ashby, Workable and 10+ other ATS career sites.
- Workday Jobs API — every posting on any Workday career site, with facets, search, posted dates and full descriptions.
- New Job Postings Monitor — new, closed and changed postings on the career sites you watch.
- Hiring Signals API — Open Roles & Hiring Surge by Company — one row per company per run: open roles, what opened and closed, department and seniority breakdowns, and a hiring-surge flag.
- Careers Page Jobs API — Open Roles from Any Company's Site — open roles from any company's own careers site: domain in, the platform recognised (Eightfold, Phenom, Jibe, iCIMS, Google, Amazon, 14 ATSs) or the site's structured data read, one row per job.
- Remote Jobs API — RemoteOK, Remotive, We Work Remotely, Himalayas, Jobicy and more in one schema, deduplicated.
- Shopify Products API — any Shopify store's catalogue, variants, prices and stock signals.
- WooCommerce Products API — any WooCommerce store's catalogue, prices, variants and stock through its public Store API.
- Price Tracker API — Prices, Stock & Changes from Any Retailer — price, stock, list price and discount from any product URL, read from the page's structured data, with price-drop and restock rows between runs.
- Shopify App Store API — Shopify App Store listings by category, collection or developer: pricing plans, ratings and merchant reviews.
- Luma Events API — upcoming Luma events by city, category or calendar: dates, venue, price, capacity and organiser calendar, no host names.
- Shopify Store Monitor — price drops, sales, restocks, sell-outs and new products on any Shopify store, one row per change.
- Public Tenders API — EU TED, UK Find a Tender and Contracts Finder notices by keyword, CPV code, country, stage and deadline.
- Nonprofit & IRS 990 Lookup API — search US nonprofits and get EIN, NTEE code and multi-year Form 990 financials.
- OpenStreetMap Places API — businesses and points of interest by category and area from OpenStreetMap: name, address, coordinates, website, phone, opening hours.
Apps & games
- App Store & Google Play Reviews API — reviews from both stores with ratings, versions and developer replies.
- App Store Top Charts & App Search API — Apple top charts by country and genre, plus app search and details.
- App Store Keyword Rank Tracker — where any app ranks for any keyword on the App Store and Google Play, with rank changes and ASO suggestions.
- Steam Reviews API — Steam reviews with playtime, helpfulness and game details.
- Steam Game Data API — prices, tags, review scores, live player counts and top charts.
- Sports Scores & Schedules API — scores, schedules, standings, teams and headlines for the NFL, NBA, MLB, NHL, soccer and more, no key.
- App Store Monitor — App Store and Google Play listings watched between runs: new versions with release notes, price, rating and listing changes, one row per change.