Debugging & Troubleshooting

Some fields are missing or wrong

Check the parser status first

curl -X GET \
  "https://aiparser.scraperapi.com/parsers/<PARSER_ID>?api_key=API_KEY"

The parser extracted most fields correctly but a few are off

  • Field is missing → It might not exist on the page or wasn't recognized. Use PATCH with add_fields and a clearer description.

  • Incorrect formatting (price shown as $12.99 instead of 12.99) → Use modify_fields with a more specific description: "Price in USD as a number, no currency symbols".

  • Field shows wrong value (SKU and product code are mixed up) → Use modify_fields with a better description or add a selector to target the correct element.

Results are inconsistent across runs

Parsing the same URL twice returns different results - This usually means the target site itself returns different HTML on different requests: common with A/B tests and geographic variations. Solutions:

  • Geotarget to a specific country, by using country_code in scraper_params

  • Try a different URL of the same type. Some pages may have edge-case layouts. If others work, the parser is fine.

The Parser worked yesterday but is failing today

The target website probably introduced structural changes to its HTML.

  • Quick fix - use PATCH and modify_fields to update the affect fields' descriptions. Use selectors to target the correct elements.

  • If changes to the HTML are major - Create new parser with fresh example URLs. The old parser will still be accessible, unless you decide to DELETE it.

Parser generation keeps failing

If parser generation keeps failing, this usually means that the target server is blocking the requests. Bot detection, rate limiting or geo-restrictions can prevent us from reaching the example URLs. Adding additional ScraperAPI parameters to the scraper_params can help bypass those detections/restrictions. Try the following options one at a time.

  • Geotargeting - if the contents are geo-locked to a specific country, geotarget with country_code

  • Use premium proxies - premium=true ensures that residential IPs are used, which decreases the chance of the request getting flagged

  • Advanced unblocking mechanisms - add ultra_premium=true when targeting websites with a robust anti-bot protection.

Last updated