MCC Checker - Merchant Category Code Lookup
Pricing
$5.00 / 1,000 merchant checkeds
MCC Checker - Merchant Category Code Lookup
Check whether a merchant's assigned MCC fits its website or business description, using no LLM. You get suggested MCCs with confidence, a match/mismatch verdict, high-risk MCC flags, miscoding patterns, and each PSP's likely stance from its public policies (Stripe, PayPal, Adyen and more).
Pricing
$5.00 / 1,000 merchant checkeds
Rating
0.0
(0)
Developer
Luke Mangan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Features
Share
MCC Checker
MCC Checker verifies merchant category codes: it checks whether a merchant's assigned MCC fits its website or business description and suggests better-fitting MCCs, with high-risk flags and each PSP's likely stance from its public policies.
Best for: Merchant onboarding and underwriting teams, acquirer risk teams, and PSP sales teams checking whether a prospect fits their appetite.
How to check a merchant category code (MCC)
- Add merchants to Merchants with a
urland/ordescriptionand theassignedMcc. - Leave Include PSP appetite on to see provider policy notes.
- Click Start and review
verdict,suggestedMccsandhighRiskFlags.
How it works
Fetches the homepage (title, meta and visible text) and/or uses your description, then scores about 55 MCCs with transparent keyword rules (no paid AI). MCC descriptions come from the public greggles/mcc-codes list (Unlicense). The provider appetite dataset (data/provider_appetite.json) summarises public restricted/prohibited business pages from Stripe, PayPal UK, Square UK, Adyen, GoCardless, SumUp UK and Checkout.com, with a source URL and capture date for every entry. scripts/refresh_appetite.py re-checks the pages and flags changes. Worldpay has no public list, so it isn't included.
Output
url, assignedMcc, verdict, suggestedMccs, highRiskFlags, miscodingNotes, riskCategories, providerAppetite, fetchError
Pricing (pay-per-event)
merchant-checked: $0.005 per result ($5 / 1,000). Platform usage is included; you pay only for results.- Example: 10,000 merchants cost $50.00.
Example input
{"merchants": [{"url": "https://www.pokerstars.uk","assignedMcc": "7995"},{"description": "Crypto exchange, buy bitcoin with card","assignedMcc": "6012"}]}
Example output
Values below are illustrative.
{"url": "https://example-casino.com","assignedMcc": "5816","verdict": "mismatch","suggestedMccs": [{"mcc": "7995","confidence": 0.9,"highRisk": true}],"highRiskFlags": [{"mcc": "7995","reason": "Gambling..."}],"miscodingNotes": ["Gambling content under a gaming/retail MCC..."],"riskCategories": ["gambling"],"providerAppetite": [{"provider": "Stripe","likelyStance": "restricted","likelyStanceLabel": "Restricted","sourceUrl": "https://stripe.com/legal/restricted-businesses"},{"provider": "Square (UK)","likelyStance": "manual_review_likely","likelyStanceLabel": "Not stated – usually decided by manual review","sourceUrl": "https://squareup.com/gb/en/legal/general/ua"}],"fetchError": null}
Use it via API, schedules and integrations
Run it in Apify Console, or call it from your own code with the Apify API or the Python and JavaScript clients. Save an input as a task and add a schedule to run it regularly, and send results to Slack, email, webhooks, Zapier, Make or n8n with Apify integrations. AI agents can find and run it through the Apify MCP server.
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("sterlingverify/mcc-checker").call(run_input={"merchants": [{"description": "Crypto exchange, buy bitcoin with card", "assignedMcc": "6012"}]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Use in Clay, Zapier, Make, n8n, Pipedream, Power Automate or Activepieces
All of them connect to Apify through their official Apify integrations, using your own Apify account: an API token from Apify Console > Settings > API & Integrations, or Apify sign-in for Power Automate. Runs bill to your Apify account at this Actor's pay-per-event price.
- Clay: save this Actor's input as an Apify task and copy it as JSON. In your Clay table, add the Run Apify Actor enrichment, choose it and paste the JSON into Input Data, mapping Clay columns into the fields. To pull a finished run into a new table, use the Import data from Apify Actor source.
- Zapier: use the Apify Run Actor action, or the Finished Actor run trigger followed by Fetch dataset items. Synchronous runs in Zapier stop after 30 seconds, so use the trigger for big batches.
- Make: add the Apify Run an Actor module with Run synchronously set to Yes, then Get Dataset Items with the run's dataset ID. For longer runs, use the Watch Actor Runs trigger.
- n8n: install the Apify node (
@apify/n8n-nodes-apify, or search "Apify" on n8n Cloud) and use Run an Actor and get dataset. - Pipedream: add the Apify app's Run Actor action, or Run Task Synchronously on one of this Actor's public example tasks (or your own saved task) to get the dataset items back in one step. For big batches, start from the New Finished Actor Run or New Finished Task Run trigger, then Get Dataset Items.
- Power Automate: add the Apify connector (a premium connector, currently in preview) and sign in with your Apify account. Use Run Actor with Enter custom value set to
sterlingverify/mcc-checkerand paste the input as JSON, then Get dataset items with the run's default dataset ID. For big batches, start the flow from the Actor run finished trigger instead. - Activepieces: add the Apify piece and use Run Actor, or Run Task on one of this Actor's public example tasks (or your own saved task), then Get Dataset Items. For scheduled or big batches, use the Watch Actor Runs or Watch Task Runs trigger.
- Google Drive / Sheets: add Apify's Upload results to GDrive integration to a scheduled task to drop each run's CSV or XLSX into your team's Drive, or chain the Google Sheets Import & Export actor to append rows to a sheet.
- Slack alerts: add Apify's Slack integration to a scheduled task to post each run's results to your team channel, or start a check from Slack with
/apify calland your task ID. - Any HTTP tool or script: send one request and get the results back as JSON. Runs must finish within 5 minutes.
curl -X POST "https://api.apify.com/v2/acts/sterlingverify~mcc-checker/run-sync-get-dataset-items" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d @input.json
FAQ
Does it use AI?
No LLM is used. It scores about 55 MCCs with transparent keyword rules.
Is the PSP stance an approval decision?
No. It is guidance summarised from public policy pages on the capture date shown, not an approval guarantee.
Disclaimer
Guidance only, not an approval guarantee. MCC suggestions are keyword-based and can be wrong; the acquirer and card scheme rules decide the correct MCC. Provider appetite is summarised from each provider's public policy pages on the capture date shown. It is guidance only — not an approval guarantee — and providers decide case by case and change their policies. A stance of manual_review_likely (label: "Not stated – usually decided by manual review") means the category was not listed as allowed, restricted or prohibited on the public page; blanks are usually decided by manual review on the provider's side. Not affiliated with any provider or card scheme. Not legal or compliance advice.
Related sterlingVerify tools
Part of the sterlingVerify UK payments, KYB and data toolkit on Apify Store:
- Merchant Website Compliance Checker for Onboarding: onboarding review of a merchant's website
- Payments Stack Detector: find which PSPs, wallets and BNPL a store uses
- PCI Readiness Scanner: passive checkout security check with a likely SAQ type
- BIN Lookup: bulk BIN lookup for scheme, type, issuer and country
- Payments Region Checker: EEA, SEPA, SCA and interchange classification by country or BIN