NOTE : this SDK will still work but is no longer maintained. Please check one of the alternative SDKs : Java, Python or Golang.
NamSor API v2 : enpoints to process personal names (gender, cultural origin or ethnicity) in all alphabets or languages. Use GET methods for small tests, but prefer POST methods for higher throughput (batch processing of up to 100 names at a time). Need something you can't find here? We have many more features coming soon. Let us know, we'll do our best to add it!
This API client was generated by the OpenAPI Generator project. By using the OpenAPI spec from a remote server, you can easily generate an API client.
- API version: 2.0.10
- Package version: 2.1.0
- Build package: org.openapitools.codegen.languages.RClientCodegen For more information, please visit http://www.namsor.com/
Install the dependencies
install.packages("jsonlite")
install.packages("httr")
install.packages("base64enc")
git clone https://github.com/namsor/namsor-r-sdk2
cd namsor-r-sdk2
R CMD build .
R CMD check namsor_2.1.0.tar.gz
R CMD INSTALL namsor_2.1.0.tar.gz
install.packages("namsor")
To install directly from Github, use devtools
:
install.packages("devtools")
library(devtools)
install_github("namsor/namsor-r-sdk2")
library(namsor)
var.first.name <- 'John' # character |
var.last.name <- 'Smith' # character |
var.country.iso2 <- 'US' # character |
#Infer the likely gender of a name, given a local context (ISO2 country code).
api.instance <- PersonalApi$new()
# Configure API key authorization: api_key
api.instance$apiClient$apiKeys['X-API-KEY'] <- '83ad28e3b3f92de1494181624864bec6';
result <- api.instance$GenderGeo(var.first.name, var.last.name, var.country.iso2)
dput(result)
print(result)
#prepare workspace
if(!'devtools' %in% installed.packages()){
install.packages(devtools)
}
if(!'readr' %in% installed.packages()){
install.packages("readr")
}
if(!'namsor' %in% installed.packages()){
install_github("namsor/namsor-r-sdk2")
}
#call packages
library(devtools)
library(namsor)
library(readr)
#call api
httr::set_config(httr::config(ssl_verifypeer = 0L))
api.instance <- PersonalApi$new()
api.instance$apiClient$apiKeys['X-API-KEY'] <- '83ad28e3b3f92de1494181624864bec6';
#call function
extractor <- function(names){
### Function calls api to assign gender by attributes ###
#Input:
#names - data.frame with 4 columns:
# 1. id(char)
# 2.first name(char)
# 3. second name(char)
# 4. country(char)
#Output:
#names - data.frame with 5 columns:
# 1. id(char)
# 2.first name(char)
# 3. second name(char)
# 4. country(char)
# 5. gender(char)
## SPLIT TO LIST
names_list <- split(names,
factor(rep(seq(ceiling(nrow(names)/100)),
each = 100)[1:nrow(names)]))
## ADD ID
names_list <- lapply(names_list, function(x){
data.frame('new_id' = seq(nrow(x)),
'id' = x[, 1],
'first_name' = x[, 2],
'last_name' = x[, 3],
'country' = x[, 4])
})
#create r_gender
r_gender <- lapply(names_list, function(x){
apply(x, 1, function(y){PersonalNameGeoIn$new(as.character(y[1]),y[3], y[4])})
})
#combine
r_gender <- lapply(r_gender, function(x){c(x)})
#create var gender
var_gender <- lapply(r_gender, function(x){
BatchPersonalNameGeoIn$new(personalNames = x)})
#call api
api.instance <- PersonalApi$new()
api.instance$apiClient$apiKeys['X-API-KEY'] <- '83ad28e3b3f92de1494181624864bec6';
#get result
result_gender <- lapply(var_gender,
function(x){
api.instance$GenderFullGeoBatch(
batch.personal.name.geo.in=x)})
#extract gender
gender <- lapply(result_gender, function(x){lapply(x$personalNames,
function(y){y$likelyGender})})
#add gender
names$gender <- unlist(gender)
#return
return(names)
}
#load small data
df1 <- read.csv('example2_csv.csv', stringsAsFactors = FALSE)
#convert to char
df1[, 1] <- sapply(df1[, 1], as.character)
#call function
df1_with_names <- extractor(df1)
#load big data
df2 <- data.frame(read_delim("example1_pipe_input.txt",
"|", escape_double = FALSE, trim_ws = TRUE,
col_names = FALSE))
#all char
str(df2)
#call function
df2_with_names <- extractor(df2)
All URIs are relative to https://v2.namsor.com/NamSorAPIv2
Class | Method | HTTP request | Description |
---|---|---|---|
AdminApi | AddCredits | GET /api2/json/addCredits/{apiKey}/{usageCredits}/{userMessage} | Add usage credits to an API Key. |
AdminApi | Anonymize | GET /api2/json/anonymize/{source}/{anonymized} | Activate/deactivate anonymization for a source. |
AdminApi | ApiStatus | GET /api2/json/apiStatus | Prints the current status of the classifiers. |
AdminApi | ApiUsage | GET /api2/json/apiUsage | Print current API usage. |
AdminApi | ApiUsageHistory | GET /api2/json/apiUsageHistory | Print historical API usage. |
AdminApi | ApiUsageHistoryAggregate | GET /api2/json/apiUsageHistoryAggregate | Print historical API usage (in an aggregated view, by service, by day/hour/min). |
AdminApi | AvailablePlans | GET /api2/json/availablePlans | List all available plans in the default currency (usd). |
AdminApi | AvailablePlans1 | GET /api2/json/availablePlans/{token} | List all available plans in the user's preferred currency. |
AdminApi | AvailableServices | GET /api2/json/apiServices | List of API services and usage cost in Units (default is 1=ONE Unit). |
AdminApi | BillingCurrencies | GET /api2/json/billingCurrencies | List possible currency options for billing (USD, EUR, GBP, ...) |
AdminApi | BillingHistory | GET /api2/json/billingHistory/{token} | Read the history billing information (invoices paid via Stripe or manually). |
AdminApi | BillingInfo | GET /api2/json/billingInfo/{token} | Read the billing information (company name, address, phone, vat ID) |
AdminApi | Charge | POST /api2/json/charge | Create a Stripe Customer, based on a payment card token (from secure StripeJS) and email. |
AdminApi | CorporateKey | GET /api2/json/corporateKey/{apiKey}/{corporate} | Setting an API Key to a corporate status. |
AdminApi | DebugLevel | GET /api2/json/debugLevel/{logger}/{level} | Update debug level for a classifier |
AdminApi | Flush | GET /api2/json/flush | Flush counters. |
AdminApi | InvalidateCache | GET /api2/json/invalidateCache | Invalidate system caches. |
AdminApi | Learnable | GET /api2/json/learnable/{source}/{learnable} | Activate/deactivate learning from a source. |
AdminApi | NamsorCounter | GET /api2/json/namsorCounter | Get the overall API counter |
AdminApi | PaymentInfo | GET /api2/json/paymentInfo/{token} | Get the Stripe payment information associated with the current google auth session token. |
AdminApi | ProcureKey | GET /api2/json/procureKey/{token} | Procure an API Key (sent via Email), based on an auth token. Keep your API Key secret. |
AdminApi | RedeployUI | GET /api2/json/redeployUI | Redeploy UI from current dev branch. |
AdminApi | RedeployUI1 | GET /api2/json/redeployUI/{live} | Redeploy UI from current dev branch. |
AdminApi | RemoveUserAccount | GET /api2/json/removeUserAccount/{token} | Remove the user account. |
AdminApi | RemoveUserAccountOnBehalf | GET /api2/json/removeUserAccountOnBehalf/{apiKey} | Remove (on behalf) a user account. |
AdminApi | Shutdown | GET /api2/json/shutdown | Stop learning and shutdown system. |
AdminApi | SoftwareVersion | GET /api2/json/softwareVersion | Get the current software version |
AdminApi | SourceStats | GET /api2/json/sourceStats/{source} | Print basic source statistics. |
AdminApi | Stats | GET /api2/json/stats | Print basic system statistics. |
AdminApi | StripeConnect | GET /api2/json/stripeConnect | Connects a Stripe Account. |
AdminApi | SubscribePlan | GET /api2/json/subscribePlan/{planName}/{token} | Subscribe to a give API plan, using the user's preferred or default currency. |
AdminApi | SubscribePlanOnBehalf | GET /api2/json/subscribePlanOnBehalf/{planName}/{apiKey} | Subscribe to a give API plan, using the user's preferred or default currency (admin only). |
AdminApi | TaxonomyClasses | GET /api2/json/taxonomyClasses/{classifierName} | Print the taxonomy classes valid for the given classifier. |
AdminApi | UpdateBillingInfo | POST /api2/json/updateBillingInfo/{token} | Sets or update the billing information (company name, address, phone, vat ID) |
AdminApi | UpdateLimit | GET /api2/json/updateLimit/{usageLimit}/{hardOrSoft}/{token} | Modifies the hard/soft limit on the API plan's overages (default is 0$ soft limit). |
AdminApi | UpdatePaymentDefault | GET /api2/json/updatePaymentDefault/{defautSourceId}/{token} | Update the default Stripe card associated with the current google auth session token. |
AdminApi | UserInfo | GET /api2/json/userInfo/{token} | Get the user profile associated with the current google auth session token. |
AdminApi | VerifyEmail | GET /api2/json/verifyEmail/{emailToken} | Verifies an email, based on token sent to that email |
AdminApi | VerifyRemoveEmail | GET /api2/json/verifyRemoveEmail/{emailToken} | Verifies an email, based on token sent to that email |
AdminApi | Vet | GET /api2/json/vetting/{source}/{vetted} | Vetting of a source. |
ChineseApi | ChineseNameCandidates | GET /api2/json/chineseNameCandidates/{chineseSurnameLatin}/{chineseGivenNameLatin} | Identify Chinese name candidates, based on the romanized name ex. Wang Xiaoming |
ChineseApi | ChineseNameCandidatesBatch | POST /api2/json/chineseNameCandidatesBatch | Identify Chinese name candidates, based on the romanized name (firstName = chineseGivenName; lastName=chineseSurname), ex. Wang Xiaoming |
ChineseApi | ChineseNameCandidatesGenderBatch | POST /api2/json/chineseNameCandidatesGenderBatch | Identify Chinese name candidates, based on the romanized name (firstName = chineseGivenName; lastName=chineseSurname) ex. Wang Xiaoming. |
ChineseApi | ChineseNameGenderCandidates | GET /api2/json/chineseNameGenderCandidates/{chineseSurnameLatin}/{chineseGivenNameLatin}/{knownGender} | Identify Chinese name candidates, based on the romanized name ex. Wang Xiaoming - having a known gender ('male' or 'female') |
ChineseApi | ChineseNameMatch | GET /api2/json/chineseNameMatch/{chineseSurnameLatin}/{chineseGivenNameLatin}/{chineseName} | Return a score for matching Chinese name ex. 王晓明 with a romanized name ex. Wang Xiaoming |
ChineseApi | ChineseNameMatchBatch | POST /api2/json/chineseNameMatchBatch | Identify Chinese name candidates, based on the romanized name (firstName = chineseGivenName; lastName=chineseSurname), ex. Wang Xiaoming |
ChineseApi | GenderChineseName | GET /api2/json/genderChineseName/{chineseName} | Infer the likely gender of a Chinese full name ex. 王晓明 |
ChineseApi | GenderChineseNameBatch | POST /api2/json/genderChineseNameBatch | Infer the likely gender of up to 100 full names ex. 王晓明 |
ChineseApi | GenderChineseNamePinyin | GET /api2/json/genderChineseNamePinyin/{chineseSurnameLatin}/{chineseGivenNameLatin} | Infer the likely gender of a Chinese name in LATIN (Pinyin). |
ChineseApi | GenderChineseNamePinyinBatch | POST /api2/json/genderChineseNamePinyinBatch | Infer the likely gender of up to 100 Chinese names in LATIN (Pinyin). |
ChineseApi | ParseChineseName | GET /api2/json/parseChineseName/{chineseName} | Infer the likely first/last name structure of a name, ex. 王晓明 -> 王(surname) 晓明(given name) |
ChineseApi | ParseChineseNameBatch | POST /api2/json/parseChineseNameBatch | Infer the likely first/last name structure of a name, ex. 王晓明 -> 王(surname) 晓明(given name). |
ChineseApi | PinyinChineseName | GET /api2/json/pinyinChineseName/{chineseName} | Romanize the Chinese name to Pinyin, ex. 王晓明 -> Wang (surname) Xiaoming (given name) |
ChineseApi | PinyinChineseNameBatch | POST /api2/json/pinyinChineseNameBatch | Romanize a list of Chinese name to Pinyin, ex. 王晓明 -> Wang (surname) Xiaoming (given name). |
JapaneseApi | GenderJapaneseNameFull | GET /api2/json/genderJapaneseNameFull/{japaneseName} | Infer the likely gender of a Japanese full name ex. 王晓明 |
JapaneseApi | GenderJapaneseNameFullBatch | POST /api2/json/genderJapaneseNameFullBatch | Infer the likely gender of up to 100 full names |
JapaneseApi | GenderJapaneseNamePinyin | GET /api2/json/genderJapaneseName/{japaneseSurname}/{japaneseGivenName} | Infer the likely gender of a Japanese name in LATIN (Pinyin). |
JapaneseApi | GenderJapaneseNamePinyinBatch | POST /api2/json/genderJapaneseNameBatch | Infer the likely gender of up to 100 Japanese names in LATIN (Pinyin). |
JapaneseApi | JapaneseNameKanjiCandidates | GET /api2/json/japaneseNameKanjiCandidates/{japaneseSurnameLatin}/{japaneseGivenNameLatin} | Identify japanese name candidates in KANJI, based on the romanized name ex. Yamamoto Sanae |
JapaneseApi | JapaneseNameKanjiCandidatesBatch | POST /api2/json/japaneseNameKanjiCandidatesBatch | Identify japanese name candidates in KANJI, based on the romanized name (firstName = japaneseGivenName; lastName=japaneseSurname), ex. Yamamoto Sanae |
JapaneseApi | JapaneseNameLatinCandidates | GET /api2/json/japaneseNameLatinCandidates/{japaneseSurnameKanji}/{japaneseGivenNameKanji} | Romanize japanese name, based on the name in Kanji. |
JapaneseApi | JapaneseNameLatinCandidatesBatch | POST /api2/json/japaneseNameLatinCandidatesBatch | Romanize japanese names, based on the name in KANJI |
JapaneseApi | JapaneseNameMatch | GET /api2/json/japaneseNameMatch/{japaneseSurnameLatin}/{japaneseGivenNameLatin}/{japaneseName} | Return a score for matching Japanese name in KANJI ex. 山本 早苗 with a romanized name ex. Yamamoto Sanae |
JapaneseApi | JapaneseNameMatchBatch | POST /api2/json/japaneseNameMatchBatch | Return a score for matching a list of Japanese names in KANJI ex. 山本 早苗 with romanized names ex. Yamamoto Sanae |
JapaneseApi | JapaneseNameMatchFeedbackLoop | GET /api2/json/japaneseNameMatchFeedbackLoop/{japaneseSurnameLatin}/{japaneseGivenNameLatin}/{japaneseName} | [CREDITS 1 UNIT] Feedback loop to better perform matching Japanese name in KANJI ex. 山本 早苗 with a romanized name ex. Yamamoto Sanae |
JapaneseApi | ParseJapaneseName | GET /api2/json/parseJapaneseName/{japaneseName} | Infer the likely first/last name structure of a name, ex. 山本 早苗 or Yamamoto Sanae |
JapaneseApi | ParseJapaneseNameBatch | POST /api2/json/parseJapaneseNameBatch | Infer the likely first/last name structure of a name, ex. 山本 早苗 or Yamamoto Sanae |
PersonalApi | Country | GET /api2/json/country/{personalNameFull} | [USES 10 UNITS PER NAME] Infer the likely country of residence of a personal full name, or one surname. Assumes names as they are in the country of residence OR the country of origin. |
PersonalApi | CountryBatch | POST /api2/json/countryBatch | [USES 10 UNITS PER NAME] Infer the likely country of residence of up to 100 personal full names, or surnames. Assumes names as they are in the country of residence OR the country of origin. |
PersonalApi | Diaspora | GET /api2/json/diaspora/{countryIso2}/{firstName}/{lastName} | [USES 20 UNITS PER NAME] Infer the likely ethnicity/diaspora of a personal name, given a country of residence ISO2 code (ex. US, CA, AU, NZ etc.) |
PersonalApi | DiasporaBatch | POST /api2/json/diasporaBatch | [USES 20 UNITS PER NAME] Infer the likely ethnicity/diaspora of up to 100 personal names, given a country of residence ISO2 code (ex. US, CA, AU, NZ etc.) |
PersonalApi | Gender | GET /api2/json/gender/{firstName}/{lastName} | Infer the likely gender of a name. |
PersonalApi | GenderBatch | POST /api2/json/genderBatch | Infer the likely gender of up to 100 names, detecting automatically the cultural context. |
PersonalApi | GenderFull | GET /api2/json/genderFull/{fullName} | Infer the likely gender of a full name, ex. John H. Smith |
PersonalApi | GenderFullBatch | POST /api2/json/genderFullBatch | Infer the likely gender of up to 100 full names, detecting automatically the cultural context. |
PersonalApi | GenderFullGeo | GET /api2/json/genderFullGeo/{fullName}/{countryIso2} | Infer the likely gender of a full name, given a local context (ISO2 country code). |
PersonalApi | GenderFullGeoBatch | POST /api2/json/genderFullGeoBatch | Infer the likely gender of up to 100 full names, with a given cultural context (country ISO2 code). |
PersonalApi | GenderGeo | GET /api2/json/genderGeo/{firstName}/{lastName}/{countryIso2} | Infer the likely gender of a name, given a local context (ISO2 country code). |
PersonalApi | GenderGeoBatch | POST /api2/json/genderGeoBatch | Infer the likely gender of up to 100 names, each given a local context (ISO2 country code). |
PersonalApi | Origin | GET /api2/json/origin/{firstName}/{lastName} | [USES 10 UNITS PER NAME] Infer the likely country of origin of a personal name. Assumes names as they are in the country of origin. For US, CA, AU, NZ and other melting-pots : use 'diaspora' instead. |
PersonalApi | OriginBatch | POST /api2/json/originBatch | [USES 10 UNITS PER NAME] Infer the likely country of origin of up to 100 names, detecting automatically the cultural context. |
PersonalApi | ParseName | GET /api2/json/parseName/{nameFull} | Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John. |
PersonalApi | ParseNameBatch | POST /api2/json/parseNameBatch | Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John. |
PersonalApi | ParseNameGeo | GET /api2/json/parseName/{nameFull}/{countryIso2} | Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John. For better accuracy, provide a geographic context. |
PersonalApi | ParseNameGeoBatch | POST /api2/json/parseNameGeoBatch | Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John. Giving a local context improves precision. |
PersonalApi | ParsedGenderBatch | POST /api2/json/parsedGenderBatch | Infer the likely gender of up to 100 fully parsed names, detecting automatically the cultural context. |
PersonalApi | ParsedGenderGeoBatch | POST /api2/json/parsedGenderGeoBatch | Infer the likely gender of up to 100 fully parsed names, detecting automatically the cultural context. |
PersonalApi | UsRaceEthnicity | GET /api2/json/usRaceEthnicity/{firstName}/{lastName} | [USES 10 UNITS PER NAME] Infer a US resident's likely race/ethnicity according to US Census taxonomy W_NL (white, non latino), HL (hispano latino), A (asian, non latino), B_NL (black, non latino). |
PersonalApi | UsRaceEthnicityBatch | POST /api2/json/usRaceEthnicityBatch | [USES 10 UNITS PER NAME] Infer up-to 100 US resident's likely race/ethnicity according to US Census taxonomy. |
PersonalApi | UsRaceEthnicityZIP5 | GET /api2/json/usRaceEthnicityZIP5/{firstName}/{lastName}/{zip5Code} | [USES 10 UNITS PER NAME] Infer a US resident's likely race/ethnicity according to US Census taxonomy, using (optional) ZIP5 code info. Output is W_NL (white, non latino), HL (hispano latino), A (asian, non latino), B_NL (black, non latino). |
PersonalApi | UsZipRaceEthnicityBatch | POST /api2/json/usZipRaceEthnicityBatch | [USES 10 UNITS PER NAME] Infer up-to 100 US resident's likely race/ethnicity according to US Census taxonomy, with (optional) ZIP code. |
SocialApi | PhoneCode | GET /api2/json/phoneCode/{firstName}/{lastName}/{phoneNumber} | [USES 11 UNITS PER NAME] Infer the likely country and phone prefix, given a personal name and formatted / unformatted phone number. |
SocialApi | PhoneCodeBatch | POST /api2/json/phoneCodeBatch | [USES 11 UNITS PER NAME] Infer the likely country and phone prefix, of up to 100 personal names, detecting automatically the local context given a name and formatted / unformatted phone number. |
SocialApi | PhoneCodeGeo | GET /api2/json/phoneCodeGeo/{firstName}/{lastName}/{phoneNumber}/{countryIso2} | [USES 11 UNITS PER NAME] Infer the likely phone prefix, given a personal name and formatted / unformatted phone number, with a local context (ISO2 country of residence). |
SocialApi | PhoneCodeGeoBatch | POST /api2/json/phoneCodeGeoBatch | [USES 11 UNITS PER NAME] Infer the likely country and phone prefix, of up to 100 personal names, with a local context (ISO2 country of residence). |
SocialApi | PhoneCodeGeoFeedbackLoop | GET /api2/json/phoneCodeGeoFeedbackLoop/{firstName}/{lastName}/{phoneNumber}/{phoneNumberE164}/{countryIso2} | [CREDITS 1 UNIT] Feedback loop to better infer the likely phone prefix, given a personal name and formatted / unformatted phone number, with a local context (ISO2 country of residence). |
- APIBillingPeriodUsageOut
- APIClassifierOut
- APIClassifierTaxonomyOut
- APIClassifiersStatusOut
- APICounterV2Out
- APIKeyOut
- APIPeriodUsageOut
- APIPlanOut
- APIPlanSubscriptionOut
- APIPlansOut
- APIServiceOut
- APIServicesOut
- APIUsageAggregatedOut
- BatchFirstLastNameDiasporaedOut
- BatchFirstLastNameGenderIn
- BatchFirstLastNameGenderedOut
- BatchFirstLastNameGeoIn
- BatchFirstLastNameGeoZippedIn
- BatchFirstLastNameIn
- BatchFirstLastNameOriginedOut
- BatchFirstLastNamePhoneCodedOut
- BatchFirstLastNamePhoneNumberGeoIn
- BatchFirstLastNamePhoneNumberIn
- BatchFirstLastNameUSRaceEthnicityOut
- BatchMatchPersonalFirstLastNameIn
- BatchNameMatchCandidatesOut
- BatchNameMatchedOut
- BatchParsedFullNameGeoIn
- BatchParsedFullNameIn
- BatchPersonalNameGenderedOut
- BatchPersonalNameGeoIn
- BatchPersonalNameGeoOut
- BatchPersonalNameIn
- BatchPersonalNameParsedOut
- BillingHistoryOut
- BillingInfoInOut
- CacheMetricsOut
- ClassifierMetricsOut
- CurrenciesOut
- DeployUIOut
- ExpectedClassMetricsOut
- FeedbackLoopOut
- FirstLastNameDiasporaedOut
- FirstLastNameGenderIn
- FirstLastNameGenderedOut
- FirstLastNameGeoIn
- FirstLastNameGeoZippedIn
- FirstLastNameIn
- FirstLastNameOriginedOut
- FirstLastNameOut
- FirstLastNamePhoneCodedOut
- FirstLastNamePhoneNumberGeoIn
- FirstLastNamePhoneNumberIn
- FirstLastNameUSRaceEthnicityOut
- InlineObject
- InvoiceItemOut
- InvoiceOut
- MatchPersonalFirstLastNameIn
- NamSorCounterOut
- NameMatchCandidateOut
- NameMatchCandidatesOut
- NameMatchedOut
- ParsedFullNameGeoIn
- ParsedFullNameIn
- PersonalNameGenderedOut
- PersonalNameGeoIn
- PersonalNameGeoOut
- PersonalNameIn
- PersonalNameParsedOut
- RomanizedNameOut
- SoftwareVersionOut
- SourceDetailedMetricsOut
- SourceMetricsOut
- StripeCardOut
- StripeCustomerOut
- SystemMetricsOut
- UserInfoOut
- Type: API key
- API key parameter name: X-API-KEY
- Location: HTTP header