GSTIN Scraper avatar

GSTIN Scraper

Under maintenance

Pricing

from $4.99 / 1,000 results

Go to Apify Store
GSTIN Scraper

GSTIN Scraper

Under maintenance

A robust, high-performance utility designed for developer automation, data integration, and AI training. Features built-in captcha bypass, headful/headless browser execution, and proxy support to scrape GSTIN data seamlessly, reliably, and at scale.

Pricing

from $4.99 / 1,000 results

Rating

2.4

(2)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

3

Bookmarked

118

Total users

3

Monthly active users

7 days ago

Last modified

Share

This actor verifies GST registrations using the official GST Portal and emits one rich, truthful dataset record only after the protected taxpayer response returns the requested GSTIN. It can also collect the official HSN/SAC, financial-year, filing-preference and filing-history endpoints.

Required configuration

captchaSolverApiKey is required for protected taxpayer lookup. It is treated as a secret in the Actor UI and is never written to logs or output. Alternatively set CAPTCHA_API_KEY as an Actor environment variable. The solver endpoint is environment-only (CAPTCHA_API_URL) so ordinary run input cannot redirect an environment secret to another host. CAPTCHA_API_URL must use HTTPS. The model can be selected with captchaModelId or CAPTCHA_MODEL_ID.

Missing solver configuration is rejected before any proxy, browser, or GST Portal request is created. This Actor integrates with the configured solver but does not implement or bypass CAPTCHA solving.

Every taxpayer lookup downloads a fresh CAPTCHA image in the same browser session and submits it with the same session cookie. SWEB_9000 is retried with a new image up to maxCaptchaAttempts (default 3, maximum 8). If verification fails, the actor logs the exact blocker and emits no fake error row.

Input

FieldPurpose
gstinsRequired GSTIN list. Values are uppercased, validated and deduplicated in order.
extractHsnCodesFetch official goods and services / HSN-SAC records.
extractFilingDetailsFetch financial years, filing preferences and return records.
captchaSolverApiKeySecret solver credential, or use CAPTCHA_API_KEY.
captchaModelIdSolver model identifier; can also be set through CAPTCHA_MODEL_ID.
maxCaptchaAttemptsFresh CAPTCHA attempts from 1 to 8.
proxyConfigurationDirect, rotating, or fixed Apify Proxy access. Residential India proxy is recommended.
proxySessionIdOptional validated session label for fixed proxy mode.
fingerprintProfileCoherent Chrome Windows or macOS browser profile.

Example input

{
"gstins": ["06AAICK7471J1Z4"],
"extractHsnCodes": true,
"extractFilingDetails": true,
"maxCaptchaAttempts": 3,
"headless": true,
"captchaSolverApiKey": "YOUR_SOLVER_KEY"
}

Output

Verified rows include legal and trade names, taxpayer status/type, registration and cancellation values, Aadhaar/eKYC/e-invoice indicators, activities, structured/geocoded principal address, parsed state and central jurisdiction parts, HSN/SAC goods/services, financial years, filing frequency/history/counts, and source/API/proxy/fingerprint/timestamp provenance. Blank, null and empty values are omitted rather than fabricated.

The actor never exposes solver credentials and never emits a placeholder record for a failed CAPTCHA, blocked request, or GSTIN mismatch. It writes an OUTPUT summary on every terminal path. Zero verified rows cause a failed run; mixed results are explicitly marked partial and also fail so monitoring cannot mistake them for complete success.

Example output

{
"gstinNumber": "06AAICK7471J1Z4",
"legalName": "Example Foods Private Limited",
"tradeName": "Example Foods",
"status": "Active",
"taxpayerType": "Regular",
"registrationDate": "2020-01-15",
"formattedAddress": "Example address, Rajasthan",
"goodsCount": 2,
"servicesCount": 1,
"sourceUrl": "https://www.gst.gov.in/",
"fetchedAt": "2026-08-18T00:00:00.000Z"
}

Local verification

Run npm test, npm run lint, then an apify run with a legitimate solver key. Use npm run validate-dataset after the run; it rejects empty values, undeclared/reserved fields, type errors, invalid GSTINs and missing provenance.