Skip to content
Back to skills

web-utilities-research

ASecurity

General-purpose web-intelligence utilities via the Crawlora API — scrape any URL to clean markdown/HTML, extract schema-conforming JSON from a page, fingerprint a site's tech stack, geocode addresses, compare cost of living between cities/countries (Numbeo), look up a company's import/export trade records (ImportYeti), check a domain's traffic (SimilarWeb), or resolve a brand's identity from its domain. Use for one-off utility lookups that don't fit a specific platform skill.

  • 0 votes
  • 0 copies
  • 4 views
  • Added August 12, 2026
ai-agentsgogitapisecurity

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned August 12, 2026

npx -y skills add Crawlora-org/crawlora-skills --skill web-utilities-research --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of web-utilities-research?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for web-utilities-research
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/crawlora-org-web-utilities-research/badge)](https://www.skillsdirectory.com/skills/crawlora-org-web-utilities-research)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: web-utilities-research
description: General-purpose web-intelligence utilities via the Crawlora API — scrape any URL to clean markdown/HTML, extract schema-conforming JSON from a page, fingerprint a site's tech stack, geocode addresses, compare cost of living between cities/countries (Numbeo), look up a company's import/export trade records (ImportYeti), check a domain's traffic (SimilarWeb), or resolve a brand's identity from its domain. Use for one-off utility lookups that don't fit a specific platform skill.
---

# Web intelligence utilities

A grab-bag of general-purpose lookups that don't belong to one platform:
raw URL scraping/extraction, tech-stack fingerprinting, geocoding, cost-of-
living comparisons, import/export trade records, site traffic, and brand
resolution — all as normalized JSON from the Crawlora API.

## When to use this skill

- "Scrape this URL and give me clean markdown/HTML."
- "Pull structured data (a schema) out of this page."
- "What is this website built with?" (tech-stack fingerprint)
- "What's the address/coordinates for X?" (geocoding, forward or reverse)
- "How much more expensive is living in <city A> vs <city B>?" (Numbeo)
- "What does this company import, and from whom?" (ImportYeti — US customs records)
- "How much traffic does this site get?" (SimilarWeb)
- "Resolve this domain to a brand name/logo."

## Setup (one-time)

- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).
- `export CRAWLORA_API_KEY=sk_your_key_here`
- All requests: `x-api-key: $CRAWLORA_API_KEY` against
  `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.

## How it works

1. **Scrape / extract / tech-stack (`POST`)** — `POST /web/scrape` returns a
   URL as markdown/HTML/links/metadata (`{"url": "...", "formats": ["markdown"]}`);
   `POST /extract` returns JSON conforming to a schema you supply
   (`{"url": "...", "schema": {...}}`); `POST /web/techstack` fingerprints
   the technologies a site runs (`{"url": "..."}`). **All three take flat
   top-level fields** — despite the tool catalog naming the body
   `scrapeOption`/`extractOption`/`request`, that name is not a JSON
   wrapper key; pass the fields directly at the top level of the body.
2. **Geocoding** — `/geocoding/search` (`q` or structured `street`/`city`/
   `country`) for forward geocoding; `/geocoding/reverse` (`lat`+`lon`)
   for reverse; `/geocoding/lookup` (`osm_ids`) for a known OpenStreetMap id.
3. **Numbeo (cost of living)** — `/numbeo/cost-of-living/city/{slug}` or
   `/country` for one place's full price breakdown;
   `/numbeo/cost-of-living/rankings` for a ranked list;
   `/numbeo/indices/*` for quality-of-life-style indices (pass an `index` name).
4. **ImportYeti** — `/importyeti/search` (`q`) to find a company, then
   `/importyeti/company` (`slug`) for its US customs import/export record summary.
5. **SimilarWeb** — `/similarweb/web/{domain}` for a site's traffic
   overview; `/similarweb/search` (`q`) to resolve a name to a domain.
6. **Brand** — `/brand/retrieve` (`domain`) resolves a domain to brand
   metadata (name, logo, colors).

Full endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).

## Calling the API

```sh
# Scrape a URL to markdown (POST, flat body):
scripts/crawlora.sh -X POST /web/scrape '{"url":"https://example.com","formats":["markdown"]}' | jq '.'

# Tech-stack fingerprint:
scripts/crawlora.sh -X POST /web/techstack '{"url":"https://example.com"}' | jq '.'

# Geocoding:
scripts/crawlora.sh /geocoding/search q="1600 Amphitheatre Parkway, Mountain View, CA" | jq '.'

# Cost of living:
scripts/crawlora.sh /numbeo/cost-of-living/city/Lisbon | jq '.'

# Site traffic + brand:
scripts/crawlora.sh /similarweb/web/example.com | jq '.'
scripts/crawlora.sh /brand/retrieve domain=example.com | jq '.'
```

Raw `curl` fallback:

```sh
curl -fsS -H "x-api-key: $CRAWLORA_API_KEY" \
  "https://api.crawlora.net/api/v1/geocoding/reverse?lat=37.4224&lon=-122.0842" | jq '.'
```

## Endpoint reference

See [`reference/endpoints.md`](reference/endpoints.md) for the Web,
Geocoding, Numbeo, ImportYeti, SimilarWeb, and Brand endpoints this skill uses.

## Examples

- **Site research bundle:** `/web/scrape` (content) + `/web/techstack`
  (what it's built with) + `/similarweb/web/{domain}` (traffic) for a
  competitor's website in one pass.
- **Relocation cost check:** `/numbeo/cost-of-living/city/{slug}` for two
  cities, diff rent/groceries/transport line items.
- **Supplier research:** `/importyeti/search` for a brand, then
  `/importyeti/company` for their shipment history and known suppliers.

## Notes & limits

- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.
  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).
- **Public data only** — only public, robots-permitting pages are scraped;
  respect each site's terms of use.
- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.
- **`/web/scrape`, `/extract`, and `/web/techstack` take flat top-level
  fields**, live-verified (`url`, `formats` for scrape; `url`, `schema` for
  extract; `url` for techstack) — the tool catalog's `scrapeOption`/
  `extractOption`/`request` names describe the body's *purpose*, not a
  wrapper key to nest under. Less-common fields (`render`, `only_main_content`,
  a full JSON Schema for `/extract`) aren't listed in the tool schema either —
  confirm those at [crawlora.net/docs](https://crawlora.net/docs?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills)
  or the [playground](https://crawlora.net/playground?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills) before relying on them.
- ImportYeti and SimilarWeb data reflect each provider's own refresh cadence, not real-time.

Files in this skill

  • SKILL.md5.9 KB
  • reference/endpoints.md12.1 KB
  • scripts/crawlora.sh1.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.