Skip to main
Resume Parser
What is a resume/CV parser?
A resume parser (CV parser) is used within human resource software and on recruitment websites, job boards and candidate application portals to simplify and accelerate the application process. It does so by extracting and classifying thousands of attributes about the candidate. A resume parser also provides a foundation for the semantic searching of candidate data because the parser classifies data as to its meaning, and assigns values to each data point such as time or recency. The parser identifies hundreds of different kinds of information within a resume or CV and clearly tags each data point (for example: first name, last name, street address, city, educational degrees, employers, skills, etc.). Sovren has been the industry innovator in building this technology for over two decades.
How do I use the Resume Parser?
The Resume Parser is available via our SaaS service's REST API. Using our public SaaS service requires a developer to integrate to a single API endpoint. To learn more about how to make this API call, refer to our documentation.
How are the results structured?
The REST API returns results in JSON format following the schema found in our documentation. We do not support excel files or csv output.
Can I try the Sovren Resume Parser for free?
Absolutely! You can sign up for a free trial and test with our UI or via API. This gives you access to test through our human demo interface, or you can make API calls to our SaaS REST API using the supplied credentials.
What resume formats can the sovren resume parsing Saas process?
Essentially any non-image resume and CV format, including all of the popular job board formats and social and professional networks.
Does the SaaS resume parser store my resumes?
No, the SaaS resume parser does not store any resumes. All parsing is done in-memory so there is never any data written to a file system or database.
Does the Sovren parser add any intelligence to the parsed resume?
"Yes, the parser constructs a summary of who the candidate is today, a management summary, average time at each employer, etc. (more info)"
How do I process batch transactions?
Routine parsing of batches of less than 100,000 documents MUST always be done serially (one-at-a-time). To read more about batches and concurrency, see here.
Document Last Modified Date (formerly Revision Date)
Document Last Modified Dates are extremely important for accuracy, and required for every resume parsing transaction. DO NOT MESS THIS UP OR ALL PROCESSING WILL BE WRONG AND WASTED $. For more information, go here.
I am getting unexpected results. What should I check for?

See Best Practices to Test Resume Parsing Software and make sure you are following each of the rules for accurately testing resume parsing. Also review documents you shouldn't parse to get a better understanding of situations that we can predict to not give satisfactory results.

Look at the ConvertedText. Resumes that may seem very clear when looking at the original file may yield unexpected results. In many cases, this is due to the conversion from the original file format to plain text format. The most common issues are:

  • PDF documents
  • MS Word Templates
  • Images (e.g., scanned resumes)

If you are parsing a PDF document, it may be corrupted. To check this, open the file with Adobe Reader, then choose File => Save As Text. Look at that extracted text and if it appears jumbled, then the PDF is corrupted and there is nothing that can be done with this file (see Problems With PDF Format).

If you are parsing a foreign language resume (e.g. Chinese) and seeing values in your saved JSON such as "????", this means the file was parsed correctly but you have handled the reading/saving of the response incorrectly. The problem is in how you (or your REST/HTTP library) are reading or processing the HTTP response content. The response is UTF-8 encoded, but you are reading it (or transforming it or saving it) with an ASCII or ANSI encoding somewhere along the way.

Read through Sovren's Tips for Electronic Resumes for more helpful tips.

AI Matching
What is the difference between search, match, and bimetric scoring?
Matching is a fully automated process. You give the engine a document (a job or a resume) and tell it to bring you back the best matches (jobs or resumes). The engine determines the relevant criteria and returns the best candidates. Matching allows for humans to tell the engine what types of data are important using category weights while still letting Sovren do the heavy lifting of generating the queries and scoring the results.

Searching uses a human-specified query. The recruiter tells the engine exactly what she wants, and the engine brings back documents that match those specific criteria.

Bimetric scoring is both a feature and a product. Bimetric scoring as a feature is the process by which our matching engine looks at two directions of fit, such as (1) how well does the candidate fit the job? (2) how well does the job fit the candidate? Bimetric scoring as a product is used to score a user-determined set of documents. For example, using the Bimetric Scoring product, you can see exactly how a set of 50 applicants for a job score against that job.
Does the Sovren matching engine learn from user interaction?
No, because that is a terrible practice! Our engine doesn't learn based on your recruiter's clicks because there is no way to know why the user clicked on a profile to review, or what they really thought about what they saw. Systems that "learn" from recruiter clicks quickly go off the rails as the system "learns" from poor-performers and makes invalid assumptions about intentions. Our algorithms are curated by our team of experts and are explainable down to each detail.
How is PII protected and ignored in your algorithm?
Parsed documents that have been sent to the API to be indexed are scrubbed of ALL personal data and personally identifiable information (PII) and then stored in the specified index. This security measure also assists in removing bias from the recruiting process. If you want to simply search for a candidate by name, use your own database.
Can I index custom data not found on a resume?
Yes. You can index a wide variety of data that you define and that you use in narrowing or widening result sets.
How can I test AI Matching?
You can test bimetric scoring, the same algorithm used in matching, on our demo site. To test matching at scale, reach out to to discuss setting up a test environment using real data.
Matching UI
Why am I prompted to login?
When creating a Matching UI session, you should include each user's username as part of the UIOptions. If done correctly, they will never be asked for credentials! This approach is strongly advised!!! You should not share or reuse sessions and they should be loaded immediately after they are generated. If you choose to use a process where you don't pass the username as part of the UIOptions, users will be asked to login each time they use the Matching UI. They can use the 'Forgot Password' option on the portal login screen ( to set up a password. You can also set a password for them from the User Management screen if your process calls for it.
How many documents does Matching UI show?
The Matching UI results are limited to 50 documents. No human looks at more than 50 documents for a single search/match, so there is no reason to include excess data on the screen. If they don't quickly find what they are looking in the result set, they should tweak the query to better align with what they are looking for.
What is the cost to parse a resume/CV?
All Sovren SaaS API transactions consume credits that are purchased in advance. Parsing transactions consume 1 credit, but when your account also subscribes to other Sovren products the cost of those products is wrapped into an additional cost per parse. For more information on transactions costs, refer to our documentation.
What happens if I parse more than the amount of credits purchased?
Sovren provides several ways to prevent you from unintentionally running out of credits.

The best way to ensure that you always have sufficient credits is to purchase a monthly subscription. If you use all your credits before the month ends, a new purchase will be automatically initiated, with no intervention needed from you.

There are other safeguards built in:
1) In every API response, we provide how many credits are remaining. You should develop an alert to notify someone when your credits reach a certain threshold.
2) Sovren will notify you when your credits remaining drop to 15% of your annual usage. (This notification is only sent out once per day.)
3) Sovren will notify you when your credits reach 0. (This notification is only sent out once per day.)
We are a start up. Do you offer pricing for companies like mine?
Yes, Sovren has pricing plans geared towards every type of business. Our Accelerator Program is a great way to build your proof of concept at a very low cost. Once those credits are used, packages start at $99 per month, with volume-based discounts as your business grows.
What forms of payment do you accept?
We support credit cards (charged via stripe), stripe accounts, PayPal, wire transfers, and ACH.
Is there a way to auto-pay so I never run out of credits?
Yes! A monthly subscription provides a way for you to put a credit card on file and be auto-charged when you need more credits, either from usage or expiration. Review the subscription policy for more details.
Account Management
How do I know how many credits I have available in my SaaS account?
You can check your remaining SaaS credit balance by looking at the CreditsRemaining field returned with each API transaction. Also, you can track usage for your account in the Sovren Portal.
How do I enable or disable AI Matching?
The Accelerator Program for AI Matching provides an incredible one-time introductory discount on credits to allow you to test the Sovren AI Matching Engine. As described in the signup, we provided credits to parse and index 5,000 documents. Turning off AI Matching during the Accelerator program is not allowed, since testing AI Matching was the purpose of the program. When you decide to purchase additional credits, you will be given the option to disable AI Matching. Until then, we encourage you to take full advantage of everything AI Matching has to offer! Read our documentation to learn more about AI Matching.

If you aren't on the Accelerator Program, you can reach out to to enable AI Matching for your account. With AI Matching enabled on your account, the cost of each parse is 2 credits. Searching, matching, and index api calls don't cost per transaction, but are subject to the AUP. More information on transaction costs can be found here.
Will creating a sub-account effect the main account?
No, you will not see any changes to the existing account, indexes, or documents.
Will each sub-account have their own AccountId and ServiceKey?
Each sub-account will have its own AccountId and ServiceKey. Because you are providing the geocoding credentials, it is up to you if you want to use the same one or set up different credentials with your provider.
Can the parent account view sub-account AI Matching data (or vice-versa)?
No. All accounts should be treated as independent accounts that share credits. They cannot view each other's indexes or documents.
Does the Maximum Allowable Number of Concurrent Batch Transactions in your Acceptable Use Policy applicable per sub-account or does it apply to the traffic across all sub-accounts combined?
That amount is across all sub-accounts combined.
Ready to get started?

Sovren Accelerator Program

Parse, index, and search up to 2500 documents for $200
This is a great way to get started with Sovren. The accelerator program gives you full access to our parsing software and allows you to test our AI matching as well. This is a one-time purchase worth up to a $1000 value.
Group 23Unlimited matching transactions.*
Group 23Unlimited boolean text searching.*
Group 23Integration consulting services and support.
Group 23Full access to JAVA and .NET SDKs.
*All subject to the Acceptable Use Policy