Skip to content
Scrape Wikipedia for visa requirements
TypeScript JavaScript Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist/output Travis update: Mar 2019 (Build 29) Mar 27, 2019
input
models Migration to Typescript Apr 18, 2018
utils [Fix] Added new visa statuses Feb 6, 2019
.eslintrc.json
.gitignore
.travis-push.sh
.travis.yml
LICENCE
README.md
index.js [Index.js] Added own country to "not-required" list Jul 7, 2016
index.ts
package-lock.json
package.json
tsconfig.json
tslint.json

README.md

Visa Requirements Wikipedia Scraper

Scrapes the visa requirements for citizens of all countries and creates arrays of countries for each visa type. This data is used by Nomad Couple - https://nomadcouple.vinaygopinath.me

Visa types

  • required: Visa required
  • not-required: Visa not required for a certain period, or freedom of movement
  • evisa: Electronic visa/Online visa/ETA
  • on-arrival: Visa on arrival
  • refused: Admission refused/Travel banned
  • unknown: Visa status could not be parsed by this scraper

Example

Scraping the Visa requirements for Polish citizens Wikipedia page creates dist/output/poland.json with the JSON in the following format. (Countries that have a visa note available on Wikipedia may have a "note" property)

  {
    "required": [
      {
        "name": "Afghanistan"
      },
      {
        "name": "Algeria"
      },
      ...
    ],
    "not-required": [
      {
        "name": "Albania",
        "note": "90 days; ID card valid"
      },
      {
        "name": "Andorra",
        "note": "ID card valid"
      },
      ...
    ],
    "evisa": [
      {
        "name": "Australia",
        "note": "90 days on each visit in 12-month period if granted"
      },
      {
        "name": "Ivory Coast",
        "note": "3 months; eVisa holders must arrive via Port Bouet Airport."
      },
      ...
    ],
    "on-arrival": [
      {
        "name": "Bahrain",
        "note": "14 days. Visa is also obtainable online."
      },
      {
        "name": "Bangladesh",
        "note": "30 days"
      },
      ...
    ],
    "refused": [],
    "unknown": []
  }

Build

npm run scrape

Licence

MIT Licence

You can’t perform that action at this time.